Redshift

Insert answer submissions as rows in Amazon Redshift

Authentication

To allow Formsort to write to Redshift, create a new user with insert permissions to the schema that contains your data table. You can then add the credentials for the user directly into Formsort.

Do not reuse a user with more permissions than are necessary to INSERT rows - Formsort does not even need SELECT access, and should not have any administrative permissions.

Make sure your Redshift server is set to public! By default, Redshift servers in AWS are set to private.

Frequency

The frequency of inserting a row to redshift can be configured as:

  • On Finalize: only at the end of the flow.

  • On Savepoint: after each step marked as save point, and at the end of the flow.

  • Every step: at the end of each step (when the responder advances using the Next button), and at the end of the flow.

  • Debounced: when the responder abandons the flow after a period of inactivity, and at the end of the flow. Formsort recommends using this setting to reduce the load.

Security

Formsort backend system will exclusively connect to Redshift from the static IP 18.217.92.196.

Schema

Because the Formsort user should not have administrative permissions, you must create it yourself, using a SQL command or the AWS UI.

Create a table named answer_set with the following fields:

Field name

Type

Description

id

INTEGER (IDENTITY)

An auto-incrementing ID, like a primary key.

submitted_at

TIMESTAMPTZ

When the answers were received by Formsort.

responder_uuid

CHAR(36)

flow_label

VARCHAR

The flow label.

variant_label

VARCHAR

The variant label.

variant_revision_uuid

CHAR(36)

The variant revision UUID.

event_type

VARCHAR

The analytics event this answer set corresponds to, either StepCompleted or FlowFinalized

answers

VARCHAR(65535)

The answers, as a JSON string.

schema_version

SMALLINT

The version of the redshift adapter (currently 1)

Adding multiple Redshift instances

There is an option to send answer payloads to multiple Redshift destinations. This is useful if you'd like to share your data across multiple endpoints, or have payloads that are sent at different submission frequencies go to different destinations.

To enable multiple destinations, first complete setup for an initial destination (Destination 1). Then, click the "+ Add destination" button. Up to 3 instances can be added.

Once you've finished configuring all instances of your Redshift integrations, be sure to Save your work with the button in the top right corner.

If you have deployed flows previous to integrating with or updating Redshift instances, it is advisable to re-deploy those flows.

Last updated