Bloomerang Automations: Zapier 201 [Webinar]
This webinar was part of a series hosted by Bloomerang, a Sidekick Solutions partner.
The connection of Bloomerang to Zapier, an automation platform, enables additional integrations that can be customized to meet your organization’s use case. Utilities in Zapier can support your organization in solving common integration challenges and create automations customized to your use case.
Instead of spending hours each month manually entering data between two or more systems or running tedious spreadsheet imports, let Zapier automation do the work for you. Zapier is an automation platform that connects to 5,000+ other apps and offers an all-in-one integration platform for automating your day to day workflows.
During this webinar, you will learn:
- Intro to Zapier
- When to explore Zapier automations
- Explore common integration challenges and solutions using Zapier utilities
- How to get started with Bloomerang and Zapier
Webinar transcript (not including Q&A):
Good afternoon, and welcome to Bloomerang Academy! Thank you for joining us. My name is Diana Otero, and I am the Product Marketing Manager at Bloomerang. You might recognize me from attending Bloomerang Academy classes or listening to our release and help videos.
Today, we’re exploring Bloomerang Automations: Zapier 201.
I’d like to introduce our presenter today, Jessie Gilchrist. Jessie is a Zapier Certified Expert and Bloomerang Integrations Consultant at Sidekick Solutions. Sidekick Solutions is a Bloomerang Partner, specializing in system automations for Bloomerang. Sidekick Solutions has been a Bloomerang user since 2013 and most recently was part of the Bloomerang team that launched the Bloomerang Zapier app.
We’re excited to have Jessie here today to share her expertise and explore Bloomerang integrations.
Thank you Diana. Hello everyone! It’s great to be here.
This webinar is the third in a series that is completing an incremental dive into Zapier integrations for Bloomerang.
If you were not able to attend our webinar last month that explored common automation opportunities for nonprofits or our Zapier 101 webinar two weeks ago, you can watch the recordings on Bloomerang’s Academy page or on its YouTube channel.
If you were unable to attend the Zapier 101 webinar, some of the concepts may feel a bit advanced. We recommend also watching the Zapier 101 webinar as it covers the foundational elements of Zapier and the Bloomerang Zapier app.
Coming up next, in August, we’re offering an Ask Me Anything style webinar where you can submit your questions about Zapier integrations and get a response from a Bloomerang and Zapier integration expert.
Our hope is that by the end of this webinar series, you’ll have a better understanding of how you can implement automations across your organization and attain outcomes that drive your mission and goals.
Our webinar today focuses on the utilities in Zapier that can be leveraged to customize your automations.
- Intro to Zapier
- When to pursue Zapier integrations
- Integration challenges and solutions
- Getting started with Zapier
Let’s take a quick poll to see how many of you attended the earlier webinars in this series.
Since there are a few of you who did not attend the earlier webinars, we want to do a quick overview of Zapier. If you attended the prior webinars, this will be a review.
Zapier is automation software. It sits in between your Bloomerang database and any other apps helping them to “talk” to each other. This can even come in the form of Bloomerang to Bloomerang automations to support operational tasks.
Bloomerang’s Zapier app extends the power of your database by enabling integrations with over 5,000 other apps in Zapier’s directory. And, Zapier was designed for anyone to build an integration. You don’t need to be a developer or know code to build an automation.
When we talk about Bloomerang integrations, there are two types we should differentiate between: native and Zapier.
Native integrations, often called “direct” integrations, are built within your Bloomerang software. These are often the most user-friendly form of integration and offer a standardized, templated sync of data between two systems.
The other option is pursuing custom integrations using Zapier. Zapier allows you to build custom workflows that align with your organization’s use case. Organizations pursue a custom Zapier integration when:
- No native integration exists
- Native integration does not align with organization’s use case
- High level of customization required
- Desired functionality is not provided in native integration
- Multi-app automations
Now, let’s dive into some common Bloomerang integration challenges and the Zapier utilities that can solve them.
How can I make sure the donation, interaction, or task in Bloomerang is created on the correct Constituent’s timeline?
The solution is dynamic mapping.
There are two ways to map fields in Zapier: hardcoding or custom mapping.
Hardcoding is when you type or select a static value in Zapier. This results in every record that is created (or updated) in your Zap being assigned the same value/data.
Custom mapping is dynamic. Data from the source app, or a prior action, is mapped to your action in Zapier. When the Zap runs, the data specifically related to that Zap run is mapped from the source to your target app.
There are a few common use cases in automations where dynamic mapping comes into play.
- Creating records tied to a specific constituent
- Updating an existing record
- Mapping one or more values from the source app to the target app
- Following formatting, conversions, or lookups
In Bloomerang automations, dynamic mapping is typically used to:
- Map the Constituent ID from the Find/Create Constituent search to the Bloomerang actions below:
- Create Donation
- Create Interaction
- Create Task
- Update Constituent
- Map values from source app to system or custom fields in Bloomerang
- Support mapping of multiple values to multi-select custom fields in Bloomerang
Let’s take a look at this in practice in a real Zap.
We are going to start by demoing how to dynamically map the Constituent ID returned by a Find/Create Constituent in Bloomerang action to a Create Donation action. This dynamic mapping ensures the donation is added to the timeline of the found/created constituent.
- After logging into Zapier, I am going to navigate to the Zaps page.
- Let’s open my Zap that syncs new successful transactions in Classy, a fundraising app, to Bloomerang.
- When I open this Zap, you can see that we’ve already got the foundational elements of our Zap.
- We have our New Successful Transaction in Classy trigger and we’ve tested the trigger to pull in a sample for mapping.
- Then, I’ve added subsequent actions for the steps I want my automation to take.
- In order to dynamically map the Constituent ID from the Find/Create Constituent action, we need to test the action in the Zap editor. This will return the Constituent ID from our test, which we can then use to map the output to our Create Donation action.
- Now that we’ve tested our Find/Create Constituent action we can go to our Create Donation action. This is where we’ll map the Constituent ID too.
- If we click in the Constituent ID field, you’ll see that it gives us a dropdown that includes every constituent in our database. Since we want to add the donation to the timeline of the donor for the specific Classy transaction that triggered the Zap, not a single constituent for all Classy donations, we need to use dynamic mapping.
- Click in the Constituent ID field and select Custom.
- Then, expand the Find/Create Constituent action. This will display all fields returned by the action.
- Select the ID field. This is the Constituent ID for the Bloomerang constituent account that was found or created for the Classy donor.
Now, let’s take a look at how we can use dynamic mapping to map to single select and multi-select fields.
- We are going to stay on the same Create Donation action in our Classy Zap to look at mapping to a single select field.
- We are simply going to scroll down the action until we get to where our custom fields are.
- We are going to show mapping to a custom field for Tribute Type. This is a single select field.
- Similar to how we mapped the Constituent ID, we are going to click in the field, select custom and then search for/select the field from our source app that we want to map.
- I am now going to switch to our Update Constituent action to demo how you can map to a multi-select field.
- We have a Program Interests custom field set up on the constituent profile and it is a Pick More Than One field type.
- In Zapier, we can hardcode our values, map a value from our source app and hardcode a value, or we can dynamically map multiple values.
I am syncing donations from a fundraising app into Bloomerang. How do I change the Fund, Campaign, or Appeal coded on the donation to align with the fundraising effort/campaign?
The solution is lookup tables.
A lookup table in Zapier is a way to convert data from your source app to the corresponding value in your target app.
The lookup key is the data we want to search for (lookup) in our table. Sometimes this will be a human readable value/label, and others it may be an ID for the value or record. When possible, we recommend using IDs as it will remain static, even if the value/label is modified.
If the step is successful and finds a match in our lookup table, it will return the related value for mapping into the target system.
There are two different apps that can be used to create a lookup table in your Zap: Formatter by Zapier and Google Sheets.
We are going to demo both of these in a minute, but let’s start by talking about what the benefits of each app are. The use of one or the other is likely dependent on your automation use case.
Formatter by Zapier is a free app in Zapier’s marketplace that can be used to create a simple lookup table. Formatter allows you to:
- Return a single value for the lookup key
- Lookup and return a value for each line item in a record
- Assign a fallback value if the lookup key is not found in the lookup table
Google Sheets is another viable option for including a lookup table in your solution. With Google Sheets you can:
- Return multiple values in the lookup (i.e. Fund, Campaign, and Appeal based on the fundraising campaign ID)
- Easily edit the lookup table without having to touch the live Zap
- Supports lookup based on two values
Lookup tables are used for a variety of purposes in Bloomerang automations. Most commonly, they are used to…
- Lookup the Bloomerang Fund, Campaign, and/or Appeal based on the…
- Fundraising campaign (Classy, GiveWP, etc.)
- Eventbrite event ID
- Item purchased in an eCommerce store (Shopify or WooCommerce)
- Convert source app field values to values in a Bloomerang custom field
- Convert a Bloomerang custom field value to the corresponding value in a target app
Let’s take a look at this in practice in a real Zap. We are going to go back to our Classy to Bloomerang Zap and show how this lookup table will look differently based on whether we use Formatter by Zapier or Google Sheets.
Let’s start with Formatter by Zapier.
- Add a new action in your Zap and select Formatter by Zapier as the app.
- Then, select Utilities as the Action Event and Lookup Table as the Transform type.
- Dynamically map the data element from your trigger (or a preceding action) as the lookup key. We will map the Campaign ID from Classy as our lookup value.
- All of our Campaign values in Classy (source data) will go in the column on the left. The values entered on the left must match the values that will occur as the lookup key (spelling, punctuations, etc.) or the lookup will fail to return a match
- Then, we are going to add the corresponding Campaign we want to assign in Bloomerang on the right.
- If desired, we can add a Fallback value that will be assigned if the data in the lookup key is not found in the lookup table.
- Once we test the action, then we can map the output that is returned later in our Zap.
Now, let’s look at this same step, but using a Google Sheet.
- Before we set up our action in Zapier, we need to set up our lookup table in Google Sheets.
- We’ve already set one up prior to today’s webinar and you can see that we will be able to look up the Bloomerang Fund, Campaign, and Appeal based on the Classy Campaign ID.
- Back in Zapier, we will use the Lookup Spreadsheet Row action in the Google Sheets Zapier app.
- Then, we will identify the spreadsheet and worksheet where our lookup table is located.
- Once we identify which column we are using as our lookup, we can then map our lookup key/value.
- Once we test the action, then we can map the output that is returned later in our Zap.
The record that triggers my Zap has elements that need to be processed differently. Can I use conditional logic in Zapier?
The solution is filters and paths.
Filters in Zapier allow you to set one or many conditions for your automation using AND or OR logic. The Zap will only continue if all conditions are met.
Paths in Zapier is an advanced action (available in Professional Plan tiers or higher) and allows your Zaps to branch down up to three paths. The Zap will only proceed down a path if all conditions for that path are met, like filters.
Filters and paths should be used in automations to:
- Manage Zapier task usage
- Control when certain actions are performed
With Zapier you can use a combination of filters and paths in a Zap and even nest paths and filters within each other.
Filters are used most often in Bloomerang automations to:
- Only continue if the Bloomerang constituent has a certain custom field value
- Only update the constituent if the Find Constituent action matched an existing account
Paths are most often used when syncing constituents into Bloomerang and your source app has both individual and company records. You’ll need paths in order to successfully find/create Individual vs. Organization constituents.
Let’s take a look at this in practice in a real Zap. Once again, we are going to go back to our Classy to Bloomerang Zap.
- Adding a filter to your Zap is the same as adding any other action. We’ll select Filter by Zapier as our app.
- Then, we get to add one or multiple conditions using AND or OR logic.
- The Filter step is set up where the data element we want to filter on is mapped in the left column, our logic operator is in the center, and, based on the logic operator, our criteria/condition is on the right.
- There are a number of logic operators you can use to define the conditions for your filter. A few tips/tricks are…
- If your condition is based on a text field/value, it can sometimes be helpful to use “Contains” vs. “Exactly Matches”, unless you have other values that contain the string you are entering as your criteria
- Greater than/less than logic for number-based conditions does not include “or equal to”. Meaning if you only want your Zap to continue if an amount is $100+, then you need to set your logic to say the amount is greater than $99.99.
- For this Zap, we are going to set our conditions to say that the Zap should only continue if the amount is greater than $0 and the Payment Method is not Offline.
- Let’s also take a look at how we’ve set up our filter at the end of the Zap that will only continue if an existing constituent was found.
- The Find/Create Constituent action returns a data element called “Zap Data Was Found” that is a true/false field (boolean).
- Using this field, we can set our filter to only continue if the Zap Data Was Found field is true. Meaning, we will only update the constituent if it matches an existing one.
The Classy to Bloomerang Zap we’ve been using to demo these utilities doesn’t use paths. But let’s go ahead real quick and show you how the set-up of paths works.
- Let’s say that we wanted to split this Zap to proceed down one of two paths based on whether the donor is a Company vs. an Individual.
- We will proceed like we are adding an action to our Zap and select Paths by Zapier.
- When we click Edit on each path, we are able to rename the Path and set the conditions for when the Zap should proceed down the path.
- The logic operators and structure of setting conditions for paths is exactly the same as filters.
- We will create one path when the Company Name exists (Organization) and another where it does not exist (Individual).
Let’s take a minute and pause for any questions.
I think my source app is giving me a date in a different time zone. How do I make sure I’m assigning the date in Bloomerang related to my time zone?
The solution is date formatting and conversions.
Formatter by Zapier, which we used for our lookup table solution, can also be used to reformat or convert dates.
There are utilities in the Formatter by Zapier app to:
- Reformat dates
- Add/subtract dates
- Compare dates
Formatting is the most common action when working with dates. This could be in the form of changing the date format or converting time zones.
In Bloomerang automations, Formatter by Zapier is typically used to:
- Format a date/time field to YYYY-MM-DD
- Convert a date/time field from your source application to your time zone (each app may return a date/time in a different time zone)
- Add 365 days from today’s date to generate an expiration date (update constituent profile custom field for membership)
Let’s take a look at this in practice in a real Zap. We’ll head back to our Classy to Bloomerang Zap.
- The Classy API provides the date of the transaction in UTC timezone. We want to set up a formatter step to not only convert the time zone from UTC to Eastern, but also to remove the timestamp.
- We are going to go to our action where we’ve already selected Formatter by Zapier as our app.
- Select the Date / Time Action Event and a Transform of Format.
- Map the date/time field we want to convert to the Input field.
- In the Zap we will define the From Format and Timezone, as well as the Format and Timezone we want to convert the data to.
- Once we test the action, then we can map the output that is returned later in our Zap.
Customers often purchase more than one item from our eCommerce store and we need to code the Fund, Campaign, and/or Appeal differently per item. How can we do this?
The solution is line item support.
Line items are a subset of individual items presented in a collection of data called an array. They are typically nested on another object. For example, items in an order, split transactions related to a single payment, etc.
Line items work best in Zapier when you are using a trigger and actions that support line items. Not all apps or triggers/actions support line items.
The description for a trigger or action will identify if it supports line items. And, as we discussed earlier, if you are dealing with line items we recommend using Formatter by Zapier for any lookup tables as it provides line item support. Google Sheets does not (in its Lookup Spreadsheet Row action).
In Bloomerang automations, we typically see line items used in two scenarios:
- Syncing split donations in Bloomerang to accounting software on single sales receipt/invoice (one line item per split)
- Items purchased in eCommerce order to create split transaction in Bloomerang (one split per item)
To demonstrate how Line Items work, we are going to create a split transaction in Bloomerang and show how the data will present differently in a Google Sheet if we treat the splits as line items vs. not.
- We have two Zaps set up nearly identically.
- Both Zaps trigger on a New Transaction in Bloomerang, which includes line item support.
- Then, we have a single action that writes the transaction details to a Google Sheets.
- In one Zap we used the Create Spreadsheet Row action. This action does not provide line item support. In the other we use Create Spreadsheet Row(s), which does provide line item support.
- If you look at these two Zaps side by side they look nearly identical. There are only two differences:
- First, there is a light gray line that outlines the fields in the Zap that are supportive of line items.
- Second, we are using a different amount field. In the Zap that doesn’t support line items, we are using the amount field that is for the total transaction/payment. The Zap with line item support uses the amount field that will return the individual amounts for each split. When mapping transaction Zaps, it is very important to make sure you are mapping the first amount field. Most eCommerce apps will have field names such as Total Amount vs. Line Items Amount that can help distinguish which field should be used.
- When we test these Zaps with the same transaction in Bloomerang, you’ll see that Zap without line item support will create one row for the full transaction. The other will create one row per split (line item) in the transaction.
Now that you have a basic understanding of the functionality of the Bloomerang Zapier app, it is a great time to get started in Zapier.
The first step is signing up for a Zapier account, if you don’t have one already. All Zapier accounts begin with a 14-day free trial of the Professional tier functionality. Following the free trial, your plan is converted to a Free plan until you choose to upgrade. Most organizations will need to upgrade to the Starter plan, at a minimum in order to build multi-step Zaps.
It is also important to remember that Zapier provides a 15% discount to nonprofits. If you sign up for a paid plan, make sure to apply for the discount.
Once you sign up for Zapier, the first step is to connect your Bloomerang database.
After logging in:
- Click My Apps on the left menu.
- Click Add Connection.
- Search for and select Bloomerang
- Grant access using your Bloomerang login credentials.
Zapier’s help center (https://www.zapier.com) has great resources to help support your learning and implementation of the solutions we reviewed today.
If you have an interest in learning more about Bloomerang and Zapier integrations or have a specific integration question, be sure to tune into our Ask Me Anything webinar in August.
Thank you for attending today. If you’d like to work with a consultant to set up Zaps or develop a custom Bloomerang integration to address a unique use case, please don’t hesitate to reach out.
I will hand it off to Diana for a quick poll before we open up for more questions.
Now, we’d like to open it up for questions.
- 5 automation use cases that save time
- Integration ideas for top apps like Eventbrite, Mailchimp, and Gmail
- New ways to think about your Bloomerang experience
Join the Bloomerang users that already got their playbook!DOWNLOAD NOW