Integrations · 10 min
Connect Zapier and n8n to VZFLO
Use Integrations to connect Zapier, n8n, or another webhook tool to VZFLO. External workflows can post structured inbound events into your workspace, workspace agents can run from those events, and VZFLO can send selected events back to a Zapier or n8n webhook.
Walkthrough
Step by step
Create an integration connection
Open Integrations, create a New integration connection, and choose Zapier, n8n, or Custom as the provider. Use one connection for each Zap, n8n workflow, or external app that should send events into VZFLO.
Inbound
New integration connection
Create one reusable connection for each external workflow.
Create a connection for each Zapier Zap, n8n workflow, or custom app that posts events into VZFLO.
Name connections after the external workflow, such as “Zapier lead intake” or “n8n booking sync,” so they are easy to audit later.
Generate the endpoint key
Choose Generate endpoint key. VZFLO shows a bearer token once. Copy it into Zapier or n8n and use it in the Authorization header when posting events to VZFLO.
Shown once
Authorization: Bearer vzflo_live_••••••••••••••••••••
Copy the key before leaving the page. VZFLO will not show the full value again.
Treat the key like a password. If it is lost or exposed, delete the connection and create a new one.
Define an inbound event type
Create an Inbound event type for the connection. The event type is the stable name Zapier or n8n will send. Use the payload field builder to add each key, choose its type, mark required fields, add optional descriptions, and nest fields when the payload contains grouped objects.
Add keys, types, optional descriptions, and nested fields without writing raw JSON.
The field helper keeps inbound automation predictable before an agent receives it, and you can edit it later the same way.
Keep event type names short and stable, such as new_booking, quote_request, job_completed, or support_ticket_created. The field helper builds the accepted payload shape for you.
Post an inbound event from Zapier or n8n
In Zapier or n8n, add a webhook POST step that sends JSON to the VZFLO inbound event endpoint. Include event_type, payload, and optional source and source_id fields.
{
"event_type": "quote_request",
"source": "zapier",
"source_id": "zap-run-123",
"payload": {
"customer_name": "Jamie Kirk",
"phone": "480-555-0142",
"summary": "Requested an HVAC quote."
}
}
Use the same shape from Zapier Webhooks, n8n HTTP Request, or any custom webhook sender.
The event_type must match one of the inbound event types configured for that connection, or VZFLO will reject the event.
Invoke a workspace agent from the event
Open or create a workspace agent, then open Event triggers and select External event received. Write the agent instructions so it knows which event_type and payload fields to use.
Event triggers
Agent instructions
When an external event arrives with event_type quote_request, read payload.customer_name, payload.phone, and payload.summary. Create a follow-up task, summarize the request, and email the configured recipient if the request is urgent.
The trigger starts the agent; the instructions tell it what to do with the inbound payload.
This is the bridge from Zapier or n8n into VZFLO automation: the external event lands in VZFLO, then the selected workspace agent performs the follow-up work.
Send VZFLO events back to Zapier or n8n
Create a Webhook subscription in Integrations, paste the Zapier Catch Hook or n8n Webhook URL, and choose the VZFLO events to send, such as Call completed, Contact created, Email received, Dataset row written, or External event received.
Outbound
Webhook subscription
Send selected VZFLO events to Zapier, n8n, or another webhook receiver.
Choose only the events your Zapier or n8n workflow needs.
Use outbound webhooks when another system needs to react to VZFLO activity, such as creating a task, updating a CRM, or notifying a Slack channel through Zapier or n8n.
Test both directions
Send a test event from Zapier or n8n and confirm it appears in Recent inbound events. Then trigger a selected VZFLO event and confirm the Zapier or n8n webhook receives it.
A complete test proves inbound events, agent triggers, and outbound webhooks are all wired correctly.
Test with a small payload first. Once the event arrives and the agent runs, expand the payload field definition and instructions for the full workflow.
Before you finish
Launch checklist
- An integration connection exists for Zapier, n8n, or the external webhook tool.
- The bearer token was copied into the external workflow authorization header.
- At least one inbound event type and payload field definition are configured.
- Zapier or n8n posts to /api/integrations/events with event_type and payload.
- A workspace agent has External event received selected under Event triggers.
- The agent instructions explain what to do with the event payload.
- Outbound webhook subscriptions are configured only for the VZFLO events the external workflow needs.
- A test proves inbound events and outbound events both work.
Fix common issues
Troubleshooting
Zapier or n8n receives a 401 response.
Confirm the request includes Authorization: Bearer YOUR_KEY and that the connection has not been deleted or regenerated.
VZFLO rejects the inbound event.
Confirm event_type exactly matches the configured inbound event type and that the payload includes the required fields from the payload field builder.
The event is received, but no workspace agent runs.
Open the workspace agent settings and confirm External event received is selected under Event triggers. Then update the instructions so the agent knows how to use the event payload.
Zapier or n8n does not receive VZFLO events.
Open the Webhook subscription, confirm the target URL is the Zapier Catch Hook or n8n Webhook URL, and confirm at least one event type is selected.
Keep learning