Bloomerang + Zapier: Automating RunSignup to Bloomerang [Webinar]

Your Bloomerang database is the central donor management and fundraising platform for your organization, but Bloomerang likely isn’t the only app that you use day to day. We believe Bloomerang is your central system and that integrations supplement your Bloomerang database. Automation should start from a lens that Bloomerang is core to your donor management and fundraising technology.

Bloomerang is now connected to Zapier and Zapier connects to 5,000+ other apps, including RunSignup. The combination of Bloomerang and Zapier offers an all-in-one integration platform for automating your day to day workflows.

The goal of this webinar is to show you how integrating RunSignup with Bloomerang using Zapier can streamline data entry, save time, and reduce effort.

During this webinar, we will:

  • Introduce Bloomerang + Zapier, how they work together, and why Zapier integrations are a key feature of your Bloomerang system and fundraising strategy
  • Explore and demonstrate how you can use the Bloomerang Zapier app to…
    • Sync race registrations and donations from RunSignup to Bloomerang
    • Dynamically code the Fund, Campaign, and/or Appeal in Bloomerang
  • Discuss how you can get started integrating RunSignup and Bloomerang




Webinar transcript (not including Q&A):
Good afternoon, and welcome to Bloomerang Academy! Thank you for joining us. My name is Margie Worrell, and I am the Curriculum 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 + Zapier: Automating RunSignup with Bloomerang.

[SLIDE]

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. Hello everyone! It’s great to be here.

[SLIDE]

The goal of today’s webinar is to show how a Bloomerang integration with RunSignup using Zapier can support your fundraising efforts by reducing the time spent performing data entry and ensure consistency across revenue coding in Bloomerang.

Our webinar today will…

  • Introduce Bloomerang + Zapier, how they work together, and why Zapier integrations are a key feature of your Bloomerang system and fundraising strategy
  • Explore and demonstrate how you can use the Bloomerang Zapier app to…
    • Sync race registrations and donations from RunSignup to Bloomerang
    • Dynamically code the Fund, Campaign, and/or Appeal in Bloomerang
  • Discuss how you can get started integrating RunSignup and Bloomerang

We have demos throughout the webinar to show you how to set up these automations for your organization and are happy to answer questions. Please submit all questions through the Q&A.

[SLIDE]

It is common for organizations of all sizes to use many types of software and we believe that automated integrations are essential to your donor database. Integrations can help connect these systems, creating a tech stack that supports your organization and its strategic goals.

This is where Zapier comes in. As some of you may not be familiar with Zapier, we will start with a high level overview of what Zapier is and why we believe it is a key feature of your Bloomerang system and fundraising strategy.

[SLIDE]

Zapier is automation software that enables additional Bloomerang integration and fundraising opportunities. It’s a middleware that sits in between Bloomerang and other apps you use, helping them “talk” to each other.

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.

The flexibility of the Zapier platform enables custom integrations. You aren’t limited to one-size fits all workflows, mapping, or formatting. You can build integrations that are perfect for your organization and your workflows.

[SLIDE]

Integrations are a key feature of your Bloomerang database and can take your fundraising efforts to the next level. Data should flow in and out of your Bloomerang database, connecting to other best in class tools your organization uses. By keeping Bloomerang as the central hub of your tech stack, you will create a global record of Constituent engagement with your organization and centralize reporting.

[SLIDE]

First, we want to do a quick poll to see how many are using Zapier and using it with Bloomerang.

[SLIDE]

Now, we want to start by demonstrating how to set up a basic sync of participant registrations from RunSignup to Bloomerang.

[SLIDE]

When syncing participant registrations in RunSignup to Bloomerang, there are two primary steps. First, we need to find or create the constituent in Bloomerang. Then, we want to create a donation on the timeline for the found or created constituent. Additional steps are needed to ensure the data flows appropriately from one system to another.

For this use case, we are going to set up this flow based on an assumption that the race does not utilize RunSignup’s offline / paper entry option for creating participant registrations outside of the race website.

[DEMO – 5 SLIDES]

