> For the complete documentation index, see [llms.txt](https://docs.welkinhealth.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.welkinhealth.com/integrations/analytics/s3-data-export.md).

# Connect Your Own Analytics

Receive your Welkin data on a schedule in an Amazon S3 bucket and build your own analytics pipeline on top of it.

If your organization has its own data warehouse or BI tool, Welkin can deliver your data on a recurring schedule to a secure Amazon S3 bucket. Your team connects to that bucket and builds its own pipelines, data models, and dashboards on top of the exported files.

This page explains how the export works, how often data is refreshed, what is included, and how to get it set up.

## How it works

1. Welkin configures a scheduled analytics export job for each Welkin environment you want exported (for example, your live and sandbox environments).
2. On every run, the job extracts your Welkin data and writes it as CSV files to an encrypted S3 bucket.
3. Your team, or your data tooling, reads the files from the bucket and loads them into your warehouse or BI tool.

Because the files follow your Welkin configuration, the export automatically reflects the data model you build in Designer – including your own Custom Data Types (CDTs) and fields.

## Delivery options

There are two ways to receive the export. Your Welkin team will recommend the right one during scoping.

| Option                             | How it works                                                                                                                                                                      | Best for                                                                                              |
| ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| **Welkin-hosted bucket**           | Welkin creates a dedicated S3 bucket for your organization and grants read-only access to the AWS account or IAM role(s) you provide. Your pipeline pulls files from that bucket. | Teams that want the fastest setup with no AWS changes on their side beyond granting their role access |
| **Replication to your own bucket** | You create a bucket in your own AWS account. Welkin sets up S3 cross-account replication so that each new export is copied into your bucket automatically.                        | Teams that require all data to reside in their own AWS environment                                    |

If you choose replication to your own bucket, configure it as follows before sharing the bucket name with Welkin:

* **Object Ownership** – ACLs disabled
* **Bucket Versioning** – Enabled (required for replication)
* **Default encryption** – Server-side encryption with Amazon S3 managed keys (SSE-S3). If you use your own KMS key instead, its key policy must allow Welkin's replication role to use it.
* **Bucket policy** – Welkin provides the exact policy that allows replication into your bucket
* **Lifecycle rule** (optional) – to control storage costs, you can keep only a limited number of object versions

Amazon S3 is the supported destination. Delivery to other cloud platforms (for example, Google Cloud or Azure) is not available out of the box and can only be scoped as a custom professional services project.

## Refresh frequency

* By default, the export runs **every hour** (for example, at 10:00, 11:00, 12:00).
* The interval is configurable per environment and is agreed with you during setup.
* Most exports complete within minutes. Organizations with very large data volumes may run on a longer, multi-hour cycle.

The S3 export is designed for analytics and reporting, not real-time use cases. If you need to react to events as they happen, use [webhooks](https://docs.welkinhealth.com/designer/webhooks/webhooks) or the [Export API](https://docs.welkinhealth.com/api-reference/export) instead.

## How files are updated

* **Full snapshots – reload, don't append.** Every run exports the complete current contents of each dataset, not just the changes. Reload each table from the latest file (for example, truncate and load); appending will duplicate records.
* **Overwritten in place.** Each file keeps the same name and location (for example, `emails.csv`), and every run replaces the previous version. No timestamped copies or archive are created.
* **Keeping history.** To track changes over time, store your own copy of each snapshot in your warehouse. With replication to your own bucket, previous file versions are also kept as S3 object versions per your lifecycle rule.

## What data is included

Each export contains a standard set of files plus one file for each Custom Data Type (CDT) and Profile Data Type (PDT) configured for your environment.

| File                    | Contents                                                                               |
| ----------------------- | -------------------------------------------------------------------------------------- |
| `patients.csv`          | Patient records                                                                        |
| `patient_programs.csv`  | Patient program enrollments                                                            |
| `users.csv`             | Welkin users (care team members)                                                       |
| `assessments.csv`       | Assessments                                                                            |
| `calendar_events.csv`   | Calendar events and appointments                                                       |
| `contacts.csv`          | Patient contacts                                                                       |
| `emails.csv`            | Email communications                                                                   |
| `sms.csv`               | SMS communications                                                                     |
| `chat_messages.csv`     | Chat messages                                                                          |
| `whatsapp_messages.csv` | WhatsApp messages                                                                      |
| `voice_calls.csv`       | Voice call records                                                                     |
| `_document_summary.csv` | Metadata for patient documents (file name, content type, document type, creation date) |
| One file per CDT / PDT  | The records and fields of each data type configured in Designer                        |

The export contains **data and metadata only**. Binary files such as uploaded documents, attachments, and call recordings are not part of the standard export. If you need those files delivered to your environment, contact your Customer Success Manager to scope a separate file transfer.

If you need a dataset that isn't listed here, submit a request – additional datasets can be added to your export.

## Working with the exported files

Keep the following in mind when building your pipeline:

* **CSV format** – each file includes a header row. Free-text fields (such as notes and message bodies) can contain commas and line breaks inside quoted values. Use a CSV parser that supports quoted, multi-line values; a simple line-by-line parser will report column-count mismatches.
* **Schema changes** – the export mirrors your Welkin configuration. When you add a field to a CDT, a new column appears in that file; when you add a new CDT, a new file appears. Build your pipeline to tolerate new columns and files.
* **Timestamps** – timestamps are exported in UTC. Convert them to your local time zone in your reporting layer.
* **Environments** – each environment is exported separately, so live and sandbox data never mix.

Customers load the export into a wide range of tools, including Snowflake, AWS Glue and Amazon Athena, and other cloud data warehouses and BI platforms.

## Security and compliance

* Access to the bucket is restricted to the AWS accounts or IAM roles you designate.
* Files are encrypted at rest, and all transfers use encrypted connections.
* **Export scope** – Welkin can configure the scope of your export on our side, such as which datasets and fields are included. Your team can also build your own pipeline to filter and shape the exported data to fit your needs.
* Once data is delivered to your environment, your organization is responsible for protecting it in line with your HIPAA obligations and agreements.

## Don't have a BI tool yet?

Welkin works with **Sisense** and **Tableau** as preferred analytics vendors and can set up reporting for you on top of the same data export. See [Sisense and Tableau (Preferred Analytics Vendors)](https://docs.welkinhealth.com/integrations/analytics/sisense-and-tableau).

## Setting up an export

1. **Contact your Customer Success Manager or Implementation Manager.** During scoping you'll confirm which environments to export, the delivery option, the refresh interval, and any additional datasets.
2. **Share your AWS details.**
   * For a Welkin-hosted bucket: the AWS account ID or IAM role ARN(s) that need read access.
   * For replication to your own bucket: the bucket name, configured as described in [Delivery options](#delivery-options).
3. **Welkin configures the export.** Welkin sets up the bucket access and the scheduled job. The first export runs as soon as the job is created.
4. **Validate the connection.** Confirm your team can list and read the files, and load a sample into your tool.

Setup of the S3 export is a one-time professional services engagement. Your Customer Success Manager will share a quote during scoping.

## Other ways to get data out of Welkin

| Method                                                                                                                                             | Best for                                                                      |
| -------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| [Export API](https://docs.welkinhealth.com/api-reference/export)                                                                                   | Pulling specific data types on your own schedule with cursor-based pagination |
| [Webhooks](https://docs.welkinhealth.com/designer/webhooks/webhooks)                                                                               | Reacting to events in near real time                                          |
| [Insights](https://docs.welkinhealth.com/care/getting-started/insights) and [Data Views](https://docs.welkinhealth.com/care/data-views/data-views) | Ad-hoc CSV downloads by individual users                                      |

## Troubleshooting

**Files haven't updated on schedule.** Check the last-modified time of the files in the bucket. If they are older than your refresh interval, open a [support ticket](https://docs.welkinhealth.com/support/submit-a-request/support-tickets) under **Reporting / Analytics** and include your environment name and the affected file.

**A new CDT field doesn't appear in my dashboards.** The column is added to the CSV automatically, but downstream tools may need a schema refresh. For Sisense, see [Sisense Change Requests](https://docs.welkinhealth.com/integrations/analytics/sisense-change-requests).

**My loader reports a column-count mismatch.** A free-text value likely contains a line break. Configure your parser to support quoted, multi-line fields.

## Getting help

For setup questions or changes to your export, contact your Customer Success Manager at <csm@welkinhealth.com>. For issues with an existing export, open a [support ticket](https://docs.welkinhealth.com/support/submit-a-request/support-tickets) under **Reporting / Analytics**.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.welkinhealth.com/integrations/analytics/s3-data-export.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
