What you can do with n8n + RemixCRM
n8n is a self-hostable workflow automation tool — think Zapier but open-source and runs on your own server. RemixCRM works with n8n in both directions:
- Outbound — RemixCRM events trigger n8n workflows (
lead.created, etc.) - Inbound — n8n workflows write data into RemixCRM (create leads, post events)
Combined, you can build anything from "post new leads to Slack" to "if a deposit is paid, create a Trello card for prep, generate a Google Calendar invite, and send a welcome SMS via Twilio."
Why n8n over Zapier
| Zapier | n8n | |
|---|---|---|
| Pricing | $20-50+/mo per ~1k tasks | Free self-hosted, ~$20/mo n8n Cloud |
| Complexity ceiling | Limited — no real branching/loops | Full code support, branches, loops |
| Self-host | No | Yes (Docker, one command) |
| Pre-built RemixCRM node | No (use generic Webhook + HTTP) | No (use generic Webhook + HTTP) |
| Best for | Quick zaps, non-technical users | Heavy automation, tinkerers |
Both work great with RemixCRM via generic HTTP nodes — there's no RemixCRM-specific node yet, but you don't need one.
Outbound — n8n receives events from RemixCRM
How RemixCRM fires events
Whenever something important happens in your org (a lead is created, a payment is recorded, a lead converts), RemixCRM POSTs a JSON payload to a single URL you configure under Settings → Integrations → Workflow Automation → n8n Webhook URL.
The payload format:
{
"event": "lead.created",
"org_id": "uuid",
"timestamp": "2026-05-25T20:30:00Z",
"data": { ... }
}
See Outbound webhooks for the full list of events
and their data schemas.
Setup in n8n
- New workflow → + → Trigger → Webhook
- HTTP Method: POST
- Path: anything memorable, e.g.
remixcrm-events - Authentication: None (the URL itself is the secret — keep it private)
- Respond: Immediately
- Click "Listen for test event" / activate the workflow → copy the Production URL
- Paste it into RemixCRM Settings → Integrations → n8n Webhook URL
n8n will receive every event for your org. Add a Switch or IF node
right after the trigger to route by {{$json.event}} — lead.created,
payment.recorded, etc.
Outbound triggers — every event RemixCRM fires
| Event | When it fires | Key fields in data |
|---|---|---|
lead.created |
New lead in your org | id, first_name, last_name, email, status |
lead.status_changed |
Lead moved between statuses | lead_id, status |
lead.converted |
Lead → event conversion | lead_id, event_id, client_id |
payment.recorded |
Any payment (card, Venmo, Zelle, manual) | amount, payment_type, client_email, event_id, status, receipt_url |
See Outbound webhooks for full payload examples.
Recipe: New-lead Slack alert
- Webhook trigger (from above)
- IF node:
{{$json.event}}equalslead.created - Slack → Send Message node, channel
#leads:🎯 New lead: {{$json.data.first_name}} {{$json.data.last_name}} 📧 {{$json.data.email}} 📅 Event: {{$json.data.event_date}}
Recipe: Payment → Slack + QuickBooks
- Webhook trigger
- IF:
event = payment.recordedANDstatus = completed - Branch A — Slack →
#payments: "💰 $X paid by Y for event on Z" - Branch B — QuickBooks → Create Invoice node (n8n has a native QuickBooks node) → reconciles automatically
Recipe: Send SMS confirmation on lead conversion
- Webhook trigger
- IF:
event = lead.converted - HTTP Request node (to Twilio direct or to RemixCRM if we add a send-sms endpoint) — text the client: "Hi! We've set up your event in our system. Check your email for next steps."
Inbound — n8n writes data into RemixCRM
The Lead API
Easiest entry point: POST /api/v1/leads. Use an HTTP Request node:
- Method: POST
- URL:
https://app.remixcrm.com/api/v1/leads - Authentication: Header — name
Authorization, valueBearer rmx_yourkey(store the key in n8n's credentials manager) - Body (JSON):
{ "name": "{{$json.full_name}}", "email": "{{$json.email}}", "phone": "{{$json.phone}}", "event_date": "{{$json.event_date}}", "source": "n8n — {{$workflow.name}}", "notes": "{{$json.message}}" }
See Lead API for the full request schema. Response is
201 Created with { id, status, lead_url }.
Inbound trigger sources — what can feed RemixCRM via n8n
| Source | n8n node | Use case |
|---|---|---|
| Your website form | Webhook trigger | Custom forms on any platform |
| Google Ads Lead Forms | HTTP webhook trigger | Google posts JSON, you transform + forward |
| Facebook Lead Ads | Facebook Lead Ads Trigger (community node) | Same for IG ads |
| Typeform | Typeform trigger | Detailed forms with logic |
| Airtable | Airtable trigger (on create) | Manually entered leads in Airtable |
| Google Sheets | Google Sheets trigger | Spreadsheet → leads |
| Email parsing | IMAP Email trigger + extraction | Forward inquiry emails → auto-create lead |
| Calendly | (Use the built-in RemixCRM Calendly integration) | — |
| Cron | Schedule trigger | Daily/weekly automation |
Recipe: Email → lead
Forward all inquiry emails to a dedicated address (e.g. leads@yourdomain.com):
- Email Trigger (IMAP) node — connects to that mailbox
- AI/Function node — extract name, email, phone, event date from email body using a regex or an LLM (provider nodes are built in)
- HTTP Request →
/api/v1/leadswith extracted fields,source: "Email — leads@yourdomain.com"
Recipe: Cron-based weekly digest
- Schedule trigger — every Monday 9am
- HTTP Request → fetch this week's events from RemixCRM (you'd need to add a read endpoint, currently only write endpoints are public)
- Email/Slack the digest
Note: read-only API endpoints are on the roadmap. For now, n8n can write to RemixCRM but reads must go through Supabase directly with a service role key (advanced — not recommended for most users).
n8n in production
Hosting
Three options:
- n8n Cloud ($20/mo Starter, includes workflows + maintenance) — easiest, just sign up at n8n.io
- Self-host on Railway — one-click template, ~$5/mo
- Self-host on your own server (Docker on a VPS, ~$5/mo on DigitalOcean)
Security
- Webhook URLs are unauthenticated. Anyone with the URL can POST to it. Don't share screenshots that include the URL. Rotate by regenerating the webhook trigger if a URL leaks.
- API keys (RemixCRM Lead API key, third-party keys) belong in n8n's Credentials manager, never hard-coded in nodes.
- Workflow logs retain the request body — be aware that PII (client names, emails) is captured in n8n's execution history. Configure retention to clear old runs.
Reliability
- n8n retries failed HTTP calls automatically (configurable per-node)
- Failed executions surface in the Executions panel with full stack trace
- Hook up Slack/email alerts on workflow failure (Workflow Settings → Error Workflow)