Codex + AgentLine
Give Codex a number it can actually call from
Codex can write the integration. AgentLine is the number, the dial tone, and the transcript so that integration is one skill instead of a Twilio weekend.
One skill file
Install the AgentLine skill in Codex, set AGENTLINE_API_KEY, and ask it to provision a number. The relay keeps live call turns in-session.
Get yourself a phone number and call me. Follow https://agentline.cloud/skill.mdWhy Codex needs its own number
Codex writes it, AgentLine runs it
Let Codex generate the webhook or the agent prompt. The phone network stays on AgentLine.
No audio pipeline in the agent
Codex never sees PCM. It sees transcripts and writes the next sentence.
Same number for voice and inbound SMS
2FA codes, missed-call follow-up, and voice all share one identity.
Prompt
Paste this to your Codex agent. It tells the agent how to use its number.
Get yourself a phone number and call me. Follow https://agentline.cloud/skill.mdSet up Codex
How the skill and the service land on this runtime.
1. Add the MCP server
Add this to ~/.codex/config.toml, then restart Codex.
[mcp_servers.agentline]
command = "npx"
args = ["-y", "mcp-remote@latest", "https://api.agentline.cloud/mcp", "--header", "Authorization: Bearer $AGENTLINE_API_KEY"]2. Install the relay service
Keeps live call turns in-session. Run on the machine where the Codex CLI is installed with CODEX_API_KEY set — the installer checks both. Replace agt_xxx with your agent ID.
python -c "import urllib.request; urllib.request.urlretrieve('https://api.agentline.cloud/static/agentline_relay.py','agentline_relay.py')"
python agentline_relay.py install --agent-id agt_xxx --runtime codex