Category Archives: Not Code

Working with the SKY Query API in Chimpegration

Blackbaud recently added the SKY Query API for Raiser’s Edge and Financial Edge. At first I was not really sure how this would be of benefit to our products. We have worked with Lists in Raiser’s Edge and on the database view we have generated static queries of records that have been processed. I never thought that we had a need for adding criteria to queries.

Now that I have seen the new Query API, I have been inspired.

How have we got around the lack of a query API so far?

In Chimpegration we push data from Raiser’s Edge to Mailchimp. In order to decide which records to push, we let the user select an NXT list that has previously been created. There are some issues with this.

  • Firstly, the list selection criteria is limited. The user cannot, for example, specify that a constituent with no email address or a blank email address should be ignored.
  • The list functionality does not allow you to choose specific output fields. We offer a limited range of fields that we think that the user may want to export.
  • The lists are static. If you want to update them, you can, but this prevents data being pushed to Mailchimp according to a schedule. (There are some workaround involving Queue but these are awkward).

How does the Query API solve this?

The query API allows you to programmatically list all queries and to load one of them in particular. You can then run the query and fetch the results. This makes it fully dynamic. Scheduled data exports to Mailchimp would be up to date with the latest information.

The user can choose the output data. Whereas previously they have been limited to the areas we offer the user, now they can choose any value available to them in a query. Most organisations won’t want to push a membership attribute or a gift notepad to Mailchimp but there is bound to be one out there that wants to do something like that or some other option that we had not considered. With the full range of output fields they are no longer restricted to what we offer them.

The same goes for criteria. Previously the user was restricted to the fields available in lists. Now the whole range of query fields can be a part of the criteria. If an organisation only wants to export constituents attending a specific event with a large t-shirt size, now they can!

What else can we do with Query API?

In Chimpegration Classic and in Importacular we look up constituents with criteria sets. It has been much simpler to look up constituents with a wide range of criteria. There is some scope for this based on the constituent list API endpoint. However, the Query API really gives this some muscle.

At first I thought that, even if we could do it, it would not be practical to create a query each time the user wanted to use criteria to search. We would end up creating a lot of queries saved in Raiser’s Edge. It is not certain that the user would have rights to delete a query. It just felt wrong.

However, the Query API includes the ability to generate a query on the fly. When including the filter, output fields and sort values in the json payload, the query can be run without explicitly saving it to the organisation’s environment. This is a real game changer.

The SKY API documentation does suggest that this should not be used instead of the constituent list and constituent search endpoints as they are optimised for search. However being able to search on more obscure areas of Raiser’s Edge certainly adds a lot of power to look up records that was previously missing.

When are we releasing the new Chimpegration functionality?

We are actively developing this functionality. However the Query API is still in preview so it is uncertain when this will be released. We may release it also with the caveat that our functionality is in preview and may break at any time (due to changes in the Query API). This is a matter of a few weeks though so watch this space for a demo!

Audit Trail Cloud doubles the areas tracked

Today we released a new version of Audit Trail Cloud and what a release it is!

New Tracked Areas

We have doubled the number of areas tracked. As well as constituent, gift, address, email, phones, online presence, prospect and solicit codes, you can now also track actions, relationships (both individual and organisational), constituent codes and constituent custom fields.

We said that as soon as Blackbaud released new webhooks we would release new areas to track additions, changes and deletions and that is exactly what we have done.

To complement the new areas, we have also added two new tiles. When looking at a specific action page or a specific gift page in the Raiser’s Edge web view, we now include a tile that shows the history of changes for that action or gift respectively. (You only see this if it has been turned on for your login in Tile Security under the Configuration area of the Audit Trail Viewer)

And More Too!…

A while back Blackbaud added the functionality to see who made a change to the record. This was a much sought after addition but it was not available for all records. The changed by id only comes through for constituents, gifts and addresses. This meant that for all the other areas, we were forced to simply write “Not Available”.

As part of this release, if a user has made a change to, say, a constituent and then to an email address, we will infer the changed by user from the constituent change by data. This is not an exact science as, in theory there are several possibilities. It could be that one person is changing the constituent and, unlikely as though it may seem, another goes and changes their email address. Alternatively the same person changes the email address before the constituent record. (Or the change is made so close together that the webhook for the email is fired before the webhook for the constituent even though the constituent is changed first). In this case we will still write “Not Available”

To make it clear, for inferred changes, the changed by user is given in italics and hovering over it will show the tooltip that the value is inferred.

Upgrade (or Purchase) Now!

If you are an existing user, you will be prompted to upgrade the next time you go into the Viewer. Just go into ZeidZone to download the latest configuration version.

If you are not an existing user then what are you waiting for?! Get in touch now

An Audit Trail Update

When we released Audit Trail Cloud we were not able to show the name of the person who made the change. This has been a big issue. However recently Blackbaud updated their webhook API. For some (but not all) webhooks, Blackbaud now send through the id of the person that made the change.

So what’s the problem?

Firstly not all the webhooks send through the person who made the change. At the time of writing, only the constituent, gift and address webhooks include the changed by id. This leaves the records such as email and phone without this information.

