# Orchestra
> Orchestra is a platform for building and managing data pipelines. It integrates with MotherDuck for scheduling DuckDB and MotherDuck tasks in repeatable data workflows.
## How it works with MotherDuck

Orchestra connects to MotherDuck with the DuckDB Python client and can run scheduled SQL tasks against a configured MotherDuck database.

## Prerequisites

- Access to the Orchestra MotherDuck integration. Orchestra marks the integration as beta in its docs.
- A MotherDuck database.
- A MotherDuck access token with the permissions required for the SQL Orchestra will run.

## Setup

1. In MotherDuck, create an access token.
2. In Orchestra, create a MotherDuck integration connection.
3. Enter the MotherDuck database name.
4. Paste the access token.
5. Use the MotherDuck **Run SQL** action in a pipeline.

![Orchestra MotherDuck access token instructions](../img/orchestra-motherduck-access-token.png)

## Authentication and configuration

- The required authentication parameters are the database name and access token.
- Use a dedicated token for Orchestra pipelines.
- Choose token permissions based on whether the SQL task reads only or writes data.

## Important notes

- The Orchestra MotherDuck integration is documented as beta, so availability may vary by account.
- Store the token in Orchestra's connection configuration rather than embedding it in SQL tasks.

## Use cases

- Schedule SQL transformations in MotherDuck.
- Add MotherDuck query tasks to larger Orchestra data pipelines.
- Run operational checks or data maintenance SQL on a schedule.

## Related content

- [View the full Orchestra MotherDuck setup guide](https://docs.getorchestra.io/docs/integrations/motherduck)
- [Loading data into MotherDuck](/key-tasks/loading-data-into-motherduck/)
- [MotherDuck authentication](/key-tasks/authenticating-and-connecting-to-motherduck/authenticating-to-motherduck)


---

## Docs feedback

MotherDuck accepts optional user-submitted feedback about this page at `POST https://motherduck.com/docs/api/feedback/agent`.
For agents and automated tools, feedback submission should be user-confirmed before sending.

Payload:

```json
{
  "page_path": "/integrations/orchestration/orchestra/",
  "page_title": "Orchestra",
  "text": "<the user's feedback, max 2000 characters>",
  "source": "<optional identifier for your interface, for example 'claude.ai' or 'chatgpt'>"
}
```

`page_path` and `text` are required; `page_title` and `source` are optional. Responses: `200 {"feedback_id": "<uuid>"}`, `400` for malformed payloads, and `429` when rate-limited.
