---
title: "Get a Workflow"
method: GET
path: "/v3/workflows/{workflowName}"
tags: ["Workflows"]
---

# Get a Workflow

`GET /v3/workflows/{workflowName}`

**Retrieve a workflow's current version by name.**

Returns the full workflow record: `currentVersionNum`, `mainNodeName`,
the `nodes` array (with each node's function reference and pinned
`versionNum` if any), and the `edges` array. To inspect a historical
version, use `GET /v3/workflows/{workflowName}/versions/{versionNum}`.

## Path parameters

- `workflowName` string, required

## Response `200`

The request has succeeded.

- WorkflowV3GetResponse
  - `workflow` WorkflowV3 — V3 read representation of a workflow version.
    - `id` string, required — Unique identifier of the workflow.
    - `name` string, required — Unique name of the workflow within the environment.
    - `versionNum` integer, required — Version number of this workflow version.
    - `displayName` string — Human-readable display name.
    - `emailAddress` string — Inbound email address associated with the workflow, if any.
    - `tags` string[] — Tags associated with the workflow.
    - `mainNodeName` string, required — Name of the entry-point call-site node.
    - `nodes` WorkflowNodeResponse[], required — All call-site nodes in this workflow version's DAG.
      - `name` string, required — Name of this call site, unique within the workflow version.
      - `function` FunctionVersionIdentifier, required
        - `id` string — Unique identifier of function. Provide either id or name, not both.
        - `name` string — Name of function. Must be UNIQUE on a per-environment basis. Provide either id or name, not both.
        - `versionNum` integer — Version number of function.
      - `metadata` object — Opaque free-form JSON object attached to this node on create/update. Returned verbatim; never interpreted by the server.
    - `edges` WorkflowEdgeResponse[], required — All directed edges in this workflow version's DAG.
      - `sourceNodeName` string, required — Name of the source node.
      - `destinationName` string — Labelled outlet on the source node, if any.
      - `destinationNodeName` string, required — Name of the destination node.
      - `metadata` object — Opaque free-form JSON object attached to this edge on create/update. Returned verbatim; never interpreted by the server.
    - `connectors` WorkflowConnector[], required — Connectors currently attached to this workflow. For version-scoped reads (`/versions/{n}`) this is always empty — connectors are current-state and not part of version history.
      - `connectorID` string, required — Unique connector API ID.
      - `name` string, required — Human-friendly connector name.
      - `type` 'paragon', required — Discriminator for a workflow connector. V3 supports `paragon` only.
      - `paragon` ParagonConnectorConfig — Paragon-integration configuration on a workflow connector.
        - `integration` string, required — Paragon integration key (e.g. "googledrive").
        - `configuration` object, required — Opaque per-integration configuration (e.g. `{"folderId": "..."}`).
        - `syncID` string, required — Paragon sync ID managed by the server. Read-only.
    - `createdAt` string, date-time, required — The date and time the workflow was created.
    - `updatedAt` string, date-time, required — The date and time the workflow was last updated.
    - `audit` WorkflowAudit
      - `workflowCreatedBy` UserActionSummary
        - `userActionID` string, required — Unique identifier of the user action.
        - `userID` string — User's ID. Present for user-initiated actions.
        - `userEmail` string — User's email address. Present for user-initiated actions.
        - `apiKeyName` string — API key name. Present for API key-initiated actions.
        - `emailAddress` string — Email address. Present for email-initiated actions.
        - `createdAt` string, date-time, required — The date and time the action was created.
      - `workflowLastUpdatedBy` UserActionSummary
        - `userActionID` string, required — Unique identifier of the user action.
        - `userID` string — User's ID. Present for user-initiated actions.
        - `userEmail` string — User's email address. Present for user-initiated actions.
        - `apiKeyName` string — API key name. Present for API key-initiated actions.
        - `emailAddress` string — Email address. Present for email-initiated actions.
        - `createdAt` string, date-time, required — The date and time the action was created.
      - `versionCreatedBy` UserActionSummary
        - `userActionID` string, required — Unique identifier of the user action.
        - `userID` string — User's ID. Present for user-initiated actions.
        - `userEmail` string — User's email address. Present for user-initiated actions.
        - `apiKeyName` string — API key name. Present for API key-initiated actions.
        - `emailAddress` string — Email address. Present for email-initiated actions.
        - `createdAt` string, date-time, required — The date and time the action was created.
    - `restricted` boolean, required — Whether this workflow is hidden from other members of the account in the bem web app. When true, only account owners and admins and explicitly granted users see the workflow and its calls, outputs, and errors in the app. This is a UI-visibility control: API keys are not scoped to workflows, so an environment API key still reads a restricted workflow and its data.
  - `error` string — Error message if the workflow retrieval failed.

---

[API](https://skmtc.dev/bem-team/apis/bem-api.md) · [All operations](https://skmtc.dev/bem-team/apis/bem-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/bem-team/bem-api/revisions/a6e4624117c6/schema)
