Add SMS to a v0 app with TextKit

v0 builds Next.js apps from a prompt. Connect TextKit to it and the agent can send texts, verify phone numbers, buy numbers and set up webhooks while it builds your app. The app then sends through the TextKit API with its own key.

Before you start

  • A TextKit account. Sign up for a free sandbox: no card, and a test key and test number right away.
  • A v0 account.

1. Connect TextKit

In the v0 prompt, open the + menu and choose MCPs, then add a custom server with this URL:

text
https://mcp.jointextkit.com

Pick OAuth for authentication.

The first time it connects, you are sent to TextKit to sign in. Approve the connection and choose test or live data. Start with test data: every call runs in the sandbox and no real phone gets a text. Approving creates an API key named for the app, listed on the API keys page of the console; revoke it there to disconnect. Only an account admin can approve.

2. Give your app its own key

The connection lets the v0 agent use TextKit while it builds. The app it builds sends through the API with a key of its own. Ask the agent:

Create a TextKit API key for this app and store it as the secret TEXTKIT_API_KEY.

It calls create_api_key, which returns the new key once, in the same mode as the connection (a test key while you are connected with test data). The account owner gets an email whenever a key is created. To limit what the app can do, ask for a key with only the scopes it needs, for example only sending messages.

3. Ask for the feature

Describe what the app should do and point the agent at the docs. A few that work well:

Add phone verification to signup with TextKit Verify (POST /v1/verify, then POST /v1/verify/check). Docs: /docs/verify.md

When an order ships, text the customer "Your order shipped" with the tracking link, using the TextKit API with the TEXTKIT_API_KEY secret.

Show replies from customers in an inbox page: receive them with a TextKit webhook (message.received) and verify the signature.

The agent can read every docs page as markdown (add .md to the path), and the quickstarts cover the SDKs for Node.js and Python and plain HTTP for everything else.

4. Test it, then go live

With a test key, sends are simulated: send to +15005550006 and the message always ends delivered, and your own verified phone can get real test texts. Each call shows in the console logs with its request and response.

To text the public, the app needs a live key and a number that may send: a local number linked to an approved 10DLC registration, or a verified toll-free number. We file the 10DLC registration for you; toll-free verification is a guided form. Compliance and registration explains both, and opt-out and consent covers STOP, HELP and the consent you need before you text someone.

Sources

The steps above follow the platform's own documentation:

More in integrations