Skip to main content
Integrations connect your forms to external tools. When something happens on a form — a respondent starts or completes a session — Feedal fires an event and delivers a payload to every connected integration.

Concepts

Integration vs form integration

There are two layers:
  • Integration — an account-level connection to a service (e.g. “My Slack workspace”). Created once, reusable across forms.
  • Form integration — attaches an integration to a specific form and controls which events trigger it. One integration can be attached to multiple forms.

Events

Two events are currently supported:
EventFires when
session.completedA respondent reaches an End screen and submits
session.startedA respondent opens the form and a session is created
Each form integration has an events list. You choose which events trigger a delivery for that form.

Payload

Every delivery sends a JSON payload with the same structure regardless of integration type:
{
  "event": "session.completed",
  "feedal_version": "2.0",
  "form": {
    "id": "uuid",
    "slug": "your-form-slug",
    "title": "Customer feedback"
  },
  "session": {
    "id": "uuid",
    "started_at": "2026-03-17T10:00:00Z",
    "completed_at": "2026-03-17T10:03:24Z",
    "duration_seconds": 204,
    "total_score": 42,
    "answers": {
      "node_abc123": "Very satisfied",
      "node_def456": 9
    }
  },
  "timestamp": "2026-03-17T10:03:24Z"
}
The answers object maps each question node ID to the respondent’s raw answer value. Complex answers (arrays, objects) are serialised to JSON strings.

Setting up an integration

1

Create an account-level integration

Go to Integrations in the main sidebar. Click New integration, choose a type, fill in the configuration, and save.For OAuth integrations (HubSpot, Pipedrive, Google Sheets), click Connect and complete the authorisation flow.
2

Attach to a form

Open a form and go to the Connect tab in the studio. Find the integration you want to attach and click Connect.Choose which events should trigger a delivery for this form.
3

Test the connection

Click Test on any form integration to fire a test delivery immediately. The delivery log shows the result within seconds.

Delivery log

Every delivery attempt — success or failure — is recorded in the delivery log. Access it from the Connect tab or from the Integrations page. Each log entry shows:
FieldDescription
EventWhich event triggered the delivery
Statussuccess or error
Response codeHTTP status code returned (e.g. 200, 500)
DurationHow long the delivery took in milliseconds
TimestampWhen the delivery was attempted

Retry

Failed deliveries can be retried manually. Click Retry on any failed log entry. A fresh delivery is queued immediately with the same payload.

Integration statuses

StatusMeaning
activeIntegration is connected and delivering
inactiveIntegration is disabled (no deliveries sent)
errorLast delivery failed; check the log
pendingIntegration created but not yet tested

Failure notifications

Each form integration has a Notify on failure toggle. When enabled, Feedal sends you an email alert if consecutive delivery failures exceed a threshold. The counter resets automatically on the next successful delivery.

Security

  • OAuth integrations (HubSpot, Pipedrive, Google Sheets) store access tokens encrypted at rest. Tokens are refreshed automatically before they expire.
  • Secret fields (API keys, auth tokens) are always masked in the UI and API responses — they are never returned in plain text after saving.
  • Webhooks include an X-Feedal-Signature header for payload verification. See Webhooks for details.

Available integrations

Webhook

Developer

Email notification

Notification

Slack

Messaging

Zapier

Automation

Make

Automation

HubSpot

CRM

Pipedrive

CRM

Google Sheets

Spreadsheet

Airtable

Spreadsheet

Notion

Spreadsheet