Environments
How a project's Draft and Live environments work, what Save and Publish change, and which URLs, numbers and tools use each one.
Every project runs in two environments. Draft is the version you are building and testing. Live is the version real users reach. Keeping them apart means you can keep editing and testing without changing what your users get, until you publish.
Draft and Live
| Draft | Live | |
|---|---|---|
| Internal alias | app | prod |
| In the version badge | Dev | Prod |
| On the Routes page | Draft | Live |
| In the automation run panel | Staging | Production |
| Updated by | Save (and auto-save) | Publish |
| Who reaches it | You, through the simulators, test URLs and any route pointed at Draft | Your users, through connected channels, live URLs and routes pointed at Live |
The version badge at the top of the canvas, such as Dev: 12 | Prod: 9, shows the current version number of each environment. Prod shows a dash until the project has been published.
What Save and Publish do
- Save stores your changes and updates the Draft version. The canvas also saves automatically while you work.
- Publish makes the current flow the Live version. See Publishing.
- Unpublish takes the Live version down. The Draft version stays, so you can keep testing.
In the project's Logs tab, choose Simulator for logs from your simulator runs or Production for logs from the Live project.
Each save and publish is recorded in Version History, where you can compare versions and roll either environment back. See Version history.
Which environment each tool uses
| Tool or entry point | Environment |
|---|---|
| Simulate (chat simulator, USSD emulator, call simulator) | Draft |
| Automation run panel | Your choice: Staging (Draft) or Production (Live) |
| Execute Workflow on a published automation | Live |
| Chat channels (WhatsApp, Telegram, Messenger, Instagram, Slack) and the web chat widget | Live |
| Copy Live URL, and the USSD Callback URL in Settings | Live |
| Form trigger Test URL | Draft, as a dry run |
| Form trigger Production URL | Live; only works once the project is published |
| A USSD short code or phone number on the Routes page | Whichever you set in its Environment column |
Test URLs and production URLs
Form triggers give you two addresses, and so do webhook triggers where your workspace shows them. The Test URL runs your Draft workflow, so you can try it while you build. The Production URL runs the Live workflow and only works once the project is published. Share only the Production URL with the systems and people who will use it for real.
See Automation triggers and Hosted forms.
Test numbers and short codes
On the Routes page, each USSD short code and phone number has an Environment: Live or Draft. A common setup is to keep a test number or short code on Draft and your public one on Live. Your team can then dial the test route to try changes on a real phone before you publish them.
See Routes.
Draft routes reach real phones
A route pointed at Draft runs whatever you last saved, including unfinished work. Do not give a Draft route to customers.