Now, let’s hop into Zapier and set up our Zap.

  • Click on the +Create Zap button in the upper left.
  • The workflow starts with a New Participant Registration in RunSignup, so that’s our trigger. The trigger prompts the integration to run when that event occurs (i.e. a new registration is created). We are going to select RunSignup as our app and New Participant Registration as our trigger event.
    • For the RunSignup Zapier app, you will connect your RunSignup instance based on whether you are a Race Director or a Partner. If you are a Race Director, your connection to Zapier will be established for a specific race. If you are a Partner, your Partner account will be connected and, when setting up your trigger, you will need to select the desired Race for your automation. The RunSignup Zapier app will only trigger for a single race in RunSignup per Zap. Meaning, if you have multiple races in RunSignup, you’ll need to set up multiple Zaps (one per race).
    • We will not be including these details in our demo today, but the New Participant Registration triggers allow you to optionally return the coupon, add-on, or custom question details in the Zapier trigger. Since we do not need this data for the basic sync, we can leave these blank or set them to “False”.
    • The Zapier app requires that we enter a storage_key for our Zap. We recommend using the Zap ID, which can be found in your browser URL (www.zapier.com/editor/{Zap ID}). Your storage key should be unique to this Zap (i.e., not used across other RunSignup Zaps) and must be 32 characters or less in length. Accepted characters include A-Z, a-z, 0-9, _, and -.
    • Next step is to test our trigger and generate sample data. This will return up to 3 recently created registrations in RunSignup. These are samples only and will not run through the integration because they were created before the integration is turned on. Zap triggers run in real time only.
  • Then, we’ll add our first action to find or create a constituent in Bloomerang for the donor. We’ll select the Bloomerang app and the Find Constituent action. We’ll select a Type of Individual.
    • Next, we can map the participant’s first name, last name, email, phone, and address to the appropriate fields in the search from the RunSignup trigger. We’ll leave the constituent’s cumulative giving and household information field blank as we don’t need the search to return this data.
    • We need to check the box at the bottom to create a constituent in Bloomerang if one is not found in the search. We’ll map the participant’s name and contact information to the appropriate fields to create a constituent.
    • Now we’ll click Test & Run to confirm this action is configured appropriately. This will return a payload of data we’ll use in our subsequent action steps in the Zap.
  • The RunSignup Zapier app provides the date of the registration 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 add a new action and select the Formatter by Zapier 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.
  • Next we’ll add the action to create the donation in Bloomerang for the registration. We’ll select the Bloomerang app and the Create Donation action.
    • To make sure we create the donation on the timeline of the constituent we found/created in the prior step, we need to map the Constituent ID from the Find/Create Constituent test to the Constituent field in the action.
    • Map the Date and Amount Paid from the RunSignup trigger. The Amount Paid includes the race fee, add-ons, and processing fees paid by the participant.
    • Then, we will assign a method of Credit Card, and select the desired Fund, Campaign, and Appeal. These are all hardcoded values, meaning the same value will be assigned for all RunSignup registrations.
    • Optionally, we can code custom fields on the transaction in Bloomerang. For a basic sync, we generally code custom fields for
      • Source = RunSignup
      • Transaction ID = Registration ID
      • Description = Race Name – Event Name
    • Now, we are done editing and can turn on the Zap.
  • Optionally, we can add some additional steps in our Zap to update the constituent in Bloomerang with new contact information from the RunSignup participant. To do this….
    • Add a filter and only continue if Zap_Data_Found is true in the Find/Create Constituent action.
    • Then, add an Update Constituent in Bloomerang action. Map the ID from the found/created constituent and map the address, phone, and/or email as desired.
      • If the data matches an existing address, phone, or email, it will not duplicate it. Instead, the matched data will be promoted to the primary address, phone, or email for the constituent. The previous primary address, phone, or email (if different than the mapped data) will be demoted to secondary (not deleted).
      • If the data doesn’t match an existing address, phone, or email, the new information will be added and promoted as the primary address, phone, or email for the constituent. The previous primary address, phone, or email will be demoted to secondary (not deleted).

[SLIDE]

The workflow we just showcased is a simple, standard sync when you want all registrations for the race coded with the same Fund, Campaign, and Appeal in Bloomerang.

Some organizations prefer to vary this coding based on the specific event the participant registered for. A lookup table can be configured in the solution to dynamically code the Fund, Campaign, and/or Appeal in Bloomerang based on the event the registration was created for.

