n8n
n8n is a workflow automation tool. The ThunderPhone package for n8n adds two nodes: a trigger that starts a workflow when a call ends or is graded, and an action node that places outbound calls, runs campaigns, and reads call records. It is a verified community node, listed at ThunderPhone on n8n.
Install
In the n8n editor, click + to open the nodes panel and search for ThunderPhone. An instance owner may need to set up verified nodes before other users can add them.
On self-hosted n8n, you can also install by package name: open Settings > Community Nodes and install n8n-nodes-thunderphone. Check community-node risks and your instance policy before you install.
Connect your account
Both nodes authenticate with a ThunderPhone server API key.
- In ThunderPhone, an admin or owner opens Organization → Keys, creates a key, and copies the
sk_live_...value while it is shown. - In n8n, create a ThunderPhone API credential and paste the key.
- Run the credential test.
The trigger creates and deletes webhook endpoints in your organization. An admin or owner creates the key, and ThunderPhone treats requests made with it as coming from that person. The trigger and the campaign operations need that person to keep the admin or owner role.
ThunderPhone Trigger
- Call Completed fires when a phone or web call ends. The event carries the call ID, numbers, start and end times, status, end reason, transcript, and recording URL.
- Call Graded fires when a grading run finishes for a call, with the score, call outcome, and summary.
The trigger outputs the complete webhook event as ThunderPhone sent it. Activating a workflow registers the trigger's Production URL as a webhook endpoint in your organization, and deactivating the workflow deletes that endpoint. Every request is checked against its X-ThunderPhone-Signature HMAC signature before the workflow runs.
ThunderPhone node operations
- Place Outbound Call calls a destination in E.164 format with a saved agent from one of your numbers. Prompt variables go in as a JSON object.
- Get Call returns a call with its transcript and a short-lived recording URL when a recording exists.
- Find Call by ID looks up a call record.
- Add Contacts to Campaign adds a JSON array of contacts, up to 5,000, to a draft campaign. Each contact needs
phone_number; any other keys become call variables. - Start Campaign starts a campaign that has contacts.
- List Agents and List Phone Numbers return your agents and numbers. The same lists fill the agent and outbound-number dropdowns.
Before a workflow places calls
Place Outbound Call and Start Campaign dial real phone numbers and spend ThunderPhone credits.
- If ThunderPhone asks your organization to confirm that its outbound calls follow the TCPA and other calling laws, an admin must record that confirmation in the dashboard before a workflow can start calls.
- The from number must be enabled for outbound calls, and the dropdown lists only those numbers. Numbers you bring from your own carrier qualify once verified. ThunderPhone numbers start inbound-only and can be approved for outbound use; an admin requests it from the Phone Numbers page.
- Place Outbound Call requires an Idempotency Key. Map a stable ID from the record or event that caused the run, such as a CRM record ID. The node puts its own node ID in front of your value. A retry sends the same key, and ThunderPhone returns the original call instead of placing a second one. Two ThunderPhone nodes fed the same record send different keys. Avoid timestamps, random values, and n8n execution or workflow IDs.
- Start Campaign has a checkbox confirming that the campaign places real calls and spends credits. The operation fails until it is checked.
- Your organization is responsible for having consent to call each number and for following the calling laws that apply. See outbound calling laws.
Example workflows
- CRM contacts to a campaign. Add CRM contacts to a draft ThunderPhone campaign with Add Contacts to Campaign, then run Start Campaign once someone approves the list.
- Completed call to the customer record. On Call Completed, save the transcript and recording link to the matching customer record. The recording link expires, so store the call ID with it and run Get Call when you need a fresh link.
- Low grades to review. On Call Graded, filter on the score and route low-scoring calls to a review queue with the call ID and grade details.
Set it up
The docs walk through installing the node, creating the key, and a first workflow that runs when a call ends: Use ThunderPhone with n8n.
Related workflows and terms
- Zapier, for teams that automate in Zapier
- REST API and webhooks, when your own server should receive call events
- Outbound campaign
- TCPA