Zapier - Triggers

Modified on 19 July

Triggers

TABLE OF CONTENTS



New Participant Registration

New Participant Registration triggers when a new registration is created for a selected Race in RunSignup.


Users who authenticated the app as a Partner (not a Race Director) must select the desired Race in the trigger parameters when configuring the component.


Users may optionally include add-ons, questions, and coupon details in the trigger payload.


In order to support bulk data entry events, the user must enter a unique storage_key in the trigger setup.


New Participant Registration is a Zapier trigger and will always be followed by at least one action. The output of the New Participant Registration trigger returns a payload of data that may be used for mapping in subsequent actions. 


Setup

Field

How it works/What it does

Race

  • Only applicable to users who authenticated using a Partner account (not Race Director).

  • This field is required. 

  • Users must select the desired Race for the Zap. The Zap will only trigger for new participant registrations created for the selected Race. 

Include Add-ons?

  • This field is optional. 

  • If set to ‘true’, details of associated add-ons will be hydrated into the trigger response. In order to map these data elements in the Zap, the user will need to pull a sample record into the Zap that includes at least one add-on.

  • If set to ‘false’, details of the associated add-ons will not be hydrated into the trigger response. 

  • The default setting (if no selection made by the user) is ‘false’.

Include Questions?

  • This field is optional. 

  • If set to ‘true’, responses to questions will be hydrated into the trigger response. In order to map these data elements in the Zap, the user will need to pull a sample record into the Zap that includes at least one question/response.

  • If set to ‘false’, responses to questions will not be hydrated into the trigger response. 

  • The default setting (if no selection made by the user) is ‘false’.

Include Coupon Details?

  • This field is optional. 

  • If set to ‘true’, details of coupons will be hydrated into the trigger response. In order to map these data elements in the Zap, the user will need to pull a sample record into the Zap that includes a coupon.

  • If set to ‘false’, details of the coupon will not be hydrated into the trigger response. 

  • The default setting (if no selection made by the user) is ‘false’.

Define your RunSignup storage key.

  • This field is required.

  • Users must enter a unique storage key for the Zap. 

  • We recommend using the Zap ID, which can be found in the browser URL (www.zapier.com/editor/{Zap ID}). 

  • The storage key should be unique to this Zap (i.e., not used across other RunSignup Zaps).

  • Must be 32 characters or less in length. Accepted characters include A-Z, a-z, 0-9, _, and -.



Features and Functionality 

Features:

  • The payload of data returned by this trigger includes the Race Name and Event Name as human readable data elements. 

  • Date/time fields have been converted to ISO-8601 format in the UTC timezone. Users will want to use Formatter by Zapier to convert the date to their desired timezone and/or date format.

  • Amount fields have been formatted as a number (10,7.5), not currency ($10.00; $7.50) to align with Zapier best practice.

  • If custom questions are included in the trigger setup, the return will parse and format each separate custom question and response as {question label} :: {response}.


Behavior:

  • This trigger only runs based on the creation of a new participant registration via the Race website or offline data entry methods (manual import or CSV import). It does not trigger based on modifications to existing participant registrations.

  • RunSignup allows users to clear (cancel) a registration within 15 minutes of submitting the registration. The New Participant Registration trigger will run based on the creation of the registration, not following the 15 minute pending window. Remove Participant Registration can be used to trigger supplementary Zap when participant clears registration within the 15-minute window.

  • Amount Paid reflects {Race Fee} + {Add-on Amount} + {Shipping} + {Processing Fees}. This amount does not include Sales Tax or Donation amounts. This could result in duplicated revenue if the user also uses the New Registration Add-on trigger to sync add-on details to the target system. To get unduplicated revenue, the user should set up separate Zaps for New Participant Registration (map Race Fee + Processing Fees only) and New Registration Add-ons (map add-on Amount).

  • Different amount fields are used for registrations received through the website (Amount Paid) vs. offline methods (Offline Payment Amount). Users may need to use logic to map the appropriate field if offline registrations are entered in the race dashboard.

  • The Race Fee reflects the original price for the registration. It will not reflect applied coupons. If the user wants to reflect the amount following coupons, the Amount Paid must be used. 

  • This component employs RunSignup’s GET /storage endpoint to store the ID of the last registration processed via the Zap. Below is the order of operations for this solution:

    • User defines a unique storage_key in the trigger parameters.

    • Zap is turned on by the user.

      • GET /participants with DESC sort by registartion_id to get the most recent registration ID

      • POST /storage to set the registration_id as the cursor

        • If there are no registrations for the selected Race, the Zapier app will default with value to “1”.

    • Zapier polls the endpoint based on user’s polling interval (determined by Zapier subscription level)

      • GET /storage using the Zap’s storage_key to retrieve the ID of the last processed registration

      • GET /events for the selected Race

      • GET /participants with after_registration_id parameter using the registration_id returned from /storage; sort is ASC to sort registrations after the defined registration_id from oldest to newest

      • POST /storage to set the new cursor value

        • If no new registrations in polling interval, previous cursor is set again (no change)

        • If registrations were returned in polling interval, the most recent registration processed is set as the cursor value