[SLIDE]

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. For this use case, the ID for the event is not accessible through the Race Dashboard so we will use the Event Name.

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. In order to build your understanding of Zapier, we’re going to cover when you’d use one of these vs. the other, but it’s important to note that for automating the sync of registrations in RunSignup to Bloomerang, we typically use a Google Sheet.

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 event ID)
  • Easily edit the lookup table without having to touch the live Zap
  • Supports lookup based on two values

We’ll share a link in the chat for a recent Bloomerang webinar that demoed the use of these lookup table options for a use case and provides greater detail/explanation.

[DEMO – 2 SLIDES]

In order to dynamically code the Fund, Campaign, and Appeal using a Google Sheet lookup table, we want to start by setting up our lookup table before building the workflow in Zapier.

We’ve added column headers that represent the data we want to pull into our integration for each event. For each race created in RunSignup, we will add the Race ID, Race Name, and the name of each Event into the GSheet. Then, we will add the appropriate Bloomerang coding for the event.

We will be using a two-field lookup using the Race ID and the Event Name. This allows us to use the same GSheet if we host multiple races and want to dynamically code the Fund, Campaign, and Appeal for each. We can locate the Race ID in RunSignup the Race Dashboard and click Race Status.

As we create new races in RunSignup, we simply add the details into this GSheet to ensure registrations synced to Bloomerang are coded appropriately. We can also update the Bloomerang coding, as needed, and moving forward donations in Bloomerang will be coded based on the updated values assigned.

Now, let’s hop into Zapier and update the Zap we set up in our last demo.

  • Following our Formatter step to convert the date, we’ll click the plus icon to add another action. We’ll select Google Sheets as the app and Lookup Spreadsheet Row as our action. After selecting our Google Sheet spreadsheet and worksheet for our lookup table, we’ll set the lookup column as the RunSignup Race ID and map the Race ID from the New Participant Registration trigger to the lookup value field. Then, we’ll select the RunSignup Event Name field as the supporting lookup column and map the Event Name from the New Participant Registration trigger as the supporting lookup value.
  • Now we’ll click Test & Run to confirm this action is configured appropriately and pull in the specific coding for the donation.
  • Then, we’ll go to our Create Donation action. For the Fund, Campaign, and Appeal, we’ll click the dropdown, select custom, and then map the output from our Google Sheet lookup step. This will ensure the donation, when created, is pulling this coding from the prior Google Sheet lookup step.
  • Now, we are done editing and can turn on the Zap.

[SLIDE]

We want to quickly point out some additional enhancements that can be made to this basic registration sync to Bloomerang.

  • Filter out free registrations, if applicable
  • Support for international participants (address formatting)
  • Support for offline registrations
  • Conversion of RunSignup data to Bloomerang custom fields
  • Mapping of custom questions, add-ons, or coupon details

[SLIDE]

Next we’re going to cover how to set up a basic flow for syncing race donations from RunSignup to Bloomerang.

[SLIDE]

The flow for syncing race donations in RunSignup to Bloomerang is nearly identical to the basic flow we set up for participant registrations. First, we need to find or create the constituent in Bloomerang. Then, we want to create a donation on the timeline for the found or created constituent. Additional steps are needed to ensure the data flows appropriately from one system to another.

The primary difference between these two flows is a delay in the donation flow to offset from the participant registration flow. This delay serves to offset the donation from the sync of the registration, when the donation is made at the same time the participant registers. This ensures the registration flow finds/creates a constituent and then that the donation flow can match to the same constituent.

For this use case, we are also going to set up this flow based on an assumption that the race does not utilize RunSignup’s offline donation functionality.

[DEMO – 6 SLIDES]

