Integrations

Send survey data where you already work

A connector is a task in your siamang.yaml: a target, a table and the name of an encrypted project secret. It is committed with the questionnaire, so where the data goes is part of the study's history rather than something someone set up once in a UI.

12
export today
2
also import
3
not yet running
Live today

Twelve targets that transfer

DestinationPlanSecretWhat to know
Google Sheets
sheets
plus GSHEETS_SA Service-account JSON; the sheet must be shared with the account's client_email. 50,000 rows per run.
Microsoft Excel 365
excel365
plus GRAPH_APP Azure AD app registration with admin-consented Files.ReadWrite.All. Workbook and worksheet must already exist; 10,000 rows, because Graph caps the body.
Supabase (Postgres)
supabase also imports
plus SUPABASE_DSN The connection string from Project Settings → Database.
Amazon S3, R2, MinIO
s3
pro AWS_CREDS Access key pair with PutObject; set endpoint for R2 or MinIO. A self-hosted endpoint must be reachable publicly — private addresses are refused.
Google Cloud Storage
gcs
pro GCS_SA Service-account JSON with Storage Object User. Single-request upload, so keep objects modest.
Azure Blob Storage
azure
pro AZURE_BLOB A shared access signature with Write on Blob — account keys are not accepted.
Google BigQuery
bigquery
pro BQ_SA Service-account JSON with BigQuery Data Editor and Job User. The dataset must exist; the table is replaced.
Snowflake
snowflake
pro SNOWFLAKE Key-pair auth with an unencrypted RSA private key. Rows insert 500 at a time, so large tables press against the five-minute budget.
Your own Postgres
database also imports
pro TARGET_DB_DSN A postgres:// or postgresql:// connection string. Postgres only.
SFTP
sftp
pro SFTP_AUTH Username with a password or a private key. The host key is not verified unless you set host_key_sha256 — set it.
REDCap
redcap
pro REDCAP_TOKEN A project API token. Column names must already match the instrument's field names, including the record-id field.
Custom HTTP endpoint
http
pro HTTP_TOKEN Optional bearer token. Posts CSV or JSON to your URL, with a 30-second timeout.
True of all twelve

What every connector does the same way

Full replace, not incremental
Each run recreates the destination table or overwrites the object. There is no append or merge on export.
All columns are text
No type mapping happens anywhere — cast downstream, using the codebook.
100,000 rows per run
Google Sheets 50,000; Excel 365 10,000.
Manual trigger only
Schedules run analysis scripts, not connectors.
No automatic retry
Five-minute timeout. A failed run is recorded with its error, and you re-run it.
Public endpoints only
Private and reserved addresses are refused, so an in-VPC database or on-premises SFTP host must be reachable.
Strict column names
A column with a dash or a dot fails the export rather than being renamed behind your back.
Coming soon, honestly

Configurable, not yet running

These can be declared and validated, but the transfer returns a clear “coming soon” rather than pretending to work.

  • Airtable — Configurable today; the transfer answers an honest 409 until it ships.
  • Dropbox — Configurable today; the transfer answers an honest 409 until it ships.
  • Custom MCP servers — Corporate tier, not yet running.
No plan required

Or just download it

Connectors push data out on your behalf, which is why they need a paid plan. Downloading your own responses does not — CSV, Excel, SPSS, Stata, Parquet and SQLite are available on every plan, including Free.

FAQ

Questions

How many connectors actually work?

Twelve export today and two of those also import. Three more — Airtable, Dropbox and custom MCP servers — can be configured but answer a clear 409 when run, rather than failing quietly.

Do connectors sync on a schedule?

No. Connector runs are triggered manually or through the API. The scheduler handles analysis scripts, not connectors, so a nightly load means calling the run endpoint from your own scheduler.

Is the destination updated incrementally?

No — every export is a full replace of the destination table or object. There is no append or merge mode on export; the one append mode in the system is for imports.

Which plan do I need?

No connector is available on Free. Google Sheets, Excel 365 and Supabase are on Plus; storage, warehouses, your own Postgres, SFTP, REDCap and custom HTTP are on Pro. Pricing is per organisation, not per seat.

Can I just download the data instead?

Yes, and that is not plan-gated at all. CSV, Excel, SPSS, Stata, Parquet and SQLite downloads are available on every plan — see the export formats.

See it on a real study

The demo is a complete study — questionnaire, responses, analysis — with no account and nothing to install.