Dawn Docs

Integrating data

Connect source systems and APIs into TrueState

Integrating data makes source systems available to datasets, pipelines, dashboards, reports, agents, and jobs.

Use Datasets for simple file uploads, Connections for reusable source configuration, Secrets for credentials, and Pipelines when ingestion should be repeatable or combined with transformations.

Ways to bring in data

TrueState supports three main ingestion patterns:

  • File upload: upload CSV or Excel files into Datasets.
  • Connections and integration steps: connect to cloud storage, databases, business applications, sheets, ad platforms, outreach tools, or REST APIs.
  • Dataset API: upsert rows into a dataset from an external system.

For file upload details, see Loading Data.

Supported integration sources

Current pipeline and connection configuration supports:

SourceTypical use
AWS S3Files and data lake exports
Google Cloud StorageFiles and data lake exports
Azure Blob StorageFiles and cloud exports
Google SheetsSpreadsheet-backed operational data
BigQueryQuery results from BigQuery
SnowflakeWarehouse queries or tables
Microsoft SQL ServerOperational database queries or tables
PostgreSQLOperational database queries or tables
Microsoft Fabric WarehouseFabric SQL warehouse queries
SalesforceSOQL queries for CRM data
SharePointDocument or file ingestion workflows
REST APICustom API extraction
LinkedInCampaign and account performance data
TaboolaCampaign performance data
OutbrainCampaign performance data
Dynamics 365 Business CentralBusiness Central entities
InstantlyOutreach performance data
HeyreachOutreach performance data

Available sources can vary by organisation permissions and environment.

Credentials and Secrets

Most integrations require credentials. Store them in Secrets rather than pasting credentials into prompts or instructions.

Common secret types include:

  • Username and password
  • API token
  • OAuth client ID and client secret
  • Google service account JSON
  • AWS access keys
  • Azure storage account credentials
  • Google Sheets OAuth
  • LinkedIn access token

Use clear names such as snowflake-prod, gcs-marketing-exports, or salesforce-sandbox so other builders can select the right secret later.

Connections

Use Connections when a source should be reusable across workflows. A connection captures the source type, credentials, and source-specific configuration.

Connections are useful when:

  • Multiple pipelines need the same source.
  • The agent needs to retrieve metadata or inspect available tables/files.
  • You want to centralise source configuration rather than duplicate it in every pipeline.

Pipelines

Use a Pipeline when ingestion should be repeatable, transformed, enriched, or delivered as a dataset.

Common patterns:

  • Read from S3, GCS, Azure Blob, or Google Sheets and publish a cleaned dataset.
  • Query Snowflake, BigQuery, Postgres, SQL Server, or Fabric Warehouse and transform the result.
  • Pull campaign data from an ad platform and combine it with CRM data.
  • Call a REST API, normalise the response, and store it for dashboarding.

Dataset API

The Dataset API can upsert JSON rows into a dataset.

PUT https://platform-api.truestate.io/datasets/upsert/
api-key: <truestate-api-key>

Example request body:

{
  "dataset_name": "customers",
  "row_unique_identifier": "id",
  "data": [
    { "id": "1", "name": "Acme", "status": "active" },
    { "id": "2", "name": "Beacon", "status": "prospect" }
  ],
  "data_schema": {
    "id": "string",
    "name": "string",
    "status": "string"
  }
}

Fields:

  • dataset_name: dataset to create or update.
  • row_unique_identifier: unique column used to update existing rows.
  • data: array of JSON objects, one object per row.
  • data_schema: optional top-level column type mapping.

Valid schema types include INTEGER, FLOAT, STRING, BOOLEAN, and JSON.

Best practices

  • Start with file upload for one-off exploration.
  • Use Connections and Pipelines for repeated ingestion.
  • Store credentials in Secrets.
  • Keep source queries as narrow as practical.
  • Give output datasets clear names and descriptions.
  • Document important source assumptions in Agent → Context.

Next steps