Provider Setup
Twilio
| Key | Description |
|---|---|
twilio.accountSid | Twilio account SID |
twilio.authToken | Twilio auth token |
twilio.fromNumber | Sender number in E.164 format |
AWS SNS
| Key | Description |
|---|---|
aws.region | AWS region, for example us-east-1 |
aws.accessKeyId | IAM access key ID |
aws.secretAccessKey | IAM secret access key |
The IAM principal needs only sns:Publish. Publishing to a phone number is not scoped to a
topic ARN, so the resource is *:
{
"Version": "2012-10-17",
"Statement": [
{ "Effect": "Allow", "Action": "sns:Publish", "Resource": "*" }
]
}
Credentials come from these three settings only; instance profiles, IRSA and the other AWS credential providers are not used.
Two AWS-side settings commonly look like plugin failures:
- new accounts sit in the SMS sandbox, where messages only reach phone numbers you have verified — request production access before rolling out
- SNS enforces a monthly SMS spending limit, USD 1.00 by default, after which publishes fail
Vonage
| Key | Description |
|---|---|
vonage.apiKey | Vonage API key |
vonage.apiSecret | Vonage API secret |
vonage.fromNumber | Sender ID or number |
Telegram
| Key | Description |
|---|---|
telegram.bot.token | Telegram bot token |
telegram.contact.attribute | User attribute that stores the chat ID |
WhatsApp
| Key | Description |
|---|---|
whatsapp.api.url | API endpoint used to send messages |
whatsapp.api.token | API token |
whatsapp.from.number | Sender number |
whatsapp.contact.attribute | User attribute for the recipient number |
Signal
| Key | Description |
|---|---|
signal.cli.rest.url | Base URL of signal-cli-rest-api |
signal.from.number | Sender number |
signal.contact.attribute | User attribute for the recipient number |