Campfire SMS queues your incoming SMS and sends a wake event to Grok Bot. The routine retrieves the message through authenticated MCP tools, handles it, and can text you back. Grok’s routine documentation confirms that routines run in the cloud while your laptop is closed.
1. Connect the hosted MCP
Verify your phone through the setup link in the navigation, then create an installation for the Bot in your Campfire SMS account. Give it a recognizable label. Use the one-time installation command supplied by your account with --credential-only:
npx -y @campfiresms/setup YOUR_INSTALLATION_CODE --credential-only
Replace YOUR_INSTALLATION_CODE with the value from your account. This enrollment step needs Node.js 18+ and stores a permanent installation credential in the configuration file whose path the command prints. Hosted MCP needs no Python, pip, or local coding CLI.
In Grok Bot’s plugin or MCP settings, connect https://api.campfiresms.com/mcp. If the Campfire SMS plugin is available in your workspace, use its secure CAMPFIRE_CREDENTIAL field. For a manually configured hosted MCP connection, use the installation credential as the bearer in its secure authorization-header setting:
Authorization: Bearer <installation-credential>
Transfer the credential from the saved configuration only into the host’s secure credential setting. Keep it out of Bot chats, SMS, screenshots, and source control. A team administrator may need to enable the plugin or allowlist the MCP URL.
Confirm the Bot can see campfire_open_bridge, campfire_check_messages, campfire_ack, campfire_send_message, and campfire_close_bridge. Ask it to open the bridge and send a harmless test text before configuring wake.
2. Create a webhook routine
Ask the same Bot to create a routine triggered by a webhook. Give it the behavior below, then review the saved instruction and trigger:
For campfire.wake.probe or action: skip, finish quietly without calling tools. For campfire.message.available, call campfire_open_bridge to reuse the active bridge, then campfire_check_messages. Handle pending messages in order within the task’s existing permissions. Acknowledge each message ID with campfire_ack only after incorporating its instruction. Send a result, question, or blocker using campfire_send_message. If no messages are pending, finish quietly. After completing the task and sending its result, close the bridge with campfire_close_bridge.
On desktop, open the Bot’s details, choose Tasks, and open the routine under Routines. Confirm it is active and When to run includes a webhook trigger. Its Webhook section shows a POST to URL and a key. Keep the key private.
3. Save the wake connection in Campfire SMS
- Open your Campfire SMS account and find Grok Bot 24/7 wake.
- Select the same installation whose credential the Bot uses for hosted MCP. One installation owns wake per account.
- Copy the routine’s POST to URL into Webhook URL and its key into Sender key.
- Choose Test webhook and save.
If another installation has an open bridge, ask that agent to close it before testing Grok. An existing bridge keeps receiving its own replies.
The save test sends campfire.wake.probe. A successful webhook response confirms that Grok accepted a run. It does not confirm that the routine retrieved an SMS or sent a reply.
4. Test a real SMS and reply
- From your verified phone, text the Campfire SMS number: “Send me a one-sentence status.”
- Open Grok’s routine history and confirm a new webhook run started for this message.
- In the run, confirm the Bot opened or reused the bridge, called
campfire_check_messages, and retrieved that text. - Confirm it sent its response with
campfire_send_messageand that the SMS reached your phone. Confirm the handled message was acknowledged.
Only this complete text → webhook run → message retrieval → SMS reply verifies your wake setup. The account’s TEST setup reply and a successful webhook probe do not establish that flow. To check operation while your PC is off, repeat the harmless text after turning it off and inspect the cloud run afterward.
Message delivery and repeated wakes
The SMS body stays in Campfire SMS’s authenticated message queue. The webhook carries an event name, delivery ID, and bridge ID. Pending messages repeat until acknowledged; a duplicate wake with an empty queue should finish quietly.
The backend queues incoming SMS and a wake job before acknowledging the carrier. Its background worker retries failed wake deliveries independently of carrier retries. Check the account’s wake status and Grok’s run history when a reply is missing.
If the Bot does not reply
- No webhook run: confirm the routine is active, its webhook URL and key are current, and Campfire SMS wake is enabled for the right installation.
- Run starts but reads no message: confirm hosted MCP uses that installation’s valid credential, and another agent does not own the open bridge.
- Message retrieved but no reply: check the run’s result, tool errors, message balance, and Grok account limits. A webhook success only starts the run.
- Repeated work: acknowledge handled message IDs and have empty-queue runs exit quietly. Avoid two independent consumers on the same bridge.
To stop future SMS-triggered runs, disable wake in Campfire SMS and pause the Grok routine, then close the bridge. With wake enabled, a later ordinary text can open a new Bot bridge.
Grok Build and other local agents
For a local Grok Build, Codex, or other compatible session, follow local-agent installation. The agent must be running and check for replies at useful work boundaries. A scheduled local workflow needs an awake, online machine; the connector alone does not start a stopped session. The Linux and VM instructions cover Python virtual environments.
SMS instructions use the agent’s existing tools and permissions. Native approval prompts stay in its environment. Keep secrets out of texts; SMS is not end-to-end encrypted. See pricing and message counting.