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

# List workflow notification channels

> List workflow-scoped notification channels.

## Path parameters

<ParamField path="workflow_id" type="string" required>
  The unique identifier of the workflow.
</ParamField>

## Query parameters

<ParamField query="channel_type" type="string" required>
  Channel type to filter by: `webhook` or `email`.

  For more information, see [Webhooks](/api-reference/webhooks) and [Email notifications](/api-reference/email).
</ParamField>

<ParamField query="enabled" type="boolean">
  Filter by enabled status.
</ParamField>

## Response

<ResponseField name="items" type="array" required>
  List of notification channel objects.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    --url "${UNSTRUCTURED_API_URL}/api/v1/workflows/f0a1b2c3-4d5e-6f7a-8b9c-0d1e2f3a4b5c/notifications/channels?channel_type=webhook" \
    --header "unstructured-api-key: ${UNSTRUCTURED_API_KEY}"
  ```

  ```python Python SDK theme={null}
  import os
  from unstructured_client import UnstructuredClient
  from unstructured_client.models.operations import ListWorkflowChannelsApiV1WorkflowsWorkflowIdNotificationsChannelsGetRequest

  client = UnstructuredClient(
      api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
      server_url=os.getenv("UNSTRUCTURED_API_URL"),
  )

  response = client.workflows.list_workflow_channels(
      request=ListWorkflowChannelsApiV1WorkflowsWorkflowIdNotificationsChannelsGetRequest(
          workflow_id="f0a1b2c3-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
          channel_type="webhook",
      )
  )
  print(response)
  ```

  ```python Python SDK (async) theme={null}
  import asyncio
  import os
  from unstructured_client import UnstructuredClient
  from unstructured_client.models.operations import ListWorkflowChannelsApiV1WorkflowsWorkflowIdNotificationsChannelsGetRequest

  async def list_workflow_channels():
      client = UnstructuredClient(
          api_key_auth=os.getenv("UNSTRUCTURED_API_KEY"),
          server_url=os.getenv("UNSTRUCTURED_API_URL"),
      )
      response = await client.workflows.list_workflow_channels_async(
          request=ListWorkflowChannelsApiV1WorkflowsWorkflowIdNotificationsChannelsGetRequest(
              workflow_id="f0a1b2c3-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
              channel_type="webhook",
          )
      )
      print(response)

  asyncio.run(list_workflow_channels())
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "items": [
      {
        "id": "c1d2e3f4-5a6b-7c8d-9e0f-1a2b3c4d5e6f",
        "channel_type": "webhook",
        "description": "Job status alerts",
        "event_types": ["job.completed", "job.failed"],
        "enabled": true,
        "url": "https://hooks.example.com/notify",
        "created_at": "2026-04-29T10:00:00Z",
        "updated_at": "2026-04-29T10:00:00Z"
      }
    ]
  }
  ```
</ResponseExample>
