---
description: Send your flow data to analytics or data storage tools.
---

# Set up integrations

From the **Integrations** tab, you can configure where you were will send data, the shape of submission data, and the frequency with which data is sent. &#x20;

{% hint style="info" %}
For any changes in the Integrations tab to be reflected in your flow/variant, you must republish after changes are made.
{% endhint %}

## Sending analytics events

[Amplitude](../../integrations/integration-reference/amplitude), [Google Analytics](../../integrations/integration-reference/google-analytics), [Google Tag Manager](../../integrations/integration-reference/google-tag-manager), and [Segment](../../integrations/integration-reference/segment) can be configured to receive [analytics events](../../integrations/getting-data-out/analytics).

The analytics destinations can also receive answer payloads. You must opt-in to this when configuring them in the integrations editor by toggling "Send answers" on.

## Sending answers

[BigQuery](../../integrations/integration-reference/bigquery), [Redshift](../../integrations/integration-reference/redshift), and [Webhooks](../../integrations/integration-reference/webhooks) can be configured to receive answer payloads. At the [submission frequency](../../integrations/getting-data-out/submission-frequencies) that you define, the entire answer payload will be sent to the integration.

Due to the distributed nature of our system, there are a couple of factors you should consider when setting up [BigQuery](../../integrations/integration-reference/bigquery), [Redshift](../../integrations/integration-reference/redshift), and [Webhooks](../../integrations/integration-reference/webhooks) integrations:\
\
1\. Ordering of answer submissions is not guaranteed. This can be particularly noticeable when you use a submission frequency of “Every Step”. For example, if steps are completed in quick succession, ordering of your submissions may not exactly match completion order. \
\
2\. While we guarantee at-least-once delivery of all answer submissions, regardless of frequency, **we cannot guarantee only-once delivery**. All integration targets should be designed with idempotency in mind. Receiving a duplicate answer submission should not adversely affect processing.

{% hint style="info" %}
**When does passed in data get sent?**

Answers passed in via URL parameter or POST body will be included in all answer payloads regardless of the step order.
{% endhint %}

{% hint style="info" %}
**Sending data to a Google Spreadsheet**

Spreadsheets are not databases, and have a slew of problems when you treat them as such, however, we recognize their usefulness, particularly when getting a new project up to speed.

Formsort has a first-party integration with Google Sheets. See more in our [Google Sheets documentation.](../../integrations/integration-reference/google-sheets)
{% endhint %}

## Viewing and testing webhook payloads

When you set up a webhook, you can view a sample answer payload in the Webhooks tab once you select a submission frequency. More about submission frequencies [here](../../integrations/getting-data-out/submission-frequencies).

{% embed url="https://www.loom.com/share/91b67af476504342935d938d7e6014b7" %}

## Receiving uploads

[Amazon S3](../../integrations/integration-reference/s3) and [Google Cloud Storage](../../integrations/integration-reference/google-cloud-storage) can be configured to receive uploads, such as from [file upload](../../adding-questions-and-content/question-reference/file-upload), [image upload](../../adding-questions-and-content/question-reference/image-upload), or [signature](../../adding-questions-and-content/question-reference/signature) questions. The answer itself will contain the S3/GCS URL of the uploaded asset.
