Skip to main content
GET
/
v1
/
workflows
/
{id}
Get a workflow
curl --request GET \
  --url https://app.loops.so/api/v1/workflows/{id} \
  --header 'Authorization: Bearer <token>'
{
  "id": "wfl8n3q1w7x2m9k4p6r0t5y8zab2cd",
  "name": "Welcome sequence",
  "description": "Onboarding emails for new signups",
  "emoji": "👋",
  "mailingListId": null,
  "rootNodeId": "node_trigger_01",
  "nodes": {
    "node_trigger_01": {
      "typeName": "SignupTrigger",
      "nextNodeIds": ["node_timer_01"]
    },
    "node_timer_01": {
      "typeName": "TimerAction",
      "nextNodeIds": ["node_email_01"],
      "amount": 1,
      "unit": "d"
    },
    "node_email_01": {
      "typeName": "SendEmailAction",
      "nextNodeIds": ["node_exit_01"],
      "emailMessageId": "cmn5zia4i0017tzli8ric8giv",
      "subject": "Welcome to Loops"
    },
    "node_exit_01": {
      "typeName": "ExitAction",
      "nextNodeIds": []
    }
  }
}
Workflow API endpoints are currently in alpha and are subject to change.
Returns a simplified view of the workflow graph. Each node includes its typeName, outgoing connections in nextNodeIds, and selected display fields. Use Get workflow node to retrieve full details for a single node.

Request

Path parameters

id
string
required
The ID of the workflow.

Response

Success

id
string
required
The workflow’s ID.
name
string
The workflow’s name.
description
string
The workflow’s description.
emoji
string
The workflow’s emoji.
mailingListId
nullable string
The ID of the mailing list the workflow is sent to.
rootNodeId
nullable string
required
The ID of the workflow’s trigger node.
nodes
object
required
A map of node IDs to simplified node objects. Each node includes typeName and nextNodeIds, plus type-specific fields when present.

Error

A 400 Bad Request is returned if id is invalid. A 404 Not Found is returned if the workflow does not exist. If the API key is invalid (or workflow API is not enabled for your team), a 401 Unauthorized is returned.
message
string
required
An error message describing what went wrong.
{
  "id": "wfl8n3q1w7x2m9k4p6r0t5y8zab2cd",
  "name": "Welcome sequence",
  "description": "Onboarding emails for new signups",
  "emoji": "👋",
  "mailingListId": null,
  "rootNodeId": "node_trigger_01",
  "nodes": {
    "node_trigger_01": {
      "typeName": "SignupTrigger",
      "nextNodeIds": ["node_timer_01"]
    },
    "node_timer_01": {
      "typeName": "TimerAction",
      "nextNodeIds": ["node_email_01"],
      "amount": 1,
      "unit": "d"
    },
    "node_email_01": {
      "typeName": "SendEmailAction",
      "nextNodeIds": ["node_exit_01"],
      "emailMessageId": "cmn5zia4i0017tzli8ric8giv",
      "subject": "Welcome to Loops"
    },
    "node_exit_01": {
      "typeName": "ExitAction",
      "nextNodeIds": []
    }
  }
}
Last modified on June 22, 2026