RCS via Vonage¶
Connect an agent to RCS using your own Vonage account. This is the bring-your-own-account path for the RCS channel — Anychat sends and receives RCS messages through an RCS agent on your Vonage account, and you remain responsible for the Vonage account, the agent's verification and carrier launch, and the Vonage Application it is linked to.
If you don't have a Vonage account, choose Let Anychat set this up for you when connecting the channel. Anychat provisions and verifies the RCS agent on its own carrier relationships, with no credentials needed. This guide covers only the bring-your-own-Vonage path.
What you need¶
A Vonage API account with RCS enabled and an RCS agent built in the RCS Agent Builder. The agent must be linked to a Vonage Application with the Messages capability. Use one Application per agent. From the Vonage dashboard, collect these values:
| Field | Where to find it |
|---|---|
| RCS sender ID | RCS Agent Builder → your agent → RCS Sender ID. This is the from value on RCS sends. |
| Vonage Application ID | Applications → the Application linked to the agent |
| Application private key | Generated when the Application was created (private.key). If you no longer have it, generate a new key pair on the Application. |
| Account API key | Dashboard → API settings. Eight characters. |
| Account signature secret | Dashboard → API settings → Signature secret. Twenty-four characters — not the API key or the API secret listed above it. |
| API region (optional) | Leave blank for the global endpoint, or pick api-eu / api-us / api-ap if your account manager assigned a region |
| Message category (optional) | Only if Vonage requires an RCS message category for your country |
Signed webhooks must stay enabled
Vonage signs every webhook with your account's signature secret, and the Anychat gateway rejects unsigned or mis-signed webhooks. Without the correct signature secret your agent can send but will never receive messages.
The three secrets are easy to mix up
Vonage's API settings page lists the API key, the API secret and the signature secret together. Only the API key and the signature secret belong in Anychat, in their own fields. Pasting the API key into both is the single most common cause of an agent that sends but never receives — the console now rejects it at submit, along with a private key whose line breaks were lost in the paste.
Step 1 — Connect the channel in the console¶
- Open the agent in the console and go to Channels.
- In the Available section, find RCS and click Connect.
- Choose Use your own account, then select Your own Vonage RCS agent as the provider.
- Enter the sender ID, Application ID, private key (paste the full PEM), API key, and signature secret collected above, then Continue to review and Submit.
Bring-your-own-account bindings activate immediately — the binding shows Active as soon as it's created. Outbound messaging works right away; inbound requires the webhook URLs in the next step.
Step 2 — Point the Vonage Application's webhooks at Anychat¶
Inbound messages and delivery statuses reach Anychat through the Application's Messages webhooks. Both use the same URL, built from your sender ID:
For example, with sender ID acme-rcs the URL is
https://gateway.anychat.ai/maap/vonageRcs/receiver/acme-rcs.
- In the Vonage dashboard, open Applications and edit the Application linked to your RCS agent.
- Under the Messages capability, set Inbound URL and Status
URL to the receiver URL above (HTTP method
POST). - Save. Leave Signed webhooks on (it is on by default).
Step 3 — Test¶
Send an RCS message from a phone to your RCS agent. Until you launch the channel in Anychat, the phone must be on the binding's early-access list; and until carriers have launched the agent on Vonage's side, it must also be one of the agent's test devices, with the tester invitation accepted on the phone.
Early access keeps Vonage's test-device list
Adding a number to Early access in the console also adds it to the agent's test-device list at Vonage, and Vonage sends the person its tester invitation. The Invite column shows when they have accepted. Removing a number removes it at Vonage too; test devices you added in Vonage's dashboard yourself are left alone. Vonage allows 50 test devices per agent. If your agent predates Vonage's Channel Manager, Anychat can't reach its list, and the console asks you to add each number in the Vonage dashboard as well.
The agent should answer on the channel; the conversation appears in the agent's Activity feed in the console.
Start with Test connection on the channel's page in the console: it asks Vonage to confirm the credentials work, and sends nothing to anyone. Give it the phone number you are testing from and it will also tell you whether Vonage can reach that handset at all.
If Vonage shows the message as received but the agent doesn't respond, look at the channel's page. When Anychat is rejecting Vonage's webhooks, a red banner says so and names the credential that doesn't match. Most often the signature secret field holds the account's API secret, or a secret from another Vonage account. The signature secret is a separate value under API Settings in the Vonage dashboard, and webhooks must be signed with SHA-256 (JWT).
Beyond that, the usual suspects are a webhook URL that doesn't end in your exact sender ID, a signature secret or API key that doesn't match the account, or an agent that carriers have not yet approved — all cause the gateway to reject or never receive the webhook. If the credentials came from a different Vonage subaccount than the one that owns the Application, the signature will not match either: the signature secret has to belong to the same API key you entered.
Opt-out replies: Vonage or Anychat¶
Anychat always honors opt-outs: a person who replies STOP gets nothing more from the agent until they reply START. What you choose is who replies to STOP, START and HELP. On the channel's page, under Opt-out and compliance, set Replies to STOP, START and HELP:
- Vonage replies, if Vonage's RCS team turned on Opt-Out Assist for your agent. They often do before launch, and ask you for the reply text. Vonage then answers the keywords and still forwards them to Anychat, which records the opt-out and sends no reply of its own. The rows below show the suggested wording to give Vonage, filled in with your agent's name and contact details.
- Anychat replies (the default), if Opt-Out Assist is off. Anychat sends the replies, and you can change their wording on the same page.
Either way, Anychat sends the first-message notice, which Vonage doesn't.
To check the setup, text STOP and then START from an early-access phone. You should get exactly one reply to each. Two replies means both Vonage and Anychat are answering: switch to Vonage replies.
What is supported¶
Text, images, video, files, rich cards, carousels, and suggested replies and actions, plus delivery and read receipts. Vonage's RCS surface has no typing indicator, and media the customer sends is not yet forwarded to the agent. RCS to SMS fallback is handled by Anychat, not by Vonage's failover option, so it behaves the same as on every other RCS provider.
Rotating credentials¶
If you rotate the Application's private key or the account's signature secret in Vonage, open the binding's detail page in the console and use Rotate credentials to submit the replacement values. Secrets are write-only: the console never displays them back.
Paste the private key exactly as the file has it, including the
-----BEGIN PRIVATE KEY----- and -----END PRIVATE KEY----- lines and
the line breaks between them. A key that has lost its line breaks cannot
be read, and the console will refuse it rather than accept a binding that
could never send.
What's next¶
- Connect a channel: the rest of the binding workflow.
- Early access and launch
- Channels in the Agent API