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:| Event | Fires when |
|---|---|
session.completed | A respondent reaches an End screen and submits |
session.started | A respondent opens the form and a session is created |
Payload
Every delivery sends a JSON payload with the same structure regardless of integration type: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
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.
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.
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:| Field | Description |
|---|---|
| Event | Which event triggered the delivery |
| Status | success or error |
| Response code | HTTP status code returned (e.g. 200, 500) |
| Duration | How long the delivery took in milliseconds |
| Timestamp | When 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
| Status | Meaning |
|---|---|
active | Integration is connected and delivering |
inactive | Integration is disabled (no deliveries sent) |
error | Last delivery failed; check the log |
pending | Integration 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-Signatureheader 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