Skip to main content

Outbound SMS

Use the SMS API to programmatically initiate text conversations using Revmo's agent system. Each SMS thread can either be managed by an AI agent or sent as a standalone message.

Below, learn the basic methods of managing SMS messages through the API. To view all available endpoints and their requirements, check out the API reference documentation.

note

Outbound SMS functionality is available on a per-account basis. If you need access to SMS capabilities, please contact support@revmo.ai.

Create an Outbound SMS Thread

To create an outbound SMS thread, make a POST request to /v1/startsms/.

In the request body, add message details and any required metadata. You'll need to authenticate your request using your API key, which you can find in your account settings.

Properties

In the request body, you can include the following fields:

FieldTypeRequiredDescription
agentIdbase64YesYour Agent ID from the Revmo platform. Located on your account page.
tophoneYesThe destination phone number to receive the SMS.
triggerstringNoThe trigger phrase that launches the appropriate task for your agent.
metadataobjectNoAdditional key-value pairs of information for the Agent to use during the conversation.
overridestringNoOverride the default SMS message to be sent.
no_agentstringNoDisable the Agent for this SMS conversation. Use this when you only want to send a single message.

Example Request

import requests

HEADERS = {
"Authorization": "Bearer YOUR_API_KEY"
}

DATA = {
"agentId": "YOUR_AGENT_ID",
"to": "+1234567890",
"trigger": "appointment_reminder",
"metadata": {
"customer_name": "John Doe",
"appointment_time": "2025-02-22T15:00:00Z"
},
"override": "Hi John, just confirming your appointment tomorrow at 3 PM.",
"no_agent": "true" # Only if you want to send a single message without agent interaction
}

response = requests.post(
"https://api.revmo.ai/v1/startsms/",
json=DATA,
headers=HEADERS
)

Managing SMS Conversations

When you initiate an SMS thread with agent enabled (default behavior), the Revmo agent will handle the conversation based on the specified trigger and metadata. You can manage all ongoing conversations through the Conversations page on our web interface, where you can:

  • Monitor conversation history in real-time
  • Take over conversations manually when needed
  • Enable or disable the AI agent for specific threads
  • Send direct responses to customer messages
  • View conversation metadata and context

The agent can:

  • Respond to customer inquiries
  • Send appointment reminders
  • Provide status updates
  • Transfer to human agents when necessary

For single message sending without agent interaction, use the no_agent parameter and optionally specify a custom message with override. You can also enable or disable the agent for any conversation at any time through the web interface.

Best Practices

  1. Phone Number Formatting

    • Always use E.164 format for phone numbers (+1XXXXXXXXXX)
    • Validate numbers before sending
    • Handle international number formats appropriately
  2. Content Guidelines

    • Keep messages concise and clear
    • Include opt-out instructions when required
    • Follow local regulations and compliance requirements
  3. Technical Implementation

    • Implement retry logic for failed messages
    • Monitor delivery rates and engagement
    • Store ThreadIds for future reference
    • Handle webhook notifications reliably
  4. Testing

    • Use test phone numbers before production deployment
    • Verify webhook functionality
    • Test different trigger scenarios
    • Validate metadata handling

Rate Limits

Default rate limits apply to protect the system from abuse. Contact support for specific limits for your account type.

Additional Resources