# Guide: Dev-to-Production Deployment

This guide covers what to expect when promoting your Limio setup from a development (dev/staging) environment to production.

{% hint style="info" %}
**Limio can migrate your data for you.** Catalog, offers, campaigns, pages, and components can all be copied from your dev environment to production via a support request to <support@limio.com>. Tenant-level settings are also carried over. You do **not** need to recreate these manually.
{% endhint %}

## What you need to reconfigure

After Limio migrates your data, anything that references **external endpoints, domains, or credentials** must be updated to point to your production systems. The general rule: Limio copies your configuration, but you must supply production-specific connection details.

### Integrations

All integrations must be reconnected with production credentials and endpoints:

| Integration    | What to update                                                                                |
| -------------- | --------------------------------------------------------------------------------------------- |
| **Salesforce** | Connected App credentials (production org), callback URLs, any org-specific record type names |
| **Zuora**      | API credentials (production tenant), payment gateway, HPM page domain                         |
| **Webhooks**   | All destination URLs must point to production endpoints, plus any authentication credentials  |
| **SSO / OIDC** | Issuer URL, Client ID/Secret, redirect URIs — all must reference the production domain        |

See [SSO Your Authentication](https://github.com/innovate42/innovate42-service-template/blob/docs/docs/_external/spaces/product/authentication/sso-your-authentication/README.md) for OIDC setup details.

### Domain-dependent features

If your production environment uses a different domain (e.g. a custom domain instead of `{tenant}-shop.prod.limio.com`), update:

* **Zuora HPM** — the allowed host domain in your Zuora HPM page settings must match the production domain. See [Custom Domain — HPM impact](https://github.com/innovate42/innovate42-service-template/blob/docs/docs/_external/spaces/product/settings/how-to-add-your-custom-domain-to-limio.md#impact-on-zuora-hosted-payment-methods-hpm).
* **Custom domain & SSL** — request domain provisioning and configure CNAME records. See [Add Custom Domain](https://github.com/innovate42/innovate42-service-template/blob/docs/docs/_external/spaces/product/settings/how-to-add-your-custom-domain-to-limio.md).
* **SSO redirect URIs** — register the production domain with your identity provider.

### Component props containing links

If any of your components have **hardcoded URLs or links stored in component props** (e.g. terms & conditions links, external redirect URLs, image sources), these must be updated to production URLs after migration. Review your pages in Page Builder to check for any dev/staging URLs.

## Testing checklist

Before going live, test the following end-to-end in production:

* [ ] Place a test order and verify it reaches Salesforce/Zuora
* [ ] Verify webhook payloads are received by your production endpoints
* [ ] Test SSO login flow if applicable
* [ ] Verify payment collection via Zuora HPM on the production domain
* [ ] Confirm email notifications are sent (if configured)
* [ ] Check subscription self-service actions (upgrade, cancel, change payment)
