Database Integration

Airtable Integration

Use Airtable Automations to trigger 1FRX asset generation. When a record is created or updated, 1FRX can generate OG images, QR codes, certificates, or invoices and write the results back to your base.

How it works

  1. You create or update an Airtable record matching your automation trigger
  2. Airtable fires a webhook to 1FRX with the record data
  3. 1FRX reads the fields you've configured (title, description, colour, etc.)
  4. Generates the appropriate asset (OG image, QR code, etc.)
  5. Uploads to the 1FRX CDN and calls the Airtable API to write the asset URL back

Prerequisites

Setup steps

1. Get your 1FRX API key

Copy your API key from your 1FRX dashboard.

2. Create an Airtable Personal Access Token

  1. Log into Airtable
  2. Go to Account → Developer Hub → Personal Access Token
  3. Click Create Token
  4. Grant these scopes:
    • data.records:read
    • data.records:write
  5. Copy the token (you'll only see it once)

3. Add credentials to 1FRX dashboard

  1. Go to 1FRX → Integrations → Airtable
  2. Paste your Airtable token
  3. Click Save

4. Create an Airtable Automation

  1. In your Airtable base, go to Automations
  2. Click Create automation
  3. Choose your trigger: "When record matches conditions" or "When record created"
  4. Set any conditions (e.g., "Status equals Pending")

5. Add the webhook action

  1. Click + Add action
  2. Search for "Send a webhook" (or "Run a script")
  3. Method: POST
  4. URL: https://api.1frx.com/v1/integrations/airtable
  5. Headers:
    • X-1FRX-Key: sk_live_your_api_key
  6. Body (JSON):
    {
      "recordId": "rec...",
      "fields": {},
      "baseId": "app...",
      "tableName": "Table 1"
    }
Tip: Map your record fields into the JSON body using Airtable's automation variables. Use the {recordId}, {record.fields.Title} syntax available in the webhook action.

6. Test with a new record

Create a test record matching your automation conditions. Check your 1FRX dashboard logs to see if the webhook fired and the asset was generated.

Use case examples

Use case 1: Generate OG images from content records

Base: Blog Content Manager

Table: Blog Posts

Fields: Title, Excerpt, Brand Colour

Automation: When "Status" equals "Ready to Publish" → Generate OG Image → Write URL to "OG Image" field

Now every post marked ready gets an automatically styled OG image based on your brand.

Use case 2: Generate QR codes from contact records

Base: Contact Management

Table: Leads

Fields: Name, Email, Phone, LinkedIn URL

Automation: When record created → Generate QR Code pointing to LinkedIn URL → Write to "QR Code" field

Each new lead automatically gets a printable QR code linking to their profile.

Use case 3: Generate certificates from training records

Base: Training Management

Table: Certifications

Fields: Participant Name, Course Name, Completion Date

Automation: When "Status" equals "Completed" → Generate Certificate → Write PDF URL to "Certificate" field

Webhook payload structure

{
  "recordId": "rec8XVWo5sU7Z3h5V",
  "fields": {
    "Title": "Getting Started with AI",
    "Excerpt": "Learn the basics",
    "Color": "#5ee3ff",
    "Template": "gradient"
  },
  "baseId": "appXYZ123",
  "tableName": "Blog Posts"
}

What 1FRX writes back

1FRX updates your record with the generated asset:

{
  "og_image": "https://cdn.1frx.com/og/airtable-abc123.png",
  "qr_code": "https://cdn.1frx.com/qr/airtable-def456.png",
  "certificate": "https://cdn.1frx.com/certs/airtable-ghi789.pdf"
}

Troubleshooting

Automation is not firing

Check that your automation is enabled (toggle is on). Verify your trigger condition matches the test record you're creating.

Webhook fires but no image is written back

Check your 1FRX logs for errors. Verify the output field name exactly matches a field in your table.

Record field is not being updated

Make sure your Airtable token has data.records:write scope. Regenerate the token if needed.

Automation variable syntax error

Use Airtable's automation variable syntax: {record.fields.FieldName} for text fields, {recordId} for the record ID.

What data does 1FRX process? Only the fields you explicitly map in your automation webhook body. Full record data is not processed. Generated assets are cached on 1FRX's CDN for 30 days then removed.