docs/daprdocs/content/en/developing-applications/building-blocks/workflow/howto-manage-workflow.md

2.9 KiB

type title linkTitle weight description
docs How to: Manage workflows How to: Manage workflows 6000 Manage and run workflows

Now that you've [authored the workflow and its activities in your application]({{< ref howto-author-workflow.md >}}), you can start, terminate, and get information about the workflow using HTTP API calls. For more information, read the [workflow API reference]({{< ref workflow_api.md >}}).

{{< tabs ".NET SDK" HTTP >}}

{{% codetab %}}

Manage your workflow within your code. In the OrderProcessingWorkflow example from the [Author a workflow]({{< ref "howto-author-workflow.md#write-the-workflow" >}}) guide, the workflow is registered in the code. You can now start, terminate, and get information about a running workflow:

string orderId = "exampleOrderId";
string workflowComponent = "dapr";
string workflowName = "OrderProcessingWorkflow";
OrderPayload input = new OrderPayload("Paperclips", 99.95);
Dictionary<string, string> workflowOptions; // This is an optional parameter
CancellationToken cts = CancellationToken.None;

// Start the workflow. This returns back a "WorkflowReference" which contains the instanceID for the particular workflow instance.
WorkflowReference startResponse = await daprClient.StartWorkflowAsync(orderId, workflowComponent, workflowName, input, workflowOptions, cts);

// Get information on the workflow. This response will contain information such as the status of the workflow, when it started, and more!
GetWorkflowResponse getResponse = await daprClient.GetWorkflowAsync(orderId, workflowComponent, workflowName);

// Terminate the workflow
await daprClient.TerminateWorkflowAsync(instanceId, workflowComponent);

{{% /codetab %}}

{{% codetab %}}

Manage your workflow using HTTP calls. The example below plugs in the properties from the [Author a workflow example]({{< ref "howto-author-workflow.md#write-the-workflow" >}}) with a random instance ID number.

Start workflow

To start your workflow with an ID 12345678, run:

POST http://localhost:3500/v1.0-alpha1/workflows/dapr/OrderProcessingWorkflow/start?instanceID=12345678

Note that workflow instance IDs can only contain alphanumeric characters, underscores, and dashes.

Terminate workflow

To terminate your workflow with an ID 12345678, run:

POST http://localhost:3500/v1.0-alpha1/workflows/dapr/12345678/terminate

Get information about a workflow

To fetch workflow information (outputs and inputs) with an ID 12345678, run:

GET http://localhost:3500/v1.0-alpha1/workflows/dapr/12345678

Learn more about these HTTP calls in the [workflow API reference guide]({{< ref workflow_api.md >}}).

{{% /codetab %}}

{{< /tabs >}}

Next steps

  • [Try out the Workflow quickstart]({{< ref workflow-quickstart.md >}})
  • Try out the .NET example
  • [Workflow API reference]({{< ref workflow_api.md >}})