SMS Configuration
SMS notifications deliver short text alerts to team members' mobile phones when critical events occur in your SetGet workspace. SMS is the most direct notification channel and is designed for time-sensitive alerts that require immediate attention.
SMS configuration is managed at the workspace level under Workspace Settings > Reminders > SMS.
Supported providers
SetGet supports two SMS delivery methods:
| Provider | Description | Best for |
|---|---|---|
| Twilio | Industry-standard SMS API with global delivery, delivery receipts, and detailed analytics | Teams that need reliable, scalable SMS with full delivery tracking |
| Generic HTTP webhook | Custom HTTP endpoint that accepts SMS delivery requests | Teams that use a different SMS provider, an internal gateway, or want to route through a custom service |
Provider comparison
| Feature | Twilio | Generic HTTP webhook |
|---|---|---|
| Setup complexity | Low (API credentials only) | Medium (requires webhook endpoint) |
| Delivery receipts | Yes (native) | Depends on your endpoint |
| Global coverage | 180+ countries | Depends on your provider |
| Cost model | Per-message pricing via Twilio | Depends on your provider |
| Phone number provisioning | Twilio provides sender numbers | You provide your own sender |
| Retry on failure | Automatic (Twilio-managed) | Must be implemented in your webhook |
| Monitoring | Twilio dashboard + SetGet history | SetGet history only |
| Message length | Automatic multi-part for long messages | Depends on your endpoint |
Setting up Twilio
Prerequisites
Before configuring Twilio in SetGet, you need:
- A Twilio account (sign up at twilio.com).
- A Twilio phone number capable of sending SMS.
- Your Twilio Account SID and Auth Token from the Twilio Console dashboard.
Configuration steps
- Navigate to Workspace Settings > Reminders > SMS.
- Select Twilio as the provider.
- Enter the following credentials:
| Field | Description | Where to find it |
|---|---|---|
| Account SID | Your Twilio account identifier | Twilio Console > Dashboard > Account Info |
| Auth Token | Your Twilio authentication secret | Twilio Console > Dashboard > Account Info |
| From number | The Twilio phone number to send SMS from | Twilio Console > Phone Numbers > Manage > Active Numbers |
- Click Save.
WARNING
The Auth Token is a sensitive credential. It is stored encrypted on the server and is never exposed in the frontend or API responses. Do not share it in screenshots, logs, or support tickets.
From number format
The "From number" must be in E.164 format:
| Format | Example | Valid |
|---|---|---|
| E.164 with country code | +14155551234 | Yes |
| Without plus sign | 14155551234 | No |
| Local format | (415) 555-1234 | No |
| Short code | 12345 | Yes (if provisioned as a Twilio short code) |
Twilio trial account limitations
If you are using a Twilio trial account:
- SMS can only be sent to verified phone numbers.
- Messages include a "Sent from your Twilio trial account" prefix.
- You have a limited balance.
For production use, upgrade to a paid Twilio account and verify your sender number.
Setting up a generic HTTP webhook
The generic HTTP webhook allows you to route SMS delivery through any HTTP endpoint. This is useful if your organization uses a different SMS provider, an internal SMS gateway, or a service like AWS SNS, MessageBird, or Vonage.
Configuration steps
- Navigate to Workspace Settings > Reminders > SMS.
- Select Generic HTTP Webhook as the provider.
- Enter the webhook URL:
| Field | Description |
|---|---|
| Webhook URL | The HTTP(S) endpoint that will receive SMS delivery requests |
- Click Save.
Webhook request format
When SetGet needs to send an SMS, it sends a POST request to your webhook URL with the following JSON body:
{
"to": "+14155551234",
"body": "SetGet: Issue ENG-142 priority changed to Urgent. View: https://app.setget.io/...",
"workspace_id": "ws_abc123",
"event_type": "priority_changed",
"timestamp": "2026-03-29T14:30:00Z"
}| Field | Type | Description |
|---|---|---|
to | string | Recipient phone number in E.164 format |
body | string | SMS message body (plain text) |
workspace_id | string | Workspace identifier for context |
event_type | string | The event type that triggered this SMS |
timestamp | string | ISO 8601 timestamp of the event |
Expected response
Your webhook should return:
| Status code | Meaning |
|---|---|
200 or 201 | SMS accepted for delivery (SetGet marks as "sent") |
4xx | Client error (SetGet marks as "failed" with error message) |
5xx | Server error (SetGet marks as "failed" and may retry) |
Webhook security
To verify that requests are coming from your SetGet instance:
- Use HTTPS for your webhook URL.
- Optionally include a secret token in the webhook URL as a query parameter (e.g.,
https://your-gateway.com/sms?token=your_secret). - Validate the
workspace_idfield against your known workspace identifiers.
Testing SMS delivery
After configuring either provider, send a test message to verify the setup.
Sending a test SMS
- Navigate to Workspace Settings > Reminders > SMS.
- Click Send Test SMS.
- Enter a phone number (defaults to your registered number).
- Click Send.
- Verify that the test message arrives on the target phone.
The test message contains a sample alert body so you can evaluate message formatting and length.
Test message example
SetGet Alert: [Test] Work item ENG-42 "Fix login redirect"
priority changed to Urgent.
View: https://app.setget.io/engineering/issues/ENG-42TIP
Always test SMS after initial setup and after any credential changes. A successful test confirms that the full delivery pipeline is working: SetGet backend to SMS provider to mobile carrier to handset.
SMS template body
SMS messages use a plain-text body derived from the email template. The SMS body is a condensed version of the email template that includes:
- The event description (e.g., "State changed from In Progress to In Review")
- The work item identifier and title
- A direct URL to the work item in SetGet
SMS bodies are automatically truncated to fit within carrier limits:
| Encoding | Character limit | Notes |
|---|---|---|
| GSM-7 (standard) | 160 characters per segment | Most Latin-alphabet messages |
| UCS-2 (Unicode) | 70 characters per segment | Messages with non-Latin characters |
Long messages are automatically split into multiple segments by the carrier. Twilio handles multi-segment assembly automatically. For generic webhooks, your provider is responsible for multi-segment handling.
Phone number registration
For a user to receive SMS notifications, they must register a phone number on their profile.
- Go to Profile Settings.
- Enter your phone number in E.164 format (e.g., +14155551234).
- Save your profile.
Users without a registered phone number will not receive SMS notifications even if SMS is enabled in their notification preferences.
WARNING
Phone numbers are stored on the server and are not exposed in the frontend to other workspace members. Only the user and workspace administrators can see a member's registered phone number.
Troubleshooting SMS delivery
Common issues
| Symptom | Likely cause | Resolution |
|---|---|---|
| Test SMS not received | Incorrect phone number format | Verify E.164 format with country code |
| Test SMS not received | Twilio trial account limitation | Verify the recipient number in the Twilio console |
| Test SMS not received | Webhook endpoint unreachable | Check that the webhook URL is accessible from the SetGet server |
| "Failed" status in history | Invalid Twilio credentials | Re-enter Account SID and Auth Token |
| "Failed" status in history | Twilio balance exhausted | Add funds to your Twilio account |
| "Failed" status in history | Webhook returning 4xx/5xx | Check your webhook endpoint logs |
| Messages delayed | Carrier queue congestion | Normal for some carriers; typically resolves within minutes |
| Messages truncated | Long message body | Expected behavior for SMS; check multi-segment handling |
| Unicode characters garbled | Carrier encoding mismatch | Verify carrier supports UCS-2 encoding |
Checking delivery status
- Navigate to Workspace Settings > Reminders > History.
- Filter by Channel: SMS.
- Review the Status column for each SMS send.
- Click on a failed send to see the error message.
For Twilio, you can also check the Twilio Console > Messaging > Logs for detailed carrier-level delivery information.
Security considerations
SMS delivery involves sensitive data and credentials. Follow these practices:
| Practice | Details |
|---|---|
| Credential storage | Twilio Auth Token is encrypted at rest and never returned in API responses |
| Phone number privacy | User phone numbers are server-side only and not exposed to other members |
| Webhook HTTPS | Always use HTTPS for generic webhook URLs to protect message content in transit |
| Minimal message content | SMS bodies include a link to SetGet rather than full work item details, limiting data exposure |
| Access control | Only workspace administrators can configure SMS provider settings |
| Audit trail | All SMS sends are logged in History with sender, recipient, and status |
WARNING
Do not include sensitive project details in SMS messages. The default templates include only the work item identifier, a brief description, and a link. Full context is available in-app via the link.
Cost management
SMS incurs per-message costs depending on your provider and destination country. To manage costs:
- Reserve SMS for truly urgent events (overdue deadlines, blocker states, critical priority changes).
- Use notification preferences to limit which events trigger SMS.
- Monitor SMS send volume in the History page and the stats dashboard.
- Set up Twilio spending alerts to avoid unexpected charges.
Related pages
- Alerts overview --- Introduction to the alert system
- Triggers --- Configure event-based notification triggers
- Templates --- Email template catalog and variable reference
- Notification preferences --- Per-user channel configuration
- Alert history --- View send logs and delivery status
- Best practices --- Design an effective notification strategy