Going live
From a working integration to a release: the release build's settings, the dashboard's production checklist, the store submissions, the test script on real phones, and what to watch once customers use it.
What changes between the build you tested and the one your customers install, and the checks that prove it works before they do.
What it needs in the dashboard
| Where | Check |
|---|---|
| Agent → Embed & Widgets → Install | The production key in the release build; app:// and every website host — staging included — in Allowed domains |
| Embed & Widgets → Appearance | The design saved on the Garage's three surfaces; Setup saved |
| Embed & Widgets → Actions, On screen, Friction | Actions declared and saved; components ticked; friction tuned |
| Agent → Memory → Settings | Memory on; the same Who is the user? field on every agent your users meet |
| Agent → Calls & scheduling | Call name, quiet hours, who may book, the limits; the agent's Calling Window |
| Workspace settings → In-app calling | iOS and Android Checked and working.; iOS environment Automatic (TestFlight and the App Store use production pushes) |
| The prompt | Handles who_called (customer, agent, scheduled) and call_reason, and reads well when a variable is empty |
What to do, in order
- Release build settings: debug logging off; your app's version on every call record; the production publishable key.
- Store submissions: Google Play's foreground-service and full-screen-intent declarations; App Store review notes for calls (and leave calls off in the China storefront: Apple does not allow CallKit there) — Permissions → Store review.
- Run the test script on an iPhone, two Android phones from different makers, and your website, signed in as a test user — Testing end to end and the guide's QA script.
- Log
checkActions()once in a debug build: every action the agent may call is registered. - After launch, watch Call History (who each conversation was with, its outcome), the scheduled calls' outcomes, and your webhooks.
The code, platform by platform
Check: Push Notifications, Background Modes Audio and Voice over IP,
NSMicrophoneUsageDescription, and enableVoIPPushes() at every launch.
Troubleshooting
| What you see after release | Why | Fix |
|---|---|---|
| Works in debug, refused in the store build | The release build carries another key, or an agent without app:// | The production key; app:// in its Allowed domains |
| iPhones in TestFlight never ring | The APNs environment does not match | Environment Automatic in In-app calling |
| Play rejects the build | Missing foreground-service or full-screen-intent declarations | Permissions → Store review |
The fuller list, with what each failure means: Going live.

