---
title: "GET /api/projects/{project_id}/workflow_setup/status/"
method: GET
path: "/api/projects/{project_id}/workflow_setup/status/"
tags: ["workflow_setup"]
---

# GET /api/projects/{project_id}/workflow_setup/status/

`GET /api/projects/{project_id}/workflow_setup/status/`

## Request

- Base URL: `https://us.posthog.com`
- URL: `https://us.posthog.com/api/projects/{project_id}/workflow_setup/status/`
- Auth: HTTP bearer

Whether a project is set up to send messages from workflows.

## Path parameters

- `project_id` string, required

## Response `200`

- WorkflowSetupStatus
  - `steps` WorkflowSetupStep[], required: Every messaging setup step, in order.
    - `key` 'channel' | 'domain' | 'opt-outs' | 'sending-rules' | 'email-template' | 'first-workflow', required: * `channel` - Channel * `domain` - Domain * `opt-outs` - Opt-outs * `sending-rules` - Sending rules * `email-template` - Email template * `first-workflow` - First workflow
    - `done` boolean, required: Whether the project has done this step.
    - `title` string, required: The step's name, as the app shows it.
    - `next_step` string, required: What the person does to finish the step.
    - `app_url` string, required: Link to the place in the app where the person does this step.
  - `ready_to_send_email` boolean, required: Whether an email workflow can send. Needs a connected email channel on a verified domain, and email sending must not be paused for the project. SMS and push use their own channels, and automations that only post to tools like Slack or call webhooks need none of these steps.
  - `email_sending_paused` boolean, required: Whether email sending is paused for the project, so no email sends even with a verified domain. The person contacts PostHog support to resume it.
  - `next_open_step` union, required: The first step that is not done, or null when every step is done. * `channel` - Channel * `domain` - Domain * `opt-outs` - Opt-outs * `sending-rules` - Sending rules * `email-template` - Email template * `first-workflow` - First workflow
    - 'channel' | 'domain' | 'opt-outs' | 'sending-rules' | 'email-template' | 'first-workflow': * `channel` - Channel * `domain` - Domain * `opt-outs` - Opt-outs * `sending-rules` - Sending rules * `email-template` - Email template * `first-workflow` - First workflow
    - unknown

## Changes

> 53 revisions in range; 1 not diffed.

- **2026-10-21** `e263ffc38ef5`: 1 breaking
  - removed the required property `data_suggestions_available` from the response with the `200` status
- **2026-10-19** `9fafef801180`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/posthog/apis/posthog-api/changes/api/projects/:project_id/workflow_setup/status/get.md)

---

[API](https://skmtc.dev/posthog/apis/posthog-api.md) · [All operations](https://skmtc.dev/posthog/apis/posthog-api/llms.txt) · [OpenAPI document](https://skmtc.dev/posthog/apis/posthog-api/revisions/993f70ab941b?raw)
