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.
- Receives Voice AI call summaries from CloudPBX via webhook
- Authenticates inbound requests using a shared API key (
X-API-Keyheader) - 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
| 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) |
Follow the n8n community node installation guide to install this node in your n8n instance.
n8n-nodes-voice-ai-notes
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. |
- In your n8n node, create a new Voice AI Notes credential and fill in all three fields.
- Copy the webhook URL from the node (shown after activating the workflow).
- 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
When CloudPBX finishes processing a call, it sends a POST request to the webhook URL with the call summary payload. The node:
- Verifies the
X-API-Keyheader against the key stored in your credentials using constant-time comparison - Validates the payload schema version against the expected version (
0.2.1) - Extracts and structures the call data according to the selected output mode
- Routes the result to the Success output, or to the Rejected output on auth or schema failure
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"]
}| 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.
- Add the Voice AI Notes trigger node to your workflow
- Configure your Voice AI Notes credentials
- Select your preferred output mode for the Success pin (default: Tasks + Context)
- 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
- Optionally connect the Rejected output to a logging or alerting node
Whether to include calendar entries alongside tasks in the output (available in Tasks + Appointments and Tasks + Context modes).
| 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) |