Limitations:

  • This trigger will not run for modifications to existing Race Participants. 





New Registration Add-on

New Registration Add-on triggers when a new participant registration is created with an add-on for a selected Race in RunSignup.


Users who authenticated the app as a Partner (not a Race Director) must select the desired Race in the trigger parameters when configuring the component.


In order to support bulk data entry events, the user must enter a unique storage_key in the trigger setup.


New Registration Add-on is a Zapier trigger and will always be followed by at least one action. The output of the New Registration Add-on trigger returns a payload of data that may be used for mapping in subsequent actions. 

Setup


Field

How it works/What it does

Race

  • Only applicable to users who authenticated using a Partner account (not Race Director).

  • This field is required. 

  • Users must select the desired Race for the Zap. The Zap will only trigger for new participant registrations created for the selected Race. 

Define your RunSignup storage key.

  • This field is required.

  • Users must enter a unique storage key for the Zap. 

  • We recommend using the Zap ID, which can be found in the browser URL (www.zapier.com/editor/{Zap ID}). 

  • The storage key should be unique to this Zap (i.e., not used across other RunSignup Zaps).

  • Must be 32 characters or less in length. Accepted characters include A-Z, a-z, 0-9, _, and -.


Features and Functionality

Features:

  • The payload of data returned by this trigger includes the Race Name and Event Name as human readable data elements. 

  • Date/time fields have been converted to ISO-8601 format in the UTC timezone. Users will want to use Formatter by Zapier to convert the date to their desired timezone and/or date format.

  • Amount fields have been formatted as a number (10,7.5), not currency ($10.00; $7.50) to align with Zapier best practice.


Behavior: 

  • The RunSignup API does not have an API endpoint for add-ons. Therefore, this trigger is designed to parse the subitems in the add-ons array for a participant registration and trigger the Zap for each subitem. The trigger will run 1x for add-on associated with the registration. When multiple options are selected for a single add-on, the trigger will only run 1x.

  • RunSignup allows users to clear (cancel) a registration within 15 minutes of submitting the registration. The New Registration Add-on trigger will run based on the creation of the associated registration, not following the 15 minute pending window. 

  • Removal of add-ons via Race Dashboard will not trigger the New Registration Add-on or Remove Participant Registration.

  • The Amount in the trigger payload for the add-on will always represent the original price of the add-on. It does not reflect coupons applied to the cost of add-ons. 

  • The Amount will be returned as $0 if the registration was entered offline (manual entry or import).

  • This component employs RunSignup’s GET /storage endpoint to store the ID of the last registration processed via the Zap. Below is the order of operations for this solution:

    • User defines a unique storage_key in the trigger parameters.

    • Zap is turned on by the user.

      • GET /participants with DESC sort by registartion_id to get the most recent registration ID

      • POST /storage to set the registration_id as the cursor

        • If there are no registrations for the selected Race, the Zapier app will default with value to “1”.

    • Zapier polls the endpoint based on user’s polling interval (determined by Zapier subscription level)

      • GET /storage using the Zap’s storage_key to retrieve the ID of the last processed registration

      • GET /events for the selected Race

      • GET /participants with after_registration_id parameter using the registration_id returned from /storage; sort is ASC to sort registrations after the defined registration_id from oldest to newest

      • Loop through items in add-ons array and add each add-on to the addon list, along with participant information. 

        • Not to exceed 100 add-ons per poll. If 99 add-ons have been returned and the next participant registration has 2 or more add-ons, the registration will be bumped to the next polling interval (i.e., will not split polls in Zapier).

      • POST /storage to set the new cursor value

        • If no new registrations in polling interval, previous cursor is set again (no change)

        • If registrations were returned in polling interval, the most recent registration with add-ons returned is set as the cursor value


Limitations:

  • This trigger does not account for add-ons managed via Race Dashboard following creation of the registration (i.e., manually added to existing participant registration).




New Donation

New Donation triggers when a new Donation is created in RunSignup.


Users who authenticated the app as a Partner (not a Race Director) must select the desired Race in the trigger parameters when configuring the component.


In order to support bulk data entry events, the user must enter a unique storage_key in the trigger setup.


New Donation is a Zapier trigger and will always be followed by at least one action. The output of the New Donation trigger returns a payload of data that may be used for mapping in subsequent actions. 

Setup

Field

How it works/What it does

Race

  • Only applicable to users who authenticated using a Partner account (not Race Director).

  • This field is required. 

  • Users must select the desired Race for the Zap. The Zap will only trigger for new participant registrations created for the selected Race. 

Define your RunSignup storage key.

  • This field is required.

  • Users must enter a unique storage key for the Zap. 

  • We recommend using the Zap ID, which can be found in the browser URL (www.zapier.com/editor/{Zap ID}). 

  • The storage key should be unique to this Zap (i.e., not used across other RunSignup Zaps).

  • Must be 32 characters or less in length. Accepted characters include A-Z, a-z, 0-9, _, and -.


