n8n is a self-hosted workflow automation tool that connects dialnote to hundreds of apps and services. If your team needs full control over data and infrastructure—or you just prefer running automations on your own servers—n8n is a solid choice. You connect it to dialnote through webhooks, so call events flow directly into your n8n instance without any data passing through third parties.

Setting Up the Webhook Connection#

dialnote sends real-time event data to n8n through webhooks. Here's how to wire them together:

  1. In your n8n instance, create a new workflow and add a Webhook node as the trigger
  2. Set the HTTP method to POST
  3. Copy the Production URL from the webhook node (it'll look something like https://your-n8n.example.com/webhook/abc123)
  4. In dialnote, go to Settings → Webhooks
  5. Click Add Webhook and choose Custom Webhook as the provider
  6. Paste the n8n webhook URL and give it a name (e.g., "n8n - Call Workflows")
  7. Pick which events to send: call.completed, call.recording.completed, or note.created
  8. Save the webhook

Building Workflows#

Once n8n receives webhook data from dialnote, you can chain any combination of nodes to process it. n8n's canvas editor makes it easy to add logic, transformations, and connections to other services.

Example: Save Calls to a Database and Send Alerts#

This workflow logs every completed call to Postgres and sends a Slack message for missed calls:

  1. Trigger: Webhook node (receives dialnote call.completed data)
  2. IF node: Check whether status equals not_picked
  3. True branch: Slack → Send Message to your #missed-calls channel with caller details
  4. Always: Postgres → Insert a row with call ID, direction, duration, from/to numbers, and timestamp

The IF node lets you branch logic without duplicating the trigger. You can stack as many conditions as you need.

Example: Auto-Create CRM Records#

When a new caller reaches your team, automatically add them to your CRM:

  1. Trigger: Webhook node
  2. IF node: Only continue if call direction is inbound
  3. HTTP Request node: Search your CRM API for the caller's phone number
  4. IF node: If no existing record found → HTTP Request node to create a new contact

Since n8n runs on your infrastructure, API calls to internal CRMs or databases don't leave your network. That's a big plus for teams with strict data policies.

Available Webhook Data#

dialnote sends JSON payloads to your n8n webhook. The fields vary by event type:

call.completed includes: call ID, direction (inbound/outbound), from and to phone numbers, caller names, call duration in seconds, status, and timestamp.

call.recording.completed includes: all call fields plus the recording URL and AI-generated transcription summary.

note.created includes: note content, the associated contact info, and the team member who created it.

Map these fields to any downstream node by referencing them in n8n's expression editor—for example, {{ $json.from_number }} to grab the caller's phone number.

n8n's flexibility and self-hosted nature make it ideal for more advanced automations:

  • Call logging to your own database: Every call → insert row into Postgres, MySQL, or MongoDB running on your servers
  • AI-powered follow-ups: Recording completed → send transcription to an LLM node for summary → email the summary to the assigned team member
  • Escalation alerts: Missed call → check if caller has called 3+ times today → if yes, send urgent Slack/Teams alert to a manager
  • CRM sync without third parties: Call completed → update contact record in your self-hosted CRM via direct API calls—no data leaves your network
  • Scheduled reports: Use a Cron trigger to query your call log database daily and generate a CSV report emailed to leadership

Troubleshooting#

If your n8n workflow isn't receiving events, check these common issues:

  • Workflow not active: n8n workflows must be toggled to Active to receive production webhooks. Test mode only works while the editor is open.
  • Webhook auto-disabled in dialnote: After 3 consecutive delivery failures, dialnote pauses the webhook. Go to Settings → Webhooks and re-enable it.
  • URL mismatch: Make sure you're using the Production URL from n8n, not the test URL. They're different endpoints.
  • Firewall or network issues: Since n8n is self-hosted, your server needs to accept inbound HTTPS requests from dialnote's servers. Check that port 443 is open and your SSL certificate is valid.

You can view delivery history for each webhook in dialnote's Settings to spot failures and review exact error messages.

We use cookies for analytics, ads, and to remember your preferences. Privacy Policy