Integrations
Integrations
Connect BuoyForms to your favorite tools and automate your workflow.
Available Integrations
Zapier
Connect to 5,000+ apps through Zapier webhooks.
-
1
Open Integration Settings
Go to Settings > Integrations. ::
-
2
Add Zapier
Click Add Integration > Zapier and copy the webhook URL provided. ::
-
3
Create Your Zap
In Zapier, create a new Zap with "Webhooks by Zapier" as the trigger. ::
-
4
Paste the Webhook URL
Paste your BuoyForms webhook URL into the Zap trigger configuration. ::
-
5
Select Events
Select which BuoyForms events trigger the webhook. ::
Supported Events:
| Event | Description |
|---|---|
submission.created |
New form submission |
submission.updated |
Submission modified |
form.published |
Form goes live |
form.unpublished |
Form taken offline |
Slack
Post notifications to Slack channels on form events.
-
1
Open Integration Settings
Go to Settings > Integrations. ::
-
2
Add Slack
Click Add Integration > Slack. ::
-
3
Authorize BuoyForms
Authorize BuoyForms to post to your Slack workspace. ::
-
4
Select a Channel
Select the target channel for notifications. ::
-
5
Choose Events
Choose which events trigger notifications. ::
Notification Content:
- Submitter info (if collected)
- Form name and submission ID
- Link to view submission in BuoyForms
- Key field values (configurable)
Google Sheets
Automatically sync submissions to a Google Spreadsheet.
-
1
Open Integration Settings
Go to Settings > Integrations. ::
-
2
Add Google Sheets
Click Add Integration > Google Sheets. ::
-
3
Authorize Google
Authorize with your Google account. ::
-
4
Select a Spreadsheet
Select an existing spreadsheet or create a new one. ::
-
5
Map Fields
Map form fields to spreadsheet columns. ::
Features:
- Real-time sync on new submissions
- Automatic column headers from field labels
- Supports multiple forms per spreadsheet (separate tabs)
- Handles file uploads as links
Form-Level Configuration
Each integration can be customized per-form:
-
1
Open Form Settings
Open a form's Settings. ::
-
2
Go to Integrations Tab
Go to the Integrations tab. ::
-
3
Enable or Disable
Enable/disable integrations for this form. ::
-
4
Configure Field Mappings
Configure field mappings to control which data is sent. ::
-
5
Override Credentials (Optional)
Override credentials if needed for this specific form. ::
Event Types
| Event | Description |
|---|---|
submission.created |
New submission received |
submission.updated |
Submission data modified |
submission.deleted |
Submission removed |
form.created |
New form created |
form.updated |
Form settings changed |
form.published |
Form made public |
form.unpublished |
Form taken offline |
form.deleted |
Form removed |
Webhook Payloads
All webhooks include:
{
"event": "submission.created",
"timestamp": "2025-11-27T10:30:00Z",
"organizationId": "org_...",
"formId": "form_...",
"submissionId": "sub_...",
"data": {
"fields": { ... },
"metadata": { ... }
}
}Retry Logic
Failed webhook deliveries retry automatically:
| Parameter | Value |
|---|---|
| Retry attempts | 3 |
| Retry delays | 1 min, 5 min, 30 min |
| Timeout | 30 seconds per attempt |
View delivery status in Settings > Integrations > Logs.
Security
- Webhook payloads include HMAC signatures for verification
- OAuth tokens are encrypted at rest
- Credentials are scoped per organization
- Revoke access anytime from integration settings
Troubleshooting
- Verify the integration is enabled for the specific form
- Check that the selected events match your expected triggers
- Review the integration logs for errors
- Confirm the form is published — draft forms do not fire integration events ::
- Ensure your endpoint returns 2xx status codes
- Check for timeout issues (keep processing under 30s)
- Verify the endpoint accepts POST requests with JSON body
- Check the Integrations > Logs panel for HTTP status codes and error details ::
- Re-authorize if token expired
- Check spreadsheet permissions
- Verify field mappings are configured
- Ensure the spreadsheet has not been deleted or moved ::
Advanced: Custom Webhook Headers
You can add custom HTTP headers to webhook requests for authentication with your backend. Go to the webhook configuration and add key-value pairs under Custom Headers. Common uses include passing API keys or correlation tokens to your receiving service.