Skip to main content

Integrations

Each response moves itself to Sheets, Notion, HubSpot, Slack, Zapier, email, or your backend. No re-keying, and you can see what was delivered.

Choose by the job to be done

It is tempting to switch on every destination at once, which mostly puts the same answer in five places and leaves the next step unowned. Start with the system that owns the next action, then add another destination only when it has a distinct job. Destinations complement the Fillo response record; they do not replace it.

NeedUseWhy
A shared operating tableGoogle SheetsAppend one row per submission for a team workflow.
A workspace databaseNotionAppend each response to a generated Notion database.
A controlled team signalSlackPost a response link, optionally with up to three allowlisted answers.
A HubSpot CRM workflowHubSpotRecord native Form activity and create or update associated CRM records.
No-code automationZapierTrigger Zaps from new or updated Fillo responses.
A custom backendWebhooksReceive signed JSON and own downstream processing.
A lightweight human alertSubmission emailNotify one team address when a response lands.
A confirmation for the respondentReceipt emailConfirm submission at the first answered email field; the message does not echo answers.

Choose a destination guide

Fillo ships direct response paths for Google Sheets, Notion, HubSpot, Slack, Discord, Zapier, and n8n. The other guides below document an honest webhook, Zapier, or host-application workflow instead of implying a native connector exists.

  • Google Sheets: Append accepted responses to a new spreadsheet or supported existing tab.
  • Notion: Create a database and append one page per accepted delivery.
  • Install HubSpot · Guide: Record native Form activity and map selected answers to Contacts, Companies, and Deals.
  • Install Slack · Guide: Choose a channel and send an authenticated Fillo response link, with up to three explicitly selected answers.
  • Airtable: Use the Fillo Zapier trigger or a signed server-side webhook workflow.
  • Install Discord · Guide: Connect a channel with one click (or paste its webhook) for mention-safe response links, up to three selected answers, and in-channel triage buttons.
  • Set up Zapier · Guide: Trigger supported no-code workflows for new and updated responses.
  • Make: Start a scenario from a signature-verifying receiver, or use Zapier instead.
  • Set up n8n · Guide: Install the Fillo community node for an instant response trigger, or keep the signed webhook receiver.
  • Analytics pixels: Track minimal accepted-submission events in the host app without forwarding answers.

Set up Sheets or Notion

  1. Connect the workspace account

    Open Settings → Connections. The Google connection is shared by Drive storage and Google Sheets; Notion has its own connection and needs a page shared with Fillo as the database home.

  2. Enable the destination on one form

    Open Form settings → Destinations. For Sheets, create a new spreadsheet or select an existing spreadsheet; Fillo uses a Responses tab for a new sheet and the first tab of a selected sheet. For Notion, create the form database and optionally choose which answer becomes its title.

  3. Send a real test response

    Open the destination from form settings and confirm the row shape before inviting respondents. Keep stable field ids when editing the form; labels can change while response identity remains intact.

  • Each submission is first stored in Fillo, then delivered to the enabled sink.
  • Delivery status stays attached to the response. After correcting a connection or provider issue, Retry failed requeues only the failed destinations on the selected responses. A response drawer's Re-send deliberately sends that response to every current destination again.
  • External rows outlive the integration unless you remove them in that provider. Disabling a destination stops new deliveries; it does not erase prior rows.

Connect Zapier

  1. Open the public Fillo app

    Open Fillo's Zapier setup, then add the invited or directory-listed app in Zapier and start with New or Updated Response.

  2. Create a token

    In Settings → Connections → Zapier, create a Fillo API token. It is shown once; copy it before closing. Fillo stores only its hash and safe usage metadata.

  3. Connect the Fillo app in Zapier

    Paste the token as the Fillo API key, choose a published form in that project, and test the response trigger. Each creation or later update has its own trigger event id while the Fillo response id stays stable. Protected uploads appear as lazy file values that download only when a later step uses them.

  4. Revoke deliberately

    The Connections list also shows CLI tokens. Revoke only the token you mean to rotate; a revoked token stops its Zapier account or CLI session from authenticating.

Use email for lightweight handoff

  • Set Team notification email to one valid team address when a human needs a prompt for each response or persistent delivery failure.
  • Enable Receipt email when respondents should receive a submission confirmation. Fillo sends it to the first answered email field and does not include their answers, so make the field required when delivery matters.
  • These settings are managed in the dashboard. Syncing with a publishable key does not change notifyEmail or sendReceipt.
  • Use an integration or webhook when another system must receive every response. Email notifications can be delayed or missed.

Use webhooks for your own backend

Configure a webhook per form when your backend owns the workflow. Fillo signs the raw request body, records attempts, and retries non-2xx responses or timeouts with backoff.

Webhook delivery is at-least-once. Verify the signature, acknowledge quickly, and deduplicate only on X-Fillo-Delivery-Id. Do not use the response id: response.updated reuses the same response id for a new delivery. The webhook guide contains the exact headers, payload, signature code, and retry schedule.

Operate destinations safely

  • Keep OAuth connections owned by the workspace, explicitly select a provider account per project, and pin each enabled form destination to the exact connection it was configured with.
  • Test after schema changes, especially when a downstream workflow assumes a particular label or column type.
  • Watch delivery state in Responses. Fix authorization or provider errors before retrying, and make downstream writes duplicate-safe.
  • Disconnecting an account affects every form that uses it. Inventory enabled forms and historical data access before rotating or removing a connection.

Next steps

This page for agents: /docs/integrations.md · index at /llms.txt

Updated

Was this page helpful?