GECX multimodal: the complete connection

One architecture for calls, MCP, SMS and companion forms · LIVE = deployed pilot · SETUP = remaining integration

GECX multimodal: the complete connection One architecture for calls, MCP, SMS and companion forms · LIVE = deployed pilot · SETUP = remaining integration Cloud Run · us-central1 · one instance Call adapter · SETUP · ANI + stable request ID · Architecture component · CALL / CCAAS INTEGRATION Call adapter · SETUP ANI + stable request ID CALL / CCAAS INTEGRATION GECX agent · MCP round trip verified · Architecture component · runSession / BidiRunSession GECX agent MCP round trip verified runSession / BidiRunSession Multimodal · LIVE · MCP + browser REST / SSE · Cloud Run · us-central1 · one instance · GOOGLE IAM + APP AUTH Multimodal · LIVE MCP + browser REST / SSE GOOGLE IAM + APP AUTH AWS SMS · SETUP · Sender + AWS credentials · Architecture component · SendTextMessage AWS SMS · SETUP Sender + AWS credentials SendTextMessage Customer phone · TARGET · SMS + mobile web · Architecture component · OPAQUE LINK → BROWSER JWT Customer phone TARGET · SMS + mobile web OPAQUE LINK → BROWSER JWT Session + event stores · LIVE · Postgres 16 + Redis 7 · Cloud Run · us-central1 · one instance · EPHEMERAL SIDECARS Session + event stores LIVE · Postgres 16 + Redis 7 EPHEMERAL SIDECARS Web entry · SETUP · Public HTTPS → private app · Architecture component · ADD GOOGLE ID; KEEP SESSION JWT Web entry · SETUP Public HTTPS → private app ADD GOOGLE ID; KEEP SESSION JWT 1 · ANI 2 · MCP 3 · SMS Link 4 · HTTPS 5 · Form I/O Retain / read Legend Frontend Backend Database Cloud Security External

1–2 · Call context and MCP

  • • Your adapter sends callerPhone and connectionRequestId through runSession inputs[].variables. A voice adapter uses BidiRunSession for audio.
  • • GECX discovers tools with initialize / tools/list, then sends tools/call to /mcp using its CES service-agent ID token. Bind experienceSessionId in the custom header or pass the returned experience ID in tool arguments.

3–4 · SMS and the phone

  • • connect_auto_experience creates an experience and calls AWS SendTextMessage. The phone receives /demo/#connect=CODE; the browser exchanges that code at /v1/connections/redeem for its session JWT.
  • • Configure ANI mapping, AWS credentials and a sender. Build the public web entry and separate the browser link origin from the private MCP origin. SMS acceptance does not confirm delivery or page opening.

5–6 · Form updates and results

  • • start_auto_change publishes A2UI. The browser reads /v1/sessions/{id}/events over SSE and posts /v1/sessions/{id}/ui-action on Submit or Cancel. The web entry adds Google ingress auth and preserves the browser JWT.
  • • Redis retains the action. await_auto_change returns submitted fields through MCP, or pending after 20 seconds. An idle GECX conversation needs another tool call; the service makes no GECX callback.

Hosting and catalogue scope

  • • The app bundles standard, insurance-auto and acg-auto. GECX form submission passed validation. Customer browser access requires the public HTTPS web entry.
  • • One Cloud Run instance holds the app and both stores; replacement clears sessions. The page supports ACG and legacy auto forms. Typing stays in the browser until Submit. Spoken submissions do not prefill open fields. Voice interruption needs testing.