What is more, we are only given these for add and change webhooks but not delete. This leaves us not knowing who deleted records.

Which id are we given?

This is a curious one. We are given the database view id for a user. This id is not obviously visible anywhere in the application (You can see it in query if you look at the SQL). In order to convert the id to a username we have to use the new (at the time of writing) NXT Data Integration API. The Get Information about a User method let’s you get user detail based on the id.

One caveat with this whole API is that it requires the user calling it is an environment admin.

What’s Next For Audit Trail?

We know that some new webhooks are coming soon and as soon as they do we will incorporate them.

We are also looking at inferring the changed by user. If a change is made to a constituent and then soon after a change is made to their email, we infer that the same person made that change… Coming soon!

Moving over to SKY API






This blog has mainly consisted of the COM based RE7 API and my musings of all things Blackbaud related. I am sure that the latter will no doubt continue but I have realised for a while now that as time goes on the RE7 API is becoming less and less relevant (although not entirely so) and that there is a natural progression towards the SKY API.

In general there is probably less to be said about SKY API. Firstly Blackbaud have been doing a much better job at documenting it than they ever did with the RE7 API. They are also putting a lot more thought into it so that there are far fewer inconsistencies (so far at least) than there ever were with the RE7 API. Where there are difficult, new, areas they have written up good documentation or blog posts to explain. In short they have made my job here somewhat redundant… Well thanks a lot Blackbaud!

Actually, yes, thank you. I would much rather a clean usable API than one where I have to write up blog posts explaining how to do things. I am sure that there will be moments but there will quite possibly be fewer of them.

One topic that I think deserves some discussion though is the porting of existing functionality from RE7 to SKY. Those of us that have products written for RE7 are keen to see the functionality available on SKY in order that we can port the solutions over.

I have been very keen to transfer Chimpegration but one of the stumbling blocks has been the lack of bulk data processing on SKY. Specifically the ability to return filtered lists of constituents. On many platforms this means simply specifying a last data changed or a keyword search. On RE7 though it is possible to make use of a query to retrieve that information. The user would themselves set up the criteria in the query and the application would allow the user to select that query.

There is some discussion on the SKY API forums about how imperative it is that this be ported over to SKY and that we should be allowed to once again select an existing query.

Despite really needing this functionality for Chimpegration, I am not convinced that this is the best course of action for SKY. This new API should embrace a general approach to this problem. It cannot be based on RE7’s query module. There is definitely a need to generate lists based on complex filters and criteria and that should be exposed somehow to the developer community but to simply port the existing RE7 functionality to SKY would be short-sighted and not take into consideration the other applications what will one day make use of the same API. I want an API that will work with RE, BBCRM, ETap and others. To simply port queries to SKY would confuse the issue and make for an API that is not consistent.






Importacular Arrives on Blackbaud Hosting






When we released Importacular almost a year ago we broke the mould in how Raiser’s Edge importing tools worked.

Before that time it was:

  1. Export the data Eventbrite/Crowdrise/Classy/JustGiving/etc  ensuring that you export only the data you need from the last time you ran the process
  2. Try to remember where you saved the file
  3. Pick up the file
  4. Map the values from one very long list of Raiser’s Edge fields
  5. Import the data (fingers crossed)
  6. Map a second time to do another pass because not everything can be imported in one go.
  7. Panic because you still have to justify cost to your boss / the board

With Importacular:

  1. Pick the data source Eventbrite/Crowdrise/Classy/JustGiving/etc
  2. Set up your mapping conveniently split up into areas making importing constituents, relationships, relationships of those relationships, education records of those constituents with gifts (actually any number of layers of constituent relationships with their child records) surprisingly easy
  3. Import the data (once)
  4. Tell the board how you are going to spend all the extra money that you saved

The first year was a whirlwind.

It started with Eventbrite and Graduway, moved on to Hubspot, Constant Contact, Formstack, SurveyMonkey, Justgiving, WeDidIt, VineUp, Crowdrise and most recently DotMailer, Adestra, Classy, iSAMS and to come Almabase. (We shouldn’t forget the humble CSV and Excel file too)

With the ability to import on to constituent records and gift records entirely for free, we added relationships, education, actions, banks and financial accounts, participants, prospects and proposals, solicitors/canvassers and volunteers.

When we added the ability to schedule imports that left one gaping hole in the product that was ready to be filled.

When would it be available for Blackbaud hosted organisations and those that wish to move to NXT?

It took a while but we are really excited that Importacular is now available to all Raiser’s Edge users wherever they work.

If you would like to try an import then get in contact. Even if you are using another product give Importacular a go. It is, after all free to import on to constituents and gifts so what do you have to lose?

If you are hosted by blackbaud then request a trial

If you are self-hosted go ahead and download Importacular and get started for free:






What is the difference between Chimpegration and Online Express?






What is the difference between Chimpegration and Online Express?

We are big Blackbaud fans and love much of what Blackbaud produces. Online Express is no exception. The fact that there is one application that can ask for donations, handle event registrations, manage memberships as well as allowing you to send out targeted and personalised emails is amazing. What is even better is that it does so with a complete integration into The Raiser’s Edge. – WOW!

