Skip to content

Creating a Connection

This guide walks through creating a connection in DataRecs, for any of the 10 supported connection types.

  • A DataRecs account with access to a workspace.
  • Network connectivity from DataRecs to your data source (your admin may need to allowlist DataRecs egress IPs for database sources).
  • Credentials with read access.

credentials is a flat JSON object whose fields depend on type — not a nested config.address/config.auth structure. POST /connections/test validates credentials against the real source without creating anything — use it before POST /connections.

Type Required credentials fields
postgres, mysql, db2, oracle, mssql host, port, username, password (database is also read; include it for database-scoped sources)
bigquery access_mode (direct or impersonation), billing_project_id; target_service_account_email is required when access_mode is impersonation
google_sheets access_mode (direct or impersonation); target_service_account_email required when access_mode is impersonation; optional read_protection (boolean)
excel_sharepoint tenant_id (required), site_id (optional). Only these two keys are accepted — client_id/client_secret are platform-level secrets, not per-connection credentials, and are rejected
tableau server_url, username, password
looker base_url, client_id, client_secret

google_sheets and excel_sharepoint are keyless: they use Workload Identity impersonation rather than a stored database password, which is why their credential shape is access-mode/service-account metadata rather than a secret.

  1. Navigate to Connections in the sidebar.
  2. Click New Connection.
  3. Select your connection type.
  4. Fill in the fields for that type (see the table above).
  5. Click Test Connection to validate.
  6. Once the test passes, click Save.
  1. DataRecs validates connectivity by opening a test connection to your data source (or, for keyless connectors, by verifying the impersonation grant).
  2. Credentials are envelope-encrypted and stored in OpenBao, tenant-scoped.
  3. For database sources, a Kubernetes Network Policy is created to allow egress from your tenant’s namespace to your database host, and nothing else.

A connection has one owning workspace (workspace_id — controls who can modify it and its sharing) and can optionally be shared into others via workspace_ids. If omitted, a connection is only usable from its owning workspace.

Issue Solution
Connection timeout Verify your database is reachable from DataRecs. Check firewall rules and allowlisted egress IPs.
Authentication failed Double-check username and password. Ensure the user has read privileges on the tables you’ll reconcile.
excel_sharepoint credentials rejected Only tenant_id and site_id are accepted in credentials for this type — remove any other keys.
BigQuery/Google Sheets impersonation fails target_service_account_email is required whenever access_mode is impersonation.