Features and Functionality

Features:

  • The payload of data returned by this trigger includes the Race Name and Event Name as human readable data elements. 

  • Date/time fields have been converted to ISO-8601 format in the UTC timezone. Users will want to use Formatter by Zapier to convert the date to their desired timezone and/or date format.

  • Amount fields have been formatted as a number (10,7.5), not currency ($10.00; $7.50) to align with Zapier best practice.

  • Added Jul 17, 2024 - If the donation was made to a Fundraiser, the fundraiser details will be included in the payload of data returned by this trigger.


Behavior: 

  • This trigger only runs based on the creation of a new Donation via the Race website or offline data entry methods (manual import or CSV import). It does not trigger based on modifications to existing donations.

  • RunSignup allows users to clear (cancel) a donation within 15 minutes of submitting. The New Donation trigger will run based on the creation of the donation, not following the 15 minute pending window.

  • When a participant registration includes a donation, the donation is split off and will trigger New Donation. Details of the donation are not included in the New Participant Registration payload. 

  • This component employs RunSignup’s GET /storage endpoint to store the ID of the last donation processed via the Zap. Below is the order of operations for this solution:

    • User defines a unique storage_key in the trigger parameters.

    • Zap is turned on by the user.

      • GET /donations with DESC sort by donation_id to get the most recent donation ID

      • POST /storage to set the donation_id as the cursor

        • If there are no donations for the selected Race, the Zapier app will default with value to “1”.

    • Zapier polls the endpoint based on user’s polling interval (determined by Zapier subscription level)

      • GET /storage using the Zap’s storage_key to retrieve the ID of the last processed donation

      • GET /donations with after_donation_id parameter using thedonation_id returned from /storage; sort is ASC to sort donations after the defined donation_id from oldest to newest

      • POST /storage to set the new cursor value

        • If no new donations in polling interval, previous cursor is set again (no change)

        • If donations were returned in polling interval, the most recent donation processed is set as the cursor value


Limitations:

  • This trigger will not run for modifications to or refunding of existing Donations. 


Removed Participant Registration

Removed Participant Registration triggers when an existing registration is removed in RunSignup. 


Users who authenticated the app as a Partner (not a Race Director) must select the desired Race in the trigger parameters when configuring the component.


Removed Participant Registration is a Zapier trigger and will always be followed by at least one action. The output of the Removed Participant Registration trigger returns a payload of data that may be used for mapping in subsequent actions. 


Setup

Field

How it works/What it does

Race

  • Only applicable to users who authenticated using a Partner account (not Race Director).

  • This field is required.     

  • Users must select the desired Race for the Zap. The Zap will only trigger for new participant registrations created for the selected Race. 

Define your RunSignup storage key.

  • This field is required.

  • Users must enter a unique storage key for the Zap. 

  • We recommend using the Zap ID, which can be found in the browser URL (www.zapier.com/editor/{Zap ID}). 

  • The storage key should be unique to this Zap (i.e., not used across other RunSignup Zaps).

  • Must be 32 characters or less in length. Accepted characters include A-Z, a-z, 0-9, _, and -.


Features and Functionality

Features:

  • The payload of data returned by this trigger includes the Race Name and Event Name as human readable data elements. 

  • Date/time fields have been converted to ISO-8601 format in the UTC timezone. Users will want to use Formatter by Zapier to convert the date to their desired timezone and/or date format.

  • Amount fields have been formatted as a number (10,7.5), not currency ($10.00; $7.50) to align with Zapier best practice.


Behavior:

  • This component will trigger based on the following events:

    • The participant clears the registration within the 15-minute grace period.

    • RunSignup user removes the registration via the Race Dashboard.

    • Registration is transferred to another Race and the option to remove the registration from the current Race is selected.

    • Imported registrations are removed via the Delete Import option.

  • This component employs RunSignup’s GET /storage endpoint to store the ID of the last registration processed via the Zap. Below is the order of operations for this solution:

    • User defines a unique storage_key in the trigger parameters.

    • Zap is turned on by the user.

      • GET /removed-participants with DESC sort by last_modified to get the most recently removed registration

      • POST /storage to set the last_modified of the most recently removed registration as the cursor

        • If there are no removed registrations for the selected Race, the Zapier app will default with value to “1”.

    • Zapier polls the endpoint based on user’s polling interval (determined by Zapier subscription level)

      • GET /storage using the Zap’s storage_key to retrieve the last_modified of the last removed registration

      • GET /events for the selected Race

      • GET /removed_participants with modified_after_timestamp parameter using the last_modified returned from /storage; sort is ASC to sort removed registrations after the defined last_modified from oldest to newest

      • POST /storage to set the new cursor value

        • If no new removed registrations in polling interval, previous cursor is set again (no change)

        • If registrations were returned in polling interval, the last_modified of the most recent removed registration processed is set as the cursor value


Limitations:

  • None documented at this time.