Integrating With Airtable Using Webhooks

Send Ziflow events to your Airtable using Webhooks.

Updated over a week ago

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.

Create Ziflow Webhook Flow

Set up Flow Event settings.

The first step is selecting the event that will trigger your Zibot:

Set up Flow Event settings in Ziflow

Next, you will be presented with the event details page, which will vary depending on which event you select:


New proof/version

New proof/version event settings in Ziflow
  1. Triggered by - select the type of request that will trigger the Zibot.

  2. Created in - select the Ziflow folder that this flow will monitor.

  3. Created by - select the user responsible for this flow activation.


Decision made

Decision made event settings in Ziflow
  1. Triggered by decision made - select what level decision needs to be made to activate the flow.

  2. Type of decision - choose the decision that needs to be made to activate the flow.

  3. Created in - select the Ziflow folder that this flow will monitor.


New comment/reply added

New comment/reply added event settings in Ziflow
  1. Triggered by new comment/reply, choose which option should activate the flow.

  2. Made by - choose if a Zibot should be activated by a specific reviewer or anyone who adds a comment/reply.

  3. Created in - select the Ziflow folder that this flow will monitor.


Comment resolved

Comment resolved event settings in Ziflow
  1. Created in - select the Ziflow folder that this flow will monitor.


Comment labeled

Comment labeled event settings in Ziflow
  1. Comment is labeled as - select which label(s) should trigger a Zibot.

  2. Created in - select the Ziflow folder that this flow will monitor.


Proof updated

Proof updated event settings in Ziflow
  1. Triggered by - select which type of the proof updated event should trigger the Zibot.

  2. Modified in - choose the Ziflow folder that this flow will monitor.


Stage updated

Stage updated event configuration
  1. 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.

  2. Modified in - choose the Ziflow folder that this flow will monitor.


Comment reaction

Comment reaction event settings
  1. Triggered by - choose if you want to trigger a flow based on reactions added to comments or replies.

  2. Comment reacted with - select what type of reaction should trigger a flow.

  3. 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)

New proof created trigger selected as an event

Next, choose a Webhook Zibot:

Select Webhook as Zibot during flow configuration

Fill out Webhook Zibot details; this Zibot will create a record in Airtable and update whichever columns you specify.

Fill out Zibot details
  1. Request type - the POST option should be selected as a request type since we want to send data to Airtable.

  2. 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}
  3. 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.

    Airtable board with record created within Ziflow

  4. Headers - inside this section, please enter generated API key copied from your profile within Airtable.

    Airtable apikey entered in Zibot configuration for authorization

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.

Group and property ID from Ziflow

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).

Airtable Webhook Zibot details
  1. 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.

  2. 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}
  3. 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}"
    }
    ]
    }
    ]
    }
  4. Headers - inside this section, please enter generated API key copied from your profile within Ziflow.

    Ziflow apikey entered in headers section

Once you finish the flow configuration, please save all settings and activate the flow.

Save and activate flow in Ziflow

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.

Test Ziflow - Airtable integration

Associate a New Proof in Ziflow with an existing Airtable record.

(New proof created trigger is recommended for this type of integration)

New proof selected as a flow event

Next, choose a Webhook Zibot:

Select Webhook as 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.

Airtable Webhook Zibot details
  1. 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.

  2. 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}
  3. 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}"
    }
    }
    ]
    }
  4. Headers - inside this section, please enter generated API key copied from your profile within Airtable.

    Airtable apikey entered in Webhook Zibot headres section

Once you finish the flow configuration, please save all settings and activate the flow.

Save and enable flow configuration in Ziflow

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.

Test Ziflow - Airtable integration


A proof decision is updated in Airtable record

(Decision made trigger is recommended for this type of integration)

Decision made selected as a flow trigger in Ziflow

Next, choose a Webhook Zibot:

Webhook selected as a flow Zibot in Ziflow

Fill out Webhook Zibot details; this Zibot will update an Airtable record status with a proof decision once it is calculated in Ziflow.

Airtable Webhook Zibot details
  1. 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.

  2. 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}
  3. 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"
    }
    }
    ]
    }
  4. Headers - inside this section, please enter generated API key copied from your profile within Airtable.

    Airtable apikey enetered in headers section

Once you finish the flow configuration, please save all settings and activate the flow.

Save and enable flow after it's been configured in Ziflow

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.

Test Ziflow - Airtable integration

Update the Airtable record when a new proof version is created in Ziflow

(Version created trigger is recommended for this type of integration)

Version created selected as a flow event in Ziflow

Next, choose a Webhook Zibot:

Webhook selected as a flow Zibot in Ziflow

Fill out Webhook Zibot details; this Zibot will update an Airtable record when a new proof version is added in Ziflow.

Airtable Webhook Zibot details
  1. 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.

  2. 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}
  3. 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}"
    }
    }
    ]
    }
  4. Headers - inside this section, please enter generated API key copied from your profile within Airtable.

    Airtable apikey enetered in headers section

Once you finish the flow configuration, please save all settings and activate the flow.

Save and enable Airtable flow in Ziflow

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.

Test Ziflow - Airtable integration

Additional information:


Supporting Material:

Did this answer your question?