Sending Messages
Choose your sending method based on your channel and use case.
Use 10DLC or toll-free numbers for traditional SMS and MMS messaging with broad reach and reliable delivery.
Deploy rich, interactive messaging experiences through approved RCS agents with cards, buttons, and media.
Sending from a number
SMS and MMS messages are sent from a 10DLC or toll-free number that is linked to an approved campaign.
Prerequisites
- API key from the Pinnacle Dashboard.
- Purchased 10DLC or toll-free number. See our phone numbers guide for detailed instructions on searching and purchasing numbers.
- Verified brand (register one here)
- Attach number to campaign.
- For 10DLC, see our 10DLC guide.
- For toll-free, see our toll-free guide.
Workflow
Configure options
Customize delivery with scheduling, tracking, and validation options.
- Scheduling: Schedule messages for future delivery and at a specified cadence.
- Tracking: Ensures precision when reacting to messages. If disabled, reactions still work but may react to a different message. This adds an ID to the end of the message that can be
HIDDEN
. - Validation: Validate content before sending. This catches errors without consuming credits. See our validation endpoints for SMS and MMS.
- Multiple messages (MMS only): Large MMS payloads across multiple messages when media exceeds carrier limits. SMS messages are always split into multiple messages.
Media support
Check supported file types and size limits for MMS messages at app.pinnacle.sh/supported-file-types?type=MMS.
Sandbox numbers
While waiting for approval, you can still craft flows and send messages to your own phone number. Request a sandbox number through the Sandbox Numbers section. These numbers require no campaign approval and are perfect for integration testing before production. Note that you must whitelist the recipient phone number on the same page before you can send messages to it.
Best practices
- Always use E.164 format for phone numbers.
- Monitor webhook events for delivery status.
- Respect segment limits - long SMS messages are split and billed per segment.
- Verify numbers are attached to approved campaigns.
Sending from an RCS agent
RCS unlocks branded, interactive conversations with cards, buttons, and rich media. Each message must be sent from an approved agent ID (agent_XXXXXXXXXXXX
) linked to your RCS campaign.
Prerequisites
- You’ll need an API key from the Pinnacle Dashboard.
- You’ll need to have a verified brand (register one here)
- You’ll need an approved RCS agent ID from a registered RCS campaign.
Workflow
Craft the message
Create your message with text, media, or carousel-style cards. Add quick replies or buttons to enhance user interactions.
Provide sender & recipient
Include from
with your agent ID (e.g., agent_XXXXXXXXXXXX
) and to
in
E.164 format.
Configure options
Customize with test mode, validation, tracking, and scheduling options.
- Test mode: Send from Pinnacle’s test agent without campaign approval
- Validation: Check content without sending to catch errors early. See our validation endpoints for RCS.
- Tracking: Ensures precision when reacting to messages. If disabled, reactions still work but may react to a different message. This adds an ID to the end of the message that can be
HIDDEN
. This only works for RCS text messages. - Scheduling: Schedule messages for future delivery at specified times
Content types
Text messages: Simple text with optional quick replies for user interactions. Can fit a lot more text (3000 characters) than SMS (160 characters).
Media messages: Single image or video with text overlay and action buttons. Can fit a lot more media (100MB) than MMS (1MB).
Card carousels: Swipeable cards with individual media, titles, subtitles, and buttons. Perfect for product showcases or multi-option selections.
Quick replies: Chip suggestions that appear below the message. There are several types of quick replies that encode different actions.
Buttons: Similar to quick replies, but appear on the message itself.
For more details check out our API reference.
Media support
Check supported formats and limits for media files and card images.
Test agents
While waiting for approval of your production RCS agent, you will be granted access to a test agent. You can use this to test full RCS functionality. Note that you must whitelist the recipient phone number on your RCS campaign page before you can send messages to it. Make sure to use the options.test_mode
flag to send from the test agent.
There are two types of test agents:
- Pinnacle’s test agent (with Pinnacle’s branding)
- Brand’s specific test agent (with the brand’s logo, icons, etc.)
At first you will be granted access to Pinnacle’s test agent. When available, you will be granted access to the brand’s specific test agent. This switch happens automatically but you’ll need to whitelist the recipient phone numbers again for the brand’s test agent.
Best practices
- Always prefix agent IDs with
agent_
. - Test media assets with validation endpoint before production.
- Monitor delivery and read receipts via webhooks.