n8n Integration
Receive Swft order events in n8n using the Webhook node, then chain any action — Airtable, Notion, Slack, email, or your own API.
Option 1 — Webhook trigger node (recommended)
Section titled “Option 1 — Webhook trigger node (recommended)”Use this when you want n8n to receive events in real time as they happen.
- Add a Webhook node to your workflow
- Set HTTP Method to
POST - Copy the webhook URL n8n gives you — it looks like:
https://your-n8n-instance.com/webhook/abc123
- In the Swft dashboard Settings → Integrations, paste this URL into the inbound webhook field and copy it
- Register the subscription by calling the Swft API directly (or via an n8n HTTP Request node on workflow activation):
POST https://api.swft.co.uk/merchants/zapier/subscribex-swft-api-key: YOUR_API_KEYContent-Type: application/json
{ "target_url": "https://your-n8n-instance.com/webhook/abc123", "event": "order.completed", "provider": "n8n"}Available events: order.completed, order.failed, cart.abandoned, refund.issued
- Activate your workflow — Swft will now POST to n8n every time the event fires
Unregistering
Section titled “Unregistering”When you deactivate your workflow, call:
DELETE https://api.swft.co.uk/merchants/zapier/unsubscribex-swft-api-key: YOUR_API_KEYContent-Type: application/json
{ "target_url": "https://your-n8n-instance.com/webhook/abc123" }Option 2 — HTTP Request node (polling / one-off)
Section titled “Option 2 — HTTP Request node (polling / one-off)”Use an HTTP Request node to fetch data from Swft on demand (e.g. in a scheduled workflow).
| Field | Value |
|---|---|
| Method | GET / POST |
| URL | https://api.swft.co.uk/merchants/analytics |
| Authentication | Header Auth |
| Header name | x-swft-api-key |
| Header value | Your merchant API key |
Sample workflow — Order completed → Airtable row
Section titled “Sample workflow — Order completed → Airtable row”Import this JSON into n8n via Workflows → Import from clipboard:
{ "name": "Swft — Order to Airtable", "nodes": [ { "parameters": { "httpMethod": "POST", "path": "swft-order", "responseMode": "onReceived" }, "name": "Swft Webhook", "type": "n8n-nodes-base.webhook", "typeVersion": 1, "position": [250, 300] }, { "parameters": { "operation": "create", "application": "YOUR_AIRTABLE_BASE_ID", "table": "Orders", "additionalFields": {}, "fields": { "Order ID": "={{ $json.data.order_id }}", "Customer": "={{ $json.data.customer.first_name }} {{ $json.data.customer.last_name }}", "Email": "={{ $json.data.customer.email }}", "Total (£)": "={{ ($json.data.total_pence / 100).toFixed(2) }}", "Currency": "={{ $json.data.currency }}", "Event": "={{ $json.event }}", "Created At": "={{ $json.created_at }}" } }, "name": "Create Airtable Row", "type": "n8n-nodes-base.airtable", "typeVersion": 1, "position": [500, 300] } ], "connections": { "Swft Webhook": { "main": [[{ "node": "Create Airtable Row", "type": "main", "index": 0 }]] } }}Replace YOUR_AIRTABLE_BASE_ID and configure Airtable credentials in n8n. The expression $json.data.total_pence / 100 converts pence to pounds.
Payload reference
Section titled “Payload reference”See the Zapier integration page for the full payload field reference — the payload shape is identical across all integrations.