Reference · Tools
Seven
Send SMS messages and make text-to-speech voice calls via the seven.io (formerly sms77) API.
The Seven node sends SMS messages and places text-to-speech voice calls through the seven.io API. A typical build is sending a verification code by SMS, with a voice call as the fallback when the text goes unanswered.
- Node type
- Action
- Parameters
- 9
- Outputs
- Output, Error
- Credentials
- Seven API
Seven
Send SMS messages and make text-to-speech voice calls via seven.io.
Overview
Seven (formerly sms77) is a cloud communication platform for SMS and voice messaging. This tool supports two resources: SMS (send text messages) and Voice (text-to-speech calls). Both use form-encoded POST requests to the seven.io gateway API. The SMS resource supports optional scheduling (delay), flash messages, performance tracking, TTL, labels, and foreign IDs. The Voice resource supports an optional caller ID. Authentication is via an API key passed in the X-Api-Key header. The API uses a string success code “100” to indicate success.
Category: Communication
Tool Name: sms77
Version: 1
Appearance: Icon: lucide-MessageSquare | Color: #29A1A1
Node Type
Action — processes input items and produces output
Input / Output
| Direction | Port(s) |
|---|---|
| Input | Input |
| Output | Output, Error |
Credentials
This tool requires Seven API credentials. See the Credentials Guide for setup instructions.
Resources
| Resource | Value |
|---|---|
| SMS | sms |
| Voice Call | voice |
Operations
| Operation | Value | Description |
|---|---|---|
| SMS: Send | send | Send an SMS message |
| Voice Call: Send | send | Convert text to voice and call a number |
Parameters
SMS: Send
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| From | string | No | — | The caller ID displayed on the receiver’s device. Max 16 numeric or 11 alphanumeric characters. Supports expressions. |
| To | string | Yes | — | The recipient phone number(s), comma-separated. Can also be contact or group names from seven.io. Supports expressions. |
| Message | string | Yes | — | The message to send. Max 1520 characters. For Voice calls, this is the text-to-speech content. Supports expressions. |
| Options | collection | No | {} | Additional settings for the text message. |
| — Delay | dateTime | No | — | Pick a date for time-delayed dispatch. |
| — Foreign ID | string | No | — | Custom foreign ID returned in DLR (delivery report) callbacks. |
| — Flash | boolean | No | false | Send as a flash message displayed directly on the receiver’s screen without being stored. |
| — Label | string | No | — | Custom label used to group analytics. |
| — Performance Tracking | boolean | No | false | Whether to enable performance tracking for URLs found in the message text. |
| — TTL | number | No | 2880 | Custom time to live specifying the validity period of the message in minutes. |
Voice Call: Send
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| To | string | Yes | — | The recipient phone number(s), comma-separated. Can also be contact or group names from seven.io. Supports expressions. |
| Message | string | Yes | — | The message to send. Max 1520 characters. For Voice calls, this is the text-to-speech content. Supports expressions. |
| Options | collection | No | {} | Additional settings for the voice call. |
| — From | string | No | — | The caller ID. Use only verified sender IDs, virtual inbound numbers, or shared virtual numbers. Supports expressions. |
All Operations
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Max Concurrency | number | No | 10 | Maximum number of items to process concurrently. |
Output Data
One output item is produced per input item, on the Output port, for both resources. The seven.io response is merged onto the item JSON at the top level rather than nested under a wrapper property, so the rest of the incoming item passes through unchanged and response fields are addressed directly by expression. Binary data on the input item is forwarded untouched. Sending to several recipients in one To field still produces exactly one output item — the node never fans out.
The gateway reports its outcome in a success field, and the node treats any value other than the string "100" as a failure even though the HTTP request itself succeeded, so an item that reaches the Output port is one the gateway accepted. In the rare case that the API answers with a JSON array rather than an object, the array is placed on _sevenResponse instead of being merged. Failures go to the Error port in errorPort mode, carrying _error.
Usage Examples
- Send an SMS notification to a customer when their order ships
- Send a verification code via SMS to a phone number
- Make a text-to-speech voice call to deliver an urgent alert
- Send a scheduled SMS reminder for an upcoming appointment
- Send a flash SMS that displays directly on the recipient screen
Example Configuration
Send a text message with an alphanumeric sender ID:
{
"type": "sms77",
"parameters": {
"resource": "sms",
"operation": "send",
"from": "YourCompany",
"to": "{{ $json.phone }}",
"message": "Your order {{ $json.orderId }} has shipped."
}
}
Schedule a reminder, tag it for analytics, and keep a foreign ID for the delivery report:
{
"type": "sms77",
"parameters": {
"resource": "sms",
"operation": "send",
"from": "Reminders",
"to": "{{ $json.phone }}",
"message": "Reminder: your appointment is tomorrow at {{ $json.time }}.",
"options": {
"delay": "{{ $json.sendAt }}",
"foreign_id": "appt-{{ $json.appointmentId }}",
"label": "appointment_reminders",
"ttl": 1440
}
}
}
Send a flash message that appears on screen without being stored:
{
"type": "sms77",
"parameters": {
"resource": "sms",
"operation": "send",
"from": "Emergency",
"to": "+49876543210",
"message": "URGENT: please check your email immediately.",
"options": {
"flash": true,
"performance_tracking": true
}
}
}
Place a text-to-speech call, letting the account’s default caller ID stand:
{
"type": "sms77",
"parameters": {
"resource": "voice",
"operation": "send",
"to": "{{ $json.phone }}",
"message": "This is an automated message. Your delivery arrives today between 2 and 4 PM."
}
}
Place the same call from a specific verified number:
{
"type": "sms77",
"parameters": {
"resource": "voice",
"operation": "send",
"to": "+49876543210",
"message": "This is a reminder about your appointment tomorrow at 3 PM.",
"options": {
"from": "+4901234567890"
}
}
}
Error Handling
| Mode | Behavior |
|---|---|
| stop | Halts workflow on first error |
| continue | Skips failed items, passes successful ones through |
| errorPort | Routes failed items to Error output port |
Tips
Seven (sms77) sends SMS messages and makes text-to-speech voice calls via the seven.io API. Use it for notifications, alerts, verification codes, or automated voice announcements.
Notes
- The sender is set differently per resource: SMS uses the top-level From field, while a voice call takes its caller ID from Options.
- Both resources share one Options field, so entries you configured for SMS are still sent if you switch the node to Voice Call. Clear the ones that no longer apply when you change resource.
- To accepts several comma-separated recipients, or a seven.io contact or group name, and the whole send counts as one request.
- A response code other than
"100"fails the item, so a wrong API key or a rejected message surfaces as an item error rather than a quietly successful send.
Frequently asked questions
How do I set the sender?
It differs per resource: SMS uses the top-level From field, while a voice call takes its caller ID from Options. Setting From for a voice call has no effect.
Why are my SMS options being applied to a voice call?
Both resources share one Options field, so entries configured for SMS are still sent if you switch the node to voice. Review Options after changing resource.
What is it typically used for?
Notifications, alerts, verification codes and automated voice announcements — the transactional end of messaging rather than marketing.
Which credential does it need?
A Seven API credential.
Build with the Seven node
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Seven API credentials first.
Open BusyBotLast updated . Spotted something wrong? Tell us.