Continue reading What is the difference between Chimpegration and Online Express?






Just When You Thought Validatrix Could Not Get More Complicated…






One of the problems of offering a tool that can create custom business rules for almost any scenario is that it has to have a lot of functionality. As we developed Validatrix we realised that some of that functionality was missing so we added it on. The problem with that of course is that the more you add on the more complicated the application becomes.

We have attempted to remedy this by offering the Validatrix Query Converter which does a good job of converting queries into rules and is often a good starting point for expanding a rule further.

We realised that we had missed out on a piece of functionality that was preventing us from creating a rule with a specific scenario. It is possible to all sorts of logic within one rule. We can check if a field value is exactly the same as another, if it is not the same as if it is greater than or less than etc. Continue reading Just When You Thought Validatrix Could Not Get More Complicated…






Chimpegration on Blackbaud Hosted Raiser’s Edge (and NXT)






I cannot think how many times I have had to write back to a prospective client with the stock phrase “Unfortunately our products are not available on the Blackbaud hosted environment at the current time”.  The ground-breaking news is that after at least 7 years waiting in the wings, we are able to release one of our products on the Blackbaud hosted environment. (Finally I can updated my stock phrase)

When it was first released Chimpegration revolutionised the meaning of integration within The Raiser’s Edge world. It was the first app to fully embrace the potential of two separate platforms to transfer data between Raiser’s Edge and MailChimp. Unlike some integration applications it takes data directly from the source. Data flows from MailChimp via Chimpegration into The Raiser’ s Edge and back again. There is no need for any manual manipulation along the way. Chimpegration gives you a multitude of options to help smooth the different data points and ease the transition of information from MailChimp, an email marketing suite, to The Raiser’s Edge and donor management CRM system.

Azadi Sheridan, independent fundraising data expert, RE guru and former Blackbaud senior manager said,

‘Integration’ can mean different things for different products, but Chimpegration is the most complete and automated integration for MailChimp that I’ve seen for any fundraising database.

And now all of this is available to Blackbaud hosted clients too!

What does this mean for the future? One of the issues that many of the prospective clients faced and even our existing clients was whether they should invest in technology that is not available to them on NXT. They would put off a purchase or renewal decision because they wanted to wait and see what NXT would hold. RE7 has so much functionality but NXT looks amazing.  Having the best of both worlds is certainly a selling point for any organisation. With Chimpegration on the NXT hosted platform it is easier than ever to transition across to NXT and keep working with MailChimp.

So now you have heard all about it why not request a demo of Chimpegration.

Ready to take the plunge? Request a trial of Chimpegration on hosted.

If you are not hosted and have questions please get in contact too. Those who are not hosted by Blackbaud can also download and trial the Pro version of Chimpegration now from our Chimpegration page.






Validatrix Query Converter Makes it even easier to protect your data






When we first developed Validatrix we had a lofty ambition that users of Raiser’s Edge would be able to protect their records using any combination of business rules. Out of the box, RE allows you to make some fields required. If the whole organisation wants city to be a required field all you have to do is going to configuration and set that field to be required.

However there are many limitations with that. What if we are only working with email only records. We may not have a physical address for those constituents. Validatrix makes it possible to combine criteria to validate records.

(Do they have an address block: YES
OR
Do they have an a postal code: YES)
SO
DO they have a city:

No? Well show a message.

What we soon realised was that for simple scenarios it was not that difficult to create rules. We also realised that after much practise and taking a look at our Validatrix Recipes area on ZeidZone, it became easier. Those starting out or writing more complicate rules needed a little more help.

That is why we developed the Validatrix Query Converter. Most, if not all DBAs can write a regular RE query. If they can write a query to give all the records where a message would be shown then this tool can convert the query into a Validatrix rule.

I have to say straight up here that not every single scenario is covered. There are some things (not many) that query can do that cannot be done in a rule. (There are so very many more things that Validatrix rules can do that query can do!). However this should get the beginner and those that are working with complex rules onto the right track.

If you have any questions about this product then please do not hesitate to get in touch with us here.

 






Beyond Nines hosting becomes Concourse Hosting






We have been working with Glen at Beyond Nines for years now and just heard about how the hosting part of Beyond Nines is now becoming Concourse Hosting. At Beyond Nines Glen, Lisa and the team were the only dedicated company to host our products for their Raiser’s Edge clients. We have hopefully tried to make installing our products as easy as possible but we also know that sometimes it requires a skilled hand to get them to work in complex IT environments. That is why we know that we can rely on Concourse Hosting who just know how our plug-ins work and how to ensure that they run smoothly in their Raiser’s Edge setup. They currently host clients of ours using Audit Trail, Chimpegration, Importacular and The Mergician to name but a few.

For very many years now we had hoped that Blackbaud would let us into their hosting. With the move to NXT and away from the hosting of RE Classic customizations this is looking ever doubtful. However if you want the best of breed hosting and great products certainly take a look at Concourse:  https://www.concoursehost.com/