# Pre-deployment checklist

To ensure a high-quality flow, make sure you...

### **Flow health**

* semantic names for your [**answer variables**](https://docs.formsort.com/response-data-collection-and-management/variable-schema).
* set [**readable descriptions**](https://docs.formsort.com/response-data-collection-and-management/variable-schema#readable-description) for your answer variables.
* set [**data classifications**](https://docs.formsort.com/response-data-collection-and-management/variable-schema#available-data-classifications) for your answer variables.
* set **Step IDs** for all your steps, especially if you’re using any analytics integrations.
* set [**savepoints**](https://docs.formsort.com/integrations/getting-data-out/submission-frequencies#on-savepoint), if the submission frequency for any integrations is **On savepoint**.

### Hosting

* set [**custom hostnames**](https://docs.formsort.com/workspace-management/custom-domains).
* add [**DNS records**](https://docs.formsort.com/workspace-management/custom-domains#step-2-add-dns-records-to-your-domain-hosting-provider) to your domain hosting provider.
* set [**default environments**](https://docs.formsort.com/environments#creating-new-environments), for any custom domains.
* if embedding your flow, set **Allowed embedding domains.**

### Integrations

* enable [**integrations**](https://docs.formsort.com/integrations/integration-reference) across [environments](https://docs.formsort.com/publishing-and-deployment/environments).
* set the appropriate [**submission frequency**](https://docs.formsort.com/handling-data/getting-data-out/submission-frequencies) for any data integrations.
* configure the [**events**](https://docs.formsort.com/integrations/getting-data-out/analytics) for any analytics integrations.
* confirm that the schema in your [**BigQuery**](https://docs.formsort.com/integrations/integration-reference/bigquery) account is configured correctly.
* set [**Allowed webhooks domains**](https://docs.formsort.com/integrations/integration-reference/webhooks), if you’re integrating with Webhooks.
* [**re-deployed flows**](https://docs.formsort.com/handling-data/environments#saving-and-propagating-changes), after updating your integrations.

### Responder behavior

* set [**Returning responder behavior**](https://docs.formsort.com/form-behavior-settings/variant-settings/returning-responder-behavior).&#x20;
* [**override Next button text** ](https://docs.formsort.com/adding-questions-and-content/content-reference/next-button)to include ex. ‘submit.’
* set [**step-level redirects**](https://docs.formsort.com/redirects-and-endings#redirects).
* set flow-level [**default redirects**](https://docs.formsort.com/redirects-and-endings#redirects).
* set **URL fallbacks** for any redirects with dependencies.

### Testing

* tested the retrieval of submission data on staging or custom [**environments**](https://docs.formsort.com/handling-data/environments).
* set **default URL params**, especially if testing on non-production environments.
* tested endpoints accessed by [**API Variables**](https://docs.formsort.com/response-data-collection-and-management/variable-schema/api-answers).
* tested endpoints used to [**populate dynamic choices**](https://docs.formsort.com/adding-questions-and-content/question-reference/select#dynamic-choice-loading).
* **handled CORS restrictions** for any endpoints you're accessing.
* tested [**branching paths**](https://docs.formsort.com/conditions-and-logic) logic.
* tested [**calculated variables**](https://docs.formsort.com/response-data-collection-and-management/variable-schema/calculated-answers)**.**
* tested [**styles**](https://docs.formsort.com/styling/customizing-appearance) across devices and browsers.
* tested [**redirects**](https://docs.formsort.com/redirects-and-endings), especially those including any variables in the query parameters.
* tested all enabled [**integrations**](https://docs.formsort.com/integrations/integration-reference)**.**
* tested your published flow in incognito mode, or your browser's equivalent.