Now, let’s hop into Zapier and set up our Zap.

  • Click on the +Create Zap button in the upper left.
  • The workflow starts with a New Donation in RunSignup, so that’s our trigger. The trigger prompts the integration to run when that event occurs (i.e. a new registration is created). We are going to select RunSignup as our app and New Donation as our trigger event.
    • For the RunSignup Zapier app, you will connect your RunSignup instance based on whether you are a Race Director or a Partner. If you are a Race Director, your connection to Zapier will be established for a specific race. If you are a Partner, your Partner account will be connected and, when setting up your trigger, you will need to select the desired Race for your automation. The RunSignup Zapier app will only trigger for a single race in RunSignup per Zap. Meaning, if you have multiple races in RunSignup, you’ll need to set up multiple Zaps (one per race).
    • The Zapier app requires that we enter a storage_key for our Zap. PWe recommend using the Zap ID, which can be found in your browser URL (www.zapier.com/editor/{Zap ID}). Your storage key should be unique to this Zap (i.e., not used across other RunSignup Zaps) and must be 32 characters or less in length. Accepted characters include A-Z, a-z, 0-9, _, and -.
    • Next step is to test our trigger and generate sample data. This will return up to 3 recently created donations in RunSignup. These are samples only and will not run through the integration because they were created before the integration is turned on. Zap triggers run in real time only.
  • For this Zap, our first action is to add a Delay by Zapier action to offset this flow from the registration flow by 2 minutes (in the event the donation was submitted with the registration).
  • Next, find or create a constituent in Bloomerang for the donor. We’ll select the Bloomerang app and the Find Constituent action. We’ll select a Type of Individual.
    • Next, we can map the donor’s first name, last name, email, phone, and address to the appropriate fields in the search from the RunSignup trigger. We’ll leave the constituent’s cumulative giving and household information field blank as we don’t need the search to return this data.
    • We need to check the box at the bottom to create a constituent in Bloomerang if one is not found in the search. We’ll map the donor’s name and contact information to the appropriate fields to create a constituent.
    • Now we’ll click Test & Run to confirm this action is configured appropriately. This will return a payload of data we’ll use in our subsequent action steps in the Zap.
  • The RunSignup Zapier app provides the date of the donation 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 add a new action and select the Formatter by Zapier 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.
  • Next we’ll add the action to create the donation in Bloomerang for the donation. We’ll select the Bloomerang app and the Create Donation action.
    • To make sure we create the donation on the timeline of the constituent we found/created in the prior step, we need to map the Constituent ID from the Find/Create Constituent test to the Constituent field in the action.
    • Map the Date and Amount Paid from the RunSignup trigger.
    • Then, we will assign a method of Credit Card, and select the desired Fund, Campaign, and Appeal. These are all hardcoded values, meaning the same value will be assigned for all RunSignup donations for the race.
    • Optionally, we can code custom fields on the transaction in Bloomerang. For a basic sync, we generally code custom fields for
      • Source = RunSignup
      • Transaction ID = Registration ID
      • Description = Race Name – Donation
    • Now, we are done editing and can turn on the Zap.
  • Optionally, we can do the same additional steps in our Zap as we did in the registration flow to update the constituent in Bloomerang with new contact information from the RunSignup donor. To do this….
    • Add a filter and only continue if Zap_Data_Found is true in the Find/Create Constituent action.
    • Then, add an Update Constituent in Bloomerang action. Map the ID from the found/created constituent and map the address, phone, and/or email as desired.
      • If the data matches an existing address, phone, or email, it will not duplicate it. Instead, the matched data will be promoted to the primary address, phone, or email for the constituent. The previous primary address, phone, or email (if different than the mapped data) will be demoted to secondary (not deleted).
      • If the data doesn’t match an existing address, phone, or email, the new information will be added and promoted as the primary address, phone, or email for the constituent. The previous primary address, phone, or email will be demoted to secondary (not deleted).

[SLIDE]

Getting started with Bloomerang automations is easy.

[SLIDE]

The first step in getting started 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.

[SLIDE]

After signing up for Zapier, 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.

[SLIDE]

If your team would like support setting up an automation from RunSignup to Bloomerang, we offer an integration bundle for Bloomerang customers. This bundle includes end-to-end configuration and deployment of your automations for one (1) race.

This service is optional and your organization may instead choose to implement Bloomerang automations in Zapier DIY.

Zapier subscription costs are not included in this pricing.

[SLIDE]

If you prefer to build your automations DIY or want to learn more about Zapier, there are plenty of resources available.

[SLIDE]

Thank you for attending today.

We are going to launch a poll. If you’d like to work with a consultant to set up an integration or explore your use case and tech stack, please let us know.

[SLIDE]

Now, we’d like to open it up for questions.

Free Download

Bloomerang
Automation
Playbook

  • 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