Zapier lets you set up automated workflows across various external applications and platforms. Agillic has developed a native application for Zapier that lets you integrate workflows on Zapier with your Agillic instance. The workflows in Zapier are known as Zaps. The Agillic integration is developed and maintained by Agillic.
This article covers the basic principles you need in order to set up and configure workflows using the Agillic integration on Zapier.
In this article you will find more information about:
In order to use the Agillic integration on Zapier, your organisation must have:
An Agillic instance, with a user who has:
- Access to create Agillic API Credentials
- Access to the Agillic Data module
- Access to the Agillic Flows module
A Zapier account:
- Note the rate limit enforced on your tier of Zapier license
- Note the retry logic of Zapier based on tier
- Note the notification emails set on Zapier
What does the Agillic integration on Zapier do?
The Agillic integration enables you to interact with your recipient data on your Agillic instance directly from Zapier. The Agillic integration can be added to any Zap and can be used to push, manipulate or retrieve data on your instance. The integration can be added to Zaps as many times as you need. This makes automatic retrieving, handling and updating of data across different external platforms and applications easy to configure and work with within Zaps.
The Agillic integration on Zapier lets you perform the following actions on your Agillic instance directly from workflows in Zapier via Agillic’s API:
- Achieve Event on your Agillic instance
- Create / Update One-To-Many Record
- Truncate Recipient One-To-Many Table
- Updates or Creates Recipient’s Person Data on your Agillic instance
- Get a Recipient’s Person Data or One-To-Many Data from your Agillic instance
How to set up a Zap workflow using the Agillic integration
In order to take advantage of the Agillic integration on Zapier you must first create a Zap workflow on Zapier. The Agillic integration is available as an “Action” step within a Zap.
Choose Zap Trigger
Before you can choose an action and work with the Agillic integration within your Zap, you must first choose a trigger to start your Zap. The Zap trigger is a preliminary event that triggers the action phase of the Zap, much like triggered flows in Agillic.
When a trigger is configured you can proceed to an “Action” step in your Zap.
Select action to perform when Zap is triggered
Search for “Agillic” in order to find the integration in the library of applications. Click the application to add it to your Zap as an Action. When the Agillic integration is added to the Action step in your Zap you will be able to choose what type of action is needed.
The integration supports the following interactions with your Agillic instance:
-
Achieve Event
- Achieves an event in Agillic for a recipient. The event achieved can have various side-effects, configured in your Agillic instance. The ‘Achieve Event’ action will send a POST request to the Agillic recipient API.
-
Create/Update a One-To-Many Record
- Creates or updates a record in a recipient's One-To-Many Table.
-
Truncate Recipient One-To-Many Table
- Truncates (removes all rows) from a Recipient's One-To-Many Table.
-
Update or Create Recipient / (Limited Fields)
- Updates or creates a Recipient in your Agillic instance for the data fields present. If the Recipient does not exist with the unique identifier provided, one will be created. The ‘Update or Create Recipient’ action will send a PUT request to the Agillic recipient API. The Limited Fields version preloads existing Person Data fields in Agillic, however, is limited to 20 fields to be updated or created.
-
Find and Get Recipient
- Query Agillic to see if the recipient exists, and return the available Person Data for that recipient if they do.
-
Get a One-To-Many Record
- Get a One-To-Many record based on selected sorting.
-
Get One-To-Many Table
- Get the rows in a One-To-Many table for a specific recipient.
Connect your Zap to your Agillic instance
The next step is to select which Agillic account and environment (staging or production) you wish to connect your Zap to.
Instance environment
The “instance environment” refers to either staging or production. Please keep in mind that your data on staging will not be available on production and vice versa.
Instance name
The “instance name” refers to the actual URL of your Agillic instance. This is identical to the address you visit when accessing your instance environment in your browser.
API Developer Key
Enter the ‘developer key’ from a valid set of API credentials. Please note that since the Agillic integration accesses data from your instance via the Agillic Recipient API, a set of API credentials is needed in order to configure the integration. If you have not yet configured a set of API credentials on your instance, you will need to do this first in order to continue the integration with Zapier. Please note that API credentials in Agillic are separate for the staging and production environment. A set of API credentials configured on staging will not work on production and vice versa.
API Developer Secret
Enter the ‘Developer Secret’ that pairs with your ‘Developer Key’.
Configure your action step
Prerequisites
For all action steps, you need to configure the Unique Recipient Identifier Field and the Unique Recipient Identifier Value.
Unique Recipient Identifier Field
Select a unique identifier person data field for your recipients. In most cases it will make sense to choose the same person data field here as the one configured as Recipient ID on your Agillic instance. The dropdown will present you with the available options from your specific Agillic environment.
Unique Recipient Identifier Value
Enter recipient identifier or select the unique recipient value from a previous action step.
This value corresponds with the person data field selected above.
Achieve Event
Event Name
Choose the event to be triggered in Agillic for the recipient selected.
Update or create a single OTM row for a recipient
Select which One-to-Many Table you wish to create or update a record in. The dropdown lists all available One-to-Many Tables for your connected Agillic environment.
Once a table is selected, all available fields in the field will be presented as input options.
Be mindful of the option “Include fields with empty values” in particular when updating existing records. With the option toggled “on”, all fields will be sent to Agillic, regardless of them having values in them or not (sending an empty value will erase any already existing value in that field). This may or may not be desired in your particular use case.
Update or Create Recipient / (Limited Fields)
Data Fields to update or create
Select the person data fields you wish to update and enter or insert the corresponding values in the input field below.
The Update or Create Recipient (Limited Fields) can at most update 20 fields at once, however, it preloads the available fields in Agillic per default.
The Update or Create Recipient function can update as many fields as desired, however, the Agillic field names have to be entered manually.
Truncate an OTM table for a recipient
Select which One-to-Many Table you wish to truncate. The dropdown lists all available One-to-Many Tables for your connected Agillic environment.
Be aware that this is a “destructive” and non-reversible action. All rows in the One-to-Many Table will be deleted for that particular recipient.
Get Recipient
After filling out the Unique Recipient Identifier Field and Unique Recipient Identifier Value, you are fully set to receive the respective Person Data for your Zap.
Get One-To-Many Record
Select which One-to-Many Table you wish to receive a record from. Since solely one entry will be returned, a field that is used for sorting has to be provided under "Sort One-to-Many Table Field", therefore a Datetime format must be provided to ensure correct sorting.
Lastly, choose whether the Zap should continue in case no result is returned. Choose false if you want subsequent steps to always be skipped when nothing is found. This is the most common case. The true option is used for greater control with filters and paths. If true, we will consider a "not found" result from this search step as a "success" and will always run subsequent Filter or Paths steps, allowing them to branch on whether or not the search returned a result.
Get One-To-Many Table
Select which One-to-Many Table you wish to receive all records from.
Data formats
Please be aware that all data input fields in your Zap are of type String. This means that the fields can contain any character and value in the Zapier UI. However, if you have selected to update a “timestamp” or “date” field in Agillic, it is important to match the specific format and syntax for that particular field type in your integration with the syntax and format defined in your Agillic instance. You can access and view the correct formats from the Settings panel in Agillic, under API Import settings.
Test your connection
For each action step configured a “Test and review” option is immediately available. This makes it possible to test that everything is configured correctly before you activate your Zap.
The “Test and review” option sends an API request directly to your instances with the information and data provided in the Zap. It is therefore recommended that you first configure and test the action step towards the staging environment to ensure that no test requests are executed to your live recipient data on production. Please keep in mind that API credentials are separate for staging and production environments.
In order to verify the connectivity from Zapier you will need to access your Agillic instance and look up your test recipient in a target group on staging. To view the latest activity data for your recipient you can mark your recipient from the target group list and then select the magnifying glass icon in order to access Recipient investigation.
If you have achieved an event for a recipient in your Zap, you will be able to see that the specific event has been achieved and the event counter has incremented.