Trigger an Action on any Frame.io asset to automatically log its metadata, links, and project details to an Airtable Asset Index.
What you'll need
A Frame.io V4 account with Account Admin permissions
A Zapier account (Free plan or above)
An Airtable account with an Asset Index table configured (see below)
Important: Actions are only visible to users who are members of the workspace where the action is configured. Users with access only at the project or folder level will not see the Actions menu.
Set up your Airtable table
This template is preconfigured to write to an Airtable Asset table with the following fields:
Name
Download Link
View Link
Asset Type
Date Uploaded
Project
Uploader
Thumbnail
File ID
These fields can be adjusted to match your team's existing table structure.
Before you set up this Zap
Create an Action in Frame.io.
This Zap is triggered by a Action in Frame.io. If you have not set one up yet, follow Set Up Actions in Frame.io for Zapier before continuing. You will need the webhook URL from your Catch Hook trigger step before you can complete the setup below.
Set up the Zap
Step 1: Open the template and set up the Catch Hook
Click [here] to open the template in Zapier. The setup wizard will create a skeleton for the zap. Once your zap has been named and saved to the desired location exit the setup wizard. Copy the webhook URL from the Catch Hook trigger step and paste it into the URL field of your Action in Frame.io. For full instructions see Set Up Actions in Frame.io for Zapier.
Step 2: Fire a test trigger
In Frame.io, right-click any file in the workspace, select Actions, and choose your Action. Return to Zapier and confirm the Catch Hook step has received the payload.
Step 3: Connect your accounts and confirm dynamic field mapping
Frame.io: Select the account associated with the workspace where your Action is configured.
Airtable: Select the account that contains your Asset Index table.
Then confirm the following steps are mapped to dynamic values from the webhook payload:
Show File step - retrieves the full asset record including metadata, creator, and media links
Account: Account Id from the webhook payload
File: Resource Id from the webhook payload
Show Project step - retrieves the project name using data from the webhook payload
Account: Account Id from the webhook payload
Workspace: Workspace Id from the webhook payload
Project: Project Id from the webhook payload
Each field must use the dynamic value from the payload, not a static value. Static values lock the Zap to a single hardcoded asset and it will run on that asset every time, regardless of what triggered the action.
Step 4: Set the project filter (recommended)
The filter scopes the Zap to one Frame.io project. Without it, the Zap logs assets from your entire workspace.
The project ID field should now be populated from the test payload. Confirm it matches the project you want to scope this automation to, or enter a different project ID manually.
To find a project ID:
Open the project in Frame.io
Copy the ID from the browser URL bar. It is the string of characters after /project/
Note: To scope the filter to a specific folder, navigate into the folder in Frame.io. The folder ID will appear in the URL after the project ID. Use that value in the filter field instead.
To skip the filter, delete the filter step. The Zap will log assets from all projects in your workspace.
Step 5: Configure the Airtable step
Select your Airtable Base and Table. The following fields are mapped dynamically from Frame.io Show File and Show Project and should not be changed:
Name: file name
Download Link: original download URL
View Link: Frame.io view URL
Asset Type: media type
Date Uploaded: file created date
Project: project name from the Show Project step
Uploader: creator name
Thumbnail: thumbnail URL
File ID: resource ID from the webhook payload
Step 6: Publish the Zap
Click Publish. The Zap is now live.
Use the Action in Frame.io
Right-click any asset in Frame.io and select Actions
Select Log to Airtable (or whatever you named your action)
A new record is created in your Airtable Asset Index automatically.
Troubleshooting
Zapier is not receiving the test payload
Make sure the webhook URL in your Action matches the URL from the Catch Hook trigger step exactly. Confirm the Action is active at next.frame.io/settings/actions.
Frame.io fields are empty in later steps
The Catch Hook has not received a payload yet. Complete Step 2 before configuring the Show File, Show Project, and Airtable steps.
Project name is not appearing in the Airtable record
Confirm the Show Project step is mapped to dynamic values from the webhook payload. If the project ID is static, the step will always look up the same project.
Filter step stopping the Zap
Make sure the project ID is copied exactly from the URL, with no extra spaces or characters.
Airtable record is missing fields
Confirm your Airtable table has all required fields and that each field in the Zap step is mapped to the correct dynamic value.
Actions menu not showing in Frame.io
See Set Up Actions in Frame.io for Zapier for troubleshooting steps.
