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 typenot a nested config.address/config.auth structure. POST /connections/test validates credentials against the real source without creating anything — use it before POST /connections.

TypeRequired credentials fields
postgres, mysql, db2, oracle, mssqlhost, port, username, password (database is also read; include it for database-scoped sources)
bigqueryaccess_mode (direct or impersonation), billing_project_id; target_service_account_email is required when access_mode is impersonation
google_sheetsaccess_mode (direct or impersonation); target_service_account_email required when access_mode is impersonation; optional read_protection (boolean)
excel_sharepointtenant_id (required), site_id (optional). Only these two keys are acceptedclient_id/client_secret are platform-level secrets, not per-connection credentials, and are rejected
tableauserver_url, username, password
lookerbase_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.

IssueSolution
Connection timeoutVerify your database is reachable from DataRecs. Check firewall rules and allowlisted egress IPs.
Authentication failedDouble-check username and password. Ensure the user has read privileges on the tables you’ll reconcile.
excel_sharepoint credentials rejectedOnly tenant_id and site_id are accepted in credentials for this type — remove any other keys.
BigQuery/Google Sheets impersonation failstarget_service_account_email is required whenever access_mode is impersonation.