Edit

Debug and manage orchestrations using the Durable Task Scheduler dashboard

The Durable Task Scheduler dashboard lets you observe running orchestrations, inspect execution history and activity inputs/outputs, and manage orchestration lifecycle (pause, resume, terminate) — all from a browser.

The dashboard is available in two environments:

Environment URL Authentication
Local emulator http://localhost:8082 None required
Azure https://dashboard.durabletask.io/?endpoint=<SCHEDULER_ENDPOINT>&taskhub=<TASK_HUB_NAME> Requires Durable Task Data Contributor role

For more about the emulator, see Emulator for local development.

In this article, you learn how to:

  • Access the dashboard locally or on Azure.
  • Assign the Durable Task Data Contributor role to your developer identity.
  • Monitor orchestration status, filter instances, and inspect execution history.
  • Manage orchestrations (pause, resume, terminate, raise events).

Prerequisites

Before you begin:

Access the dashboard locally

If you're using the Durable Task Scheduler emulator, the dashboard is available at:

http://localhost:8082

No authentication or role assignment is needed for local development.

Assign dashboard access roles (Azure)

To access the dashboard for an Azure-hosted scheduler, assign the Durable Task Data Contributor role to your developer identity (email).

  1. Set the assignee to your developer identity.

    assignee=$(az ad user show --id "someone@microsoft.com" --query "id" --output tsv)
    
  2. Set the scope. Granting access on the scheduler scope gives access to all task hubs in that scheduler.

    Task Hub

    scope="/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/SCHEDULER_NAME/taskHubs/TASK_HUB_NAME"
    

    Scheduler

    scope="/subscriptions/SUBSCRIPTION_ID/resourceGroups/RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/SCHEDULER_NAME"
    
  3. Grant access. Run the following command to create the role assignment and grant access.

    az role assignment create \
      --assignee "$assignee" \
      --role "Durable Task Data Contributor" \
      --scope "$scope"
    

    Expected output

    The following output example shows a developer identity assigned with the Durable Task Data Contributor role on the scheduler level:

    {
      "condition": null,
      "conditionVersion": null,
      "createdBy": "YOUR_DEVELOPER_CREDENTIAL_ID",
      "createdOn": "2024-12-20T01:36:45.022356+00:00",
      "delegatedManagedIdentityResourceId": null,
      "description": null,
      "id": "/subscriptions/YOUR_SUBSCRIPTION_ID/resourceGroups/YOUR_RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/YOUR_DTS_NAME/providers/Microsoft.Authorization/roleAssignments/ROLE_ASSIGNMENT_ID",
      "name": "ROLE_ASSIGNMENT_ID",
      "principalId": "YOUR_DEVELOPER_CREDENTIAL_ID",
      "principalName": "YOUR_EMAIL",
      "principalType": "User",
      "resourceGroup": "YOUR_RESOURCE_GROUP",
      "roleDefinitionId": "/subscriptions/YOUR_SUBSCRIPTION/providers/Microsoft.Authorization/roleDefinitions/ROLE_DEFINITION_ID",
      "roleDefinitionName": "Durable Task Data Contributor",
      "scope": "/subscriptions/YOUR_SUBSCRIPTION/resourceGroups/YOUR_RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/YOUR_DTS_NAME",
      "type": "Microsoft.Authorization/roleAssignments",
      "updatedBy": "YOUR_DEVELOPER_CREDENTIAL_ID",
      "updatedOn": "2024-12-20T01:36:45.022356+00:00"
    }
    
  4. After granting access, open the dashboard at:

    https://dashboard.durabletask.io/?endpoint=<SCHEDULER_ENDPOINT>&taskhub=<TASK_HUB_NAME>
    

    Replace <SCHEDULER_ENDPOINT> with your scheduler's endpoint (for example, https://myscheduler.westus2.durabletask.io) and <TASK_HUB_NAME> with the name of your task hub.

    Alternatively, navigate to https://dashboard.durabletask.io/ and enter your scheduler endpoint and task hub name in the connection form.

Note

The following instruction shows a role assignment scoped to a specific task hub. If you need access to all task hubs in a scheduler, perform the assignment on the scheduler level.

  1. Navigate to the Durable Task Scheduler resource on the portal.

  2. Click on a task hub name.

  3. In the left menu, select Access control (IAM).

  4. Click Add to add a role assignment.

    Screenshot of the adding the role assignment on the Access Control pane in the portal.

  5. Search for and select Durable Task Data Contributor. Click Next.

    Screenshot of selecting the Durable Task Data Contributor role assignment in the portal.

  6. On the Members tab, for Assign access to, select User, group, or service principal.

  7. For Members, click + Select members.

  8. In the Select members pane, search for your name or email:

    Screenshot of selecting the user-assigned managed identity type in the portal.

  9. Pick your email and click the Select button.

  10. Click Review + assign to finish assigning the role.

  11. Once the role is assigned, click Overview on the left menu of the task hub resource and navigate to the dashboard URL located at the top Essentials section.

Monitor orchestration progress and execution history

The dashboard allows you to monitor orchestration progress and review execution history. You can filter the orchestration list using the following criteria:

  • Instance ID — Search for a specific orchestration by its unique ID.
  • Orchestration name — Filter by the orchestration type name.
  • Status — Filter by runtime status (Running, Completed, Failed, Terminated, Pending, Suspended).
  • Created time range — Narrow results to a time window.

Screenshot of the dashboard listing orchestration history and status with filter options.

View orchestration inputs and outputs:

Screenshot of the dashboard listing orchestration history and status inputs and outputs.

Detailed view of orchestration execution

You can drill into orchestration instances to view execution details and activity progress. This view helps you diagnose problems or gain visibility into the status of an orchestration.

In the following image, the Timeline view of an orchestration execution. In this "ProcessDocument" orchestration, the "WriteDoc" activity retried three times (unsuccessfully) with five seconds in between retry.

Screenshot of the dashboard showing the orchestration execution timeline.

You can also view inputs and outputs of activities in an orchestration:

Screenshot of the dashboard showing activity inputs and outputs.

Other views of orchestration execution sequence

The History view shows detailed event sequence, timestamps, and payload:

Screenshot of the dashboard showing orchestration instance details.

The Sequence view gives another way of visualizing event sequence:

Screenshot of the dashboard showing orchestration sequence view.

Orchestration management

The dashboard includes features for managing orchestration lifecycle on demand. Available actions include:

  • Suspend — Pause a running orchestration. It remains in memory but stops processing events until resumed.
  • Resume — Continue a previously suspended orchestration.
  • Terminate — Immediately stop an orchestration with an optional reason string.
  • Raise event — Send a named external event (with optional JSON payload) to a running or suspended orchestration.

Screenshot of the dashboard showing the Suspend, Resume, Terminate, and Raise Event buttons for managing orchestrations.

Next steps

For Durable Task Scheduler for Durable Functions:

For Durable Task Scheduler for the Durable Task SDKs: