Textlocal ACTION
Send SMS
This Action can be used to send text messages to either individual numbers or entire contact groups. See the docs here
Note: While both numbers and group_id are optional parameters, one or the other must be included in the request for the message to be sent.
- Action
- Writes data
- API key
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Textlocal account once, then configure and run Send SMS from your backend or agent.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "textlocal-send-sms",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
textlocal: { authProvisionId: "apn_xxxxxxx" },
sender: "Sender",
message: "Message",
},
})
console.log(result)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "textlocal-send-sms",
"configured_props": {
"textlocal": { "authProvisionId": "apn_xxxxxxx" },
"sender": "Sender",
"message": "Message"
}
}'// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "textlocal",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
name: "textlocal-send-sms",
arguments: {
sender: "Sender",
message: "Message",
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
sender Sender | string | Use this field to specify the sender name for your message. This must be at least 3 characters in length but no longer than 11 alphanumeric characters or 13 numeric characters. If this is excluded it will use the default sender name configured on your account Required |
message Message | string | The message content. This parameter should be no longer than 765 characters. See Helpful Information for message length details. The message also must be URL Encoded to support symbols like &. Required |
numbers Numbers | string | Note: While both numbers and group_id are optional parameters, one or the other must be included in the request for the message to be sent. Optional |
groupId Group Id | integer | Note: While both numbers and group_id are optional parameters, one or the other must be included in the request for the message to be sent. Optional Dynamic |
simpleReply Simple Reply | boolean | Set to true to enable the Simple Reply Service for the message. This will override any sender value, as a Simple Reply Service number will be used instead. Optional |
scheduleTime Schedule Time | string | This parameter can be used to specify a schedule date/time for your message, which should be provided in Unix timestamp format. Times should be provided in GMT. Optional |
receiptUrl Receipt URL | string | Use this field to specify an alternative URL to which the delivery receipt(s) will be sent. See handling receipts documentation. Optional |
custom Custom | string | This value will be set against the message batch and will passed back in the delivery receipts. This allows you to match delivery receipts to their corresponding messages. Optional |
optouts Optouts | boolean | Can be set to true in order to check against your own opt-outs list and Textlocal's global opt-outs database. Your message will not be sent to numbers within these lists. If not provided defaults to false. Optional |
validity Validity | string | Can be set, up to 72 hours in advance, to say after which time, you don't want the message delivered. This should be in a Unix timestamp format. Optional |
unicode Unicode | boolean | Set this value to true to specify that your message body will contain unicode characters. See Encoding/Decoding Unicode Documentation Optional |
trackingLinks Tracking Links | boolean | Set this value to true to specify that the message contains links and they should be converted to short links (trackable in messenger), Please note that links must be url encoded before being placed into the message Optional |
test Test | boolean | Set this field to true to enable test mode, no messages will be sent and your credit balance will be unaffected. If not provided defaults to false Required |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- textlocal-send-sms
- Version
- 0.0.3
- App
- Textlocal
- Authentication
- API key
- Read-only
- No
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