Limited offer

Build with our iMessage API/MCP. Get our sandbox for free.

Integrations

Send iMessages from OpenAI Agents

The short answer

Yes, an OpenAI agent can run your iMessage outreach. Blue Reacher's REST API drops into function calling as a single tool, ChatGPT Agent Builder connects to the hosted MCP server, and signed webhooks feed replies back to your agent. Every send leaves a dedicated blue-bubble line with automatic RCS then SMS fallback, no A2P registration required. Lines pace at 50 opted-in / 30 cold new contacts a day; replies never metered.

$249 per line per month, published No A2P registration required 50 opted-in / 30 cold new contacts a day, unlimited replies
AI and agent stacks

5 tools in this group

Trigger

OpenAI

Under 9 seconds

Send iMessage

Result

Reply back in OpenAI

iMessage

Hi Alex, following up on your demo request. Worth a quick chat this week?

Sent from your OpenAI workflow

Yeah, tomorrow works.

Key takeaways

  • Function calling is the whole trick: give the model one tool that posts to the Blue Reacher API, and "text the prospect" becomes an action on your dedicated line.
  • ChatGPT Agent Builder speaks MCP, and Blue Reacher hosts an MCP server at https://api.bluereacher.com/v1/mcp.
  • Webhooks carry the inbound side: Blue Reacher posts every reply, delivery state and STOP opt-out to your HTTPS endpoint, signed, so your agent resumes the thread instead of polling.
  • Blue Reacher treats send_message as the tool that touches a real person, and your agent should too: reading threads is safe to automate on day one, first-contact sends earn autonomy later.

How a message falls back

How a message falls backEvery message is attempted as iMessage first, falls back to RCS if the number cannot receive iMessage, and falls back to SMS if it cannot receive RCS, so the message arrives either way.iMessageBlue bubble, read in minutesRCSIf the number is Android and RCS-...SMSIf neither, so it still arrives
Every message is attempted as iMessage first, falls back to RCS if the number cannot receive iMessage, and falls back to SMS if it cannot receive RCS, so the message arrives either way.

What does the OpenAI integration actually look like?

Function calling is the whole trick: give the model one tool that posts to the Blue Reacher API, and "text the prospect" becomes an action on your dedicated line.

from openai import OpenAI
import requests

client = OpenAI()

def send_imessage(phone: str, message: str) -> dict:
    """Send an iMessage. Human-approved outreach only."""
    r = requests.post(
        "https://api.bluereacher.com/v1/messages",
        headers={"Authorization": "Bearer brk_live_your_key"},
        json={"to": phone, "message": message},
    )
    return r.json()
  • Register send_imessage in your tools array and the model calls it with a phone and a message. The response carries a message id, so the agent can confirm delivery with one more call.

Does ChatGPT Agent Builder connect without code?

ChatGPT Agent Builder speaks MCP, and Blue Reacher hosts an MCP server at https://api.bluereacher.com/v1/mcp. Add it as an HTTP server with your bearer key and the messaging tools appear in the builder.

  • The same hosted server works in Claude, Cursor and any MCP-capable client, so one key covers every agent surface your team runs.
  • lookup_imessage checks whether a number can receive iMessage before anything sends
  • send_message sends one message from a line you own
  • get_conversation reads a thread's history with per-message delivery states
  • check_message_status reports pending, sent or failed for one message

How do replies get back to the agent?

Webhooks carry the inbound side: Blue Reacher posts every reply, delivery state and STOP opt-out to your HTTPS endpoint, signed, so your agent resumes the thread instead of polling.

  • Delivery events are the useful half. Delivered but silent for two days is a follow-up trigger, and an RCS or SMS fallback tells the agent to write shorter, the way a person would on plain SMS.
  • STOP is enforced platform-side before your code ever sees it, so compliance never depends on your prompt.

Where should a human stay in the loop?

Blue Reacher treats send_message as the tool that touches a real person, and your agent should too: reading threads is safe to automate on day one, first-contact sends earn autonomy later.

  • Rehearse on a brk_test_ sandbox key, where every tool answers with simulated data and nothing real sends
  • Keep sends behind approval until the agent has a track record on replies
  • Have the agent draft the batch, review it, then send approved messages one at a time
  • Log the returned message id against the CRM record that triggered the send

Frequently asked questions

Does OpenAI have a native iMessage integration?

No. Blue Reacher adds it: a REST API for function calling, a hosted MCP server for ChatGPT Agent Builder, and signed webhooks for replies. The agent checks availability, sends from a dedicated line, and reads delivery states, with no A2P registration required.

Can ChatGPT Agent Builder use this without writing code?

Yes. Add the Blue Reacher MCP server as an HTTP server with your API key and the messaging tools appear in the builder. Sends still respect pacing, and STOP suppression runs platform-side.

Does GPT function calling work with the API?

Yes. One tool definition posting to https://api.bluereacher.com/v1/messages with bearer auth is the whole integration. The response returns a message id your agent can poll for delivery status.

Do I need A2P registration to text from an OpenAI agent?

No A2P registration required: no brand vetting, no campaign approval, no carrier queue. You get a dedicated iMessage line with automatic RCS then SMS fallback, and unlimited iMessages paced at 50 opted-in / 30 cold new contacts a day.

What does this cost for an agent workload?

$249 per line per month, unlimited iMessages, or $1,949 per year (about $162.50/month, $449 activation waived). Lines pace at 50 opted-in / 30 cold new contacts a day; replies never metered. API, MCP and webhooks included.

See an OpenAI agent text on the call

Book a demo and bring your agent's use case. We'll wire the tool live, run an availability check against your own number, and land a blue-bubble message mid-call.