> ## Documentation Index
> Fetch the complete documentation index at: https://docs.danubeai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Organization Workflows

> Share a workflow with your organization so every member can run it with their own credentials or the organization's shared ones

A workflow you build in **Personal** can move into an organization when the team should use it. A shared workflow is `internal`: every member sees it on the organization's tab of [Dashboard > Workflows](https://danubeai.com/dashboard/workflows) and can run it, and their agents list it with `list_workflows`. Nobody outside the organization can see it.

| Visibility | Who can see and run it                             |
| ---------- | -------------------------------------------------- |
| `private`  | You                                                |
| `internal` | Every member of the organization it is shared with |
| `public`   | Everyone                                           |

## Share a workflow

Open the workflow and click **Share with \<organization>** (pick the organization when you belong to several). Before anything moves, Danube checks every step for the organization's members:

* **Access.** A step whose tool members cannot see, such as a tool from your own private service or from another organization, is **blocked**, with the reason. Sharing stays disabled until you replace that step, because every member's run would fail there.
* **Credentials.** Each step says whose credential it runs with: *No credential needed*, *Danube has a shared \<service> credential* (the organization holds a [shared credential](/organizations/overview#shared-credentials)), or *Each member connects their own \<service>*.

Sharing moves the workflow: it keeps its id and link, and you keep editing it. **Make private** moves it back to your own workflows; members lose access at once.

You can also create a workflow straight into the organization: with the organization selected, choose **Create in \<organization>** on the create page.

## How shared workflows run

A member's run uses that member's own credential for each service, or the organization's shared one, in the usual [credential order](/organizations/overview#shared-credentials) and subject to any [credential rules](/organizations/overview#credential-rules). A member who has not connected a service a step needs sees that step fail with `auth_required`, the same as for any tool call.

**Only the author schedules.** A scheduled run executes as its author, with the author's credentials, so only the author can turn a schedule on, change it or turn it off.

**Duplicate to Personal** copies a shared workflow into your own private workflows, for when you want to change it without changing the team's.

## Who can change a shared workflow

| Action              | Who                                                                |
| ------------------- | ------------------------------------------------------------------ |
| Run, duplicate      | Every member                                                       |
| Edit, delete        | The author, the organization's owners and admins, a platform admin |
| Schedule            | The author                                                         |
| Share, make private | The author                                                         |

Members can share workflows unless an owner or admin turns off **Members can share skills and workflows** in [Dashboard > Organization > Settings](https://danubeai.com/dashboard/organization) (`skills_member_publish`); owners and admins always can.

## API

| Endpoint                                     | Purpose                                                                                                                    |
| -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| `GET /v1/workflows/my?include_org=true`      | Your workflows plus those shared with your organization                                                                    |
| `GET /v1/workflows/org/{org_id}`             | The workflows shared with the organization (any member)                                                                    |
| `GET /v1/workflows/{id}/share-check?org_id=` | Each step's access and credential for that organization's members                                                          |
| `POST /v1/workflows/{id}/share`              | Move your private workflow into an organization (`org_id`, default the acting organization); `400` names the blocked tools |
| `POST /v1/workflows/{id}/unshare`            | Move your shared workflow back to your private workflows                                                                   |
| `POST /v1/workflows/{id}/fork`               | Copy any workflow you can read into your private workflows                                                                 |
| `POST /v1/workflows`                         | Create one; `visibility: "internal"` with `org_id` creates it in the organization                                          |

`PATCH /v1/workflows/{id}` does not move a workflow in or out of an organization; use share and unshare.
