Phone Call Notification Node
The Phone Call Notification node makes automated phone calls via Twilio with text-to-speech. Use it to deliver urgent trading alerts, order confirmations, and status updates directly to a phone number.
Configuration
General
Give this node a custom name to identify it in your workflow
Continue workflow if this node fails
Twilio Credentials
Add your Twilio Account SID, Auth Token, and phone number
Get your credentials from the Twilio Console
Call Script
Configure the recipient and text-to-speech script
Recipient phone number in E.164 format (e.g., +15551234567)
Text read aloud to the recipient. Use {edgeLabel.field} for dynamic values
Advanced Options
Optional configuration overrides
Override the from number configured in your Twilio credential. E.164 format.
Configuration
| Field | Description |
|---|---|
| Twilio Credential | Your Twilio Account SID and Auth Token, stored as an encrypted credential. Get them from the Twilio Console ↗. |
| To Number | Recipient phone number in E.164 format (e.g., +15551234567). Supports the f(x) toggle for dynamic values. |
| Call Script | The text-to-speech script read aloud to the recipient. Supports {edgeLabel.field} interpolation for dynamic data. Maximum 4,096 characters (auto-truncated if longer). |
| From Number Override | Optional. Overrides the from number set in your Twilio credential. E.164 format. Supports the f(x) toggle for dynamic values. |
+ followed by the country code and number with no spaces or dashes. Example: +15551234567, not +1 555 123 4567.Dynamic Fields
The To Number and From Number Override fields support the f(x) toggle. Click the f(x) button next to a field to switch from a static value to an expression that resolves at runtime using the output of a connected upstream node:
{my_function.phoneNumber}
This lets you build workflows where the recipient is determined dynamically — for example, looking up a phone number from a database or passing it from an earlier Function node.
Twilio Setup
Before you can make phone calls, you need a Twilio account and phone number.
Step 1: Create a Twilio Account
- Sign up at twilio.com ↗ (free trial available).
- From the Console Dashboard, copy your Account SID and Auth Token.
Step 2: Get a Twilio Phone Number
- In the Twilio Console, go to Phone Numbers > Manage > Buy a Number.
- Search for a number with Voice capability enabled.
- Purchase the number and copy it (e.g.,
+15551234567).
Step 3: Save Credentials in NickAI
- Go to Credentials in NickAI (or use the credential selector in the Phone Call node).
- Click Add Credential and select Twilio SMS (same credential type used for both SMS and phone calls).
- Enter your Account SID, Auth Token, and optionally your From Phone Number.
- Click Save. All values are encrypted at rest.
Step 4: Verify Recipients (Trial Accounts Only)
Template Interpolation
Use curly braces to inject live data from upstream nodes into the call script and phone number fields. The text is read aloud to the recipient using text-to-speech.
Trading Alert Example
Attention: BTC USD Alert.
The current price is {price_data.data.prices[0].current}.
24 hour change: {price_data.data.prices[0].changePercent24h} percent.
Signal: {llm.output}.
Order Confirmation Example
Order executed successfully.
Action: {exchange.side}.
Symbol: {exchange.symbol}.
Quantity: {exchange.quantity}.
Price: {exchange.price}.
Workflow Example
A common pattern is to monitor prices, check a condition, and make a phone call alert:
In this workflow:
- Price Data fetches live BTC/USD market data.
- LLM analyzes the price, volume, and indicators to produce a signal.
- Conditional checks if confidence exceeds 80%.
- Phone Call Notification calls you with the alert -- only when the signal is strong.
Output
After execution, the node produces the following data that downstream nodes can reference:
| Path | Description |
|---|---|
| {call.success} | true if the call was initiated, false if it failed. |
| {call.message} | A status string -- "Phone call initiated successfully" on success, or an error description on failure. |
| {call.callSid} | The Twilio call SID (only present on success). Useful for tracking call status. |
call with your node's edge label. If the edge connecting this node to the next is labeled alert, use {alert.success}.callSid to check status via the Twilio API if needed.Common Errors
| Error | Cause | Fix |
|---|---|---|
| Invalid phone number format | Number has spaces, dashes, or missing + | Use E.164 format: +15551234567 |
| Authentication failed | Wrong Account SID or Auth Token | Re-check credentials in Twilio Console ↗ |
| Permission denied for region | Twilio account can't call the recipient's country | Enable the country in Voice > Settings > Geo permissions |
| Trial account restriction | Calling an unverified number on a trial account | Verify the number in Phone Numbers > Verified Caller IDs |
| From number not voice-capable | The Twilio number doesn't support voice calls | Purchase a number with Voice capability in Phone Numbers > Buy a Number |
Next Steps
- SMS Notification Node -- Send text messages as an alternative to phone calls.
- Telegram Notification Node -- Send alerts via Telegram.
- Email Notification Node -- Send alerts via email.
- Discord Notification Node -- Post alerts to Discord servers.
- Slack Notification Node -- Send alerts to Slack channels.
- Conditional Node -- Route workflows based on conditions before sending notifications.
- Credentials -- Manage your Twilio credentials and other API keys.