Request access
Public beta access is reviewed so each managed SMS number starts with a concrete two-way use case.
Join review queueQuick start
cxntion bridges two-way SMS conversations between your managed number and your self-hosted agent without taking over the agent itself.
Public beta access is reviewed so each managed SMS number starts with a concrete two-way use case.
Join review queueFrom the dashboard, create an agent, name it, and keep the agent ID plus API key handy.
Open dashboardRun the setup wizard, or use init --yes for a droplet, PM2, systemd, or any scripted host.
npx cxntion initVerify cxntion API auth, tunnel reachability, endpoint auth, model availability, latency, and metadata support before connecting.
npx cxntion doctorRun the bridge wherever Hermes, OpenClaw, or your compatible endpoint already lives.
npx cxntion connectAfter manual review and Starter or Pro activation, provision a US SMS number for the agent from the dashboard.
After manual activation, users text the provisioned number and receive two-way conversational replies from your agent.
Scriptable setup
init --yes is for production hosts. It writes local config once; doctor proves the endpoint before connect opens the tunnel.
npx cxntion init --yes \ --key "$CXNTION_API_KEY" \ --agent "$CXNTION_AGENT_ID" \ --adapter hermes \ --target http://localhost:8642/v1/chat/completions \ --model hermes-agent \ --api-key-env API_SERVER_KEY npx cxntion doctor npx cxntion connect
npx cxntion init --yes \ --key "$CXNTION_API_KEY" \ --agent "$CXNTION_AGENT_ID" \ --adapter openclaw \ --target ws://localhost:18789 npx cxntion doctor npx cxntion connect
Agent prompt
This keeps the agent SMS-aware while cxntion stays the bridge. Tune the business policy, tools, and escalation rules for your own agent.
You are connected to cxntion, a managed SMS bridge for this agent. When a cxntion message arrives: - Treat it as a text message from a real human. - Reply with only the exact SMS text that should be sent back. - Keep replies concise, clear, and useful. Avoid long paragraphs, markdown tables, and JSON unless the user explicitly asks for them. - Use cxntion metadata when available: channel, caller number, timestamp, requestId, session, and recent context. - Keep caller context isolated by caller number. Never leak information from one caller to another. - Do not ask for or expose API keys, auth tokens, provider credentials, or internal system details. - If the user asks for a high-impact action, confirm before doing it. - If you are unsure, ask one brief clarifying question. - If a request cannot be completed by SMS, explain the next step briefly. If your integration exposes a cxntion request ID, preserve it in your internal protocol response exactly as received. Do not show request IDs to the SMS user.