Summary: With our Airtable Webhook integration, you can extend your Ziflow online proofing operations to automatically create and update records. You'll see updates in Airtable in real-time - for new proofs, comments, decisions, and more. This will keep your team up to date in the tools they're already working with.
Available for: Users with Admin rights on Pro & Enterprise editions.
Our Webhook Zibot allows you to trigger a flow when the following events occur on a proof:
New proof/version: triggers when a new proof is ready for review.
Decision: triggers when a decision is made by a reviewer or when a decision is updated on the stage and/or proof.
New comment/reply: triggers when a reviewer adds a comment/reply to the proof.
Comment resolved: triggers when a comment is marked as resolved.
Comment labeled: triggers when a reviewer labels a comment.
Proof updated: triggers when the proof folder, setting, or custom property changes.
Stage updated: triggers when a stage is started or when a reviewer is added/removed.
Comment reaction: triggers when a comment reaction is added on a comment/reply level.
Learn how to:
Create Ziflow Webhook Flow
To integrate Airtable with Ziflow, you need to click on the Connect tab and then click on the + Create Flow button, choose Ziflow as the Application, and choose which Event (New proof/version, Decision made, New comment/reply, Comment resolved, Comment labeled) you want to trigger the integration.
Set up Flow Event settings.
The first step is selecting the event that will trigger your Zibot:
Next, you will be presented with the event details page, which will vary depending on which event you select:
New proof/version
Triggered by - select the type of request that will trigger the Zibot.
Created in - select the Ziflow folder that this flow will monitor.
Created by - select the user responsible for this flow activation.
Decision made
Triggered by decision made - select what level decision needs to be made to activate the flow.
Type of decision - choose the decision that needs to be made to activate the flow.
Created in - select the Ziflow folder that this flow will monitor.
New comment/reply added
Triggered by new comment/reply, choose which option should activate the flow.
Made by - choose if a Zibot should be activated by a specific reviewer or anyone who adds a comment/reply.
Created in - select the Ziflow folder that this flow will monitor.
Comment resolved
Created in - select the Ziflow folder that this flow will monitor.
Comment labeled
Comment is labeled as - select which label(s) should trigger a Zibot.
Created in - select the Ziflow folder that this flow will monitor.
Proof updated
Triggered by - select which type of the proof updated event should trigger the Zibot.
Modified in - choose the Ziflow folder that this flow will monitor.
Stage updated
Triggered by - select which type of the stage updated event should trigger the Zibot. There are three types of stage update events: reviewer added, reviewer removed, stage locked, and deadline changed.
Modified in - choose the Ziflow folder that this flow will monitor.
Comment reaction
Triggered by - choose if you want to trigger a flow based on reactions added to comments or replies.
Comment reacted with - select what type of reaction should trigger a flow.
Created in - select the Ziflow folder that is going to be monitored by this flow.
New Proof creates a new record in Airtable.
(New proof created trigger is recommended for this type of integration)
Next, choose a Webhook Zibot:
Fill out Webhook Zibot details; this Zibot will create a record in Airtable and update whichever columns you specify.
Request type - the POST option should be selected as a request type since we want to send data to Airtable.
Request URL - fill out with your Airtable URL. Please check this document to see how to collect base and table IDs.
https://api.airtable.com/v0/{baseId}/{tableIdOrName}
Request body - should be filled with JSON body referencing columns that you would like to update in Airtable with data from Ziflow. In this case, I decided that records on the Airtable side should be created with four fields from Ziflow: Name, Proof Status Proof Link URL & Version.
{
"records": [
{
"fields": {
"Name": "{$.proof.name}",
"Proof Status": "{$.proof.status}",
"Proof Link URL": "{$.proof.public_link}",
"Version": "V {$.proof.version}"
}
}
]
}The following fields should match fields existing fields inside your Airtable base/table.
Headers - inside this section, please enter generated API key copied from your profile within Airtable.
Save your Zibot configuration by pressing the Next button.
Before continuing with the next step, please create a custom property in Ziflow to hold this Airtable record ID information. This is how I named the property in Ziflow:
Please use our API and send the following API request (Get Properties Groups) to list all properties and find the Airtable record ID. Copy both IDs (group and property) and save them in your notepad.
Once you have collected property details, add a new Webhook Zibot to your flow. This Zibot will get an Airtable record ID from Airtable so that you can store that value in a custom property and use it to tell Ziflow which record to update when there are updates from the Ziflow side (new version or approval status).
Request type - the PUT option should be selected as a request type since we want to update Ziflow proof with an Airtable record ID from the Airtable.
Request URL - fill out the Ziflow service URL that will update specific proof when Zibot is triggered.
https://api.ziflow.io/v1/proofs/{$.proof.id}
Request body - should be filled with JSON body referencing a custom property you created for Airtable Integration.
{
"custom_properties": [
{
"id": "d146e281-8b37-403e-ba3e-9ecf14ccb810", <- group ID
"properties": [
{
"id": "ec2a4a8d-89d6-4cc6-b5f0-9e850d5096f4", <- propoerty ID
"value": "{$.zibot[0].data.records[0].id}"
}
]
}
]
}Headers - inside this section, please enter generated API key copied from your profile within Ziflow.
Once you finish the flow configuration, please save all settings and activate the flow.
You can test if the flow works correctly by creating a sample proof in Ziflow and then checking if it added a record in Airtable.
Associate a New Proof in Ziflow with an existing Airtable record.
(New proof created trigger is recommended for this type of integration)
Next, choose a Webhook Zibot:
Fill out Webhook Zibot details; this Zibot will create a record in Airtable based on an Airtable Record ID property entered during proof creation.
Request type - the PUT option should be selected as a request type since we want to update the Airtable record with information from Ziflow proof.
Request URL - fill out your Airtable URL. Please check this document to see how to collect base and table IDs.
https://api.airtable.com/v0/{baseId}/{tableIdOrName}
Request body - should be filled with JSON body referencing columns that you would like to update in Airtable with data from Ziflow. In this case, I decided that records on the Airtable side should be updated with four fields from Ziflow: Name, Proof Status Proof Link URL & Version.
{
"records": [
{
"id": "{$.proof.custom_properties[?(@.name=='Airtable')].properties[?(@.name=='Airtable Record ID')].value}",
"fields": {
"Name": "{$.proof.name}",
"Proof Status": "{$.proof.status}",
"Proof Link URL": "{$.proof.public_link}",
"Version": "V {$.proof.version}"
}
}
]
}
Once you finish the flow configuration, please save all settings and activate the flow.
You can now test if the flow works correctly by creating a sample proof in Ziflow (with the Airtable record ID entered in the custom property field) and then checking if the flow connected Ziflow proof details with the Airtable record.
A proof decision is updated in Airtable record
(Decision made trigger is recommended for this type of integration)
Next, choose a Webhook Zibot:
Fill out Webhook Zibot details; this Zibot will update an Airtable record status with a proof decision once it is calculated in Ziflow.
Request type - the PATCH option should be selected as a request type since we want to update the Airtable record with information from Ziflow proof.
Request URL - fill out your Airtable URL. Please check this document to see how to collect base and table IDs.
https://api.airtable.com/v0/{baseId}/{tableIdOrName}
Request body - should be filled with JSON body referencing columns that you would like to update in Airtable with data from Ziflow. In this case, I decided that the record on the Airtable side should be updated with Proof Status from Ziflow.
{
"records": [
{
"id": "{$.proof.custom_properties[?(@.name=='Properties for integration purposes')].properties[?(@.name=='Airtable Record ID')].value}",
"fields": {
"Proof Status": "Approved"
}
}
]
}
Once you finish the flow configuration, please save all settings and activate the flow.
You can now test if the flow works correctly by submitting a proof decision on a sample proof in Ziflow and then checking if the flow has passed the correct proof status in the Airtable record.
Update the Airtable record when a new proof version is created in Ziflow
(Version created trigger is recommended for this type of integration)
Next, choose a Webhook Zibot:
Fill out Webhook Zibot details; this Zibot will update an Airtable record when a new proof version is added in Ziflow.
Request type - the PUT option should be selected as a request type since we want to update the Airtable record with information from Ziflow proof.
Request URL - fill out your Airtable URL. Please check this document to see how to collect base and table IDs.
https://api.airtable.com/v0/{baseId}/{tableIdOrName}
Request body - should be filled with JSON body referencing columns that you would like to update in Airtable with data from Ziflow. In this case, I decided that the record on the Airtable side should be updated with four fields from Ziflow: Name, Proof Status Proof Link URL & Version.
{
"records": [
{
"id": "{$.proof.custom_properties[?(@.name=='Airtable')].properties[?(@.name=='Airtable Record ID')].value}",
"fields": {
"Name": "{$.proof.name}",
"Proof Status": "{$.proof.status}",
"Proof Link URL": "{$.proof.public_link}",
"Version": "V {$.proof.version}"
}
}
]
}
Once you finish the flow configuration, please save all settings and activate the flow.
You can now test if the flow works correctly by creating a new proof version and then checking if the flow has passed updated version details in the Airtable record.
Additional information:
The Ziflow-Airtable Integration requires you to generate an Airtable API Token.
Where to find base and board IDs in Airtable
See how to get a record ID in Airtable