Skip to content

Repository files navigation

n8n-nodes-voice-ai-notes

This is an n8n community node that integrates with the Voice AI Notes service by Telekom Deutschland. It receives call summaries via webhook and automatically extracts structured tasks and calendar appointments for use in your workflows.

Features

  • Receives Voice AI call summaries from CloudPBX via webhook
  • Authenticates inbound requests using a shared API key (X-API-Key header)
  • Validates the payload against the expected CloudPBX schema version
  • Extracts tasks, appointments, participants, and topics from the call summary
  • Four output modes to fit different workflow needs
  • Five output pins — Success, Rejected, Summary, Tasks, Appointments — so downstream nodes only receive the item shape and cardinality they need

Supported Output Modes

Mode Description
Tasks Only Outputs each extracted task as a separate item
Tasks + Appointments Outputs tasks and appointments as separate typed items
Full Summary Outputs the complete call summary as a single item
Tasks + Context (default) Outputs each task together with full call context (summary, participants, topics)

Installation

Follow the n8n community node installation guide to install this node in your n8n instance.

n8n-nodes-voice-ai-notes

Credentials

This node requires Voice AI Notes credentials with three fields:

Field Description
Username Your CloudPBX username (email address, e.g. user@deutschland-lan.de)
Password Your CloudPBX password
Webhook API Key A shared secret configured in the CloudPBX Voice AI webhook settings. CloudPBX sends this value in the X-API-Key header with every webhook request.

Setting up the Webhook API Key

  1. In your n8n node, create a new Voice AI Notes credential and fill in all three fields.
  2. Copy the webhook URL from the node (shown after activating the workflow).
  3. In the CloudPBX portal, navigate to your Voice AI configuration and enter:
    • Webhook URL: your n8n webhook URL
    • API Key: the same value you set as Webhook API Key in the credential

How It Works

When CloudPBX finishes processing a call, it sends a POST request to the webhook URL with the call summary payload. The node:

  1. Verifies the X-API-Key header against the key stored in your credentials using constant-time comparison
  2. Validates the payload schema version against the expected version (0.2.1)
  3. Extracts and structures the call data according to the selected output mode
  4. Routes the result to the Success output, or to the Rejected output on auth or schema failure

Payload Structure

The node expects the CloudPBX Voice AI webhook payload format (schema version 0.2.1):

{
  "schemaVersion": "0.2.1",
  "callIdentifier": "abc-123",
  "summary": "Call about the project deadline and next steps.",
  "callParticipants": {
    "vainCustomerPhoneNumber": "+4922147106642",
    "otherAttendeePhoneNumber": "+491713920042"
  },
  "toDos": [
    { "title": "Send contract", "assignee": "John" }
  ],
  "calendarEntries": [
    { "title": "Follow-up call", "start": "2024-12-01T10:00:00Z", "end": "2024-12-01T10:30:00Z" }
  ],
  "phoneCallAttendees": [
    { "name": "Alice", "role": "host" }
  ],
  "topics": [
    { "title": "Contract", "details": ["deadline", "terms"] }
  ],
  "callerDetails": ["+4922147106642"]
}

Output Pins

Pin Items per call Typical use
Success Depends on the selected Output Mode (see above) General-purpose output, shaped by the Output Mode dropdown
Rejected 1 (only on auth/schema failure) Logging or alerting on rejected requests
Summary Always exactly 1 Nodes that should fire once per call regardless of task count — e.g. sending a single notification email
Tasks One per extracted task Nodes that should fire once per task — e.g. creating a Todoist/ClickUp task
Appointments One per extracted appointment Nodes that should fire once per appointment — e.g. creating a Google Calendar event

The Summary, Tasks, and Appointments pins are always populated (respecting the Filter Empty Tasks setting) regardless of the Output Mode dropdown, so you can wire a "send one email per call" node to Summary and a "create one task per to-do" node to Tasks without them interfering with each other or needing a Filter node in between.

Example Workflow

  1. Add the Voice AI Notes trigger node to your workflow
  2. Configure your Voice AI Notes credentials
  3. Select your preferred output mode for the Success pin (default: Tasks + Context)
  4. Connect downstream nodes to the pin matching their intended cardinality, for example:
    • Tasks → create tasks in Todoist, ClickUp, or Microsoft To Do
    • Appointments → add events to Google Calendar or Outlook
    • Summary → send a single call summary to Slack, Microsoft Teams, or via email
  5. Optionally connect the Rejected output to a logging or alerting node

Configuration Options

Include Appointments

Whether to include calendar entries alongside tasks in the output (available in Tasks + Appointments and Tasks + Context modes).

Additional Fields

Field Default Description
Add Metadata true Attaches metadata (timestamp, caller details) to each output item
Filter Empty Tasks true Filters out tasks or appointments with empty titles
Add Item Index true Adds a sequential index to each output item
Response Message (success text) The response body message sent back to CloudPBX
Response Status Code 200 The HTTP status code returned to CloudPBX (200–299)

Resources

License

MIT

About

Repository for the Cloud PBX n8n Node

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages