Catalytic for Developers

Welcome, developers

Catalytic speaks your language. Our developer tools allow you to code, customize and create more with our platform.

Get Started    

Start an Instance

The Start Method

Starts an Instance of a Workflow. You can optionally pass values for the input fields defined on the Workflow.

👍

Permissions Required

You must have Find permissions to the Workflow, and the Workflow must have "Can be started manually" enabled in order to start an instance of this Workflow. Manual starts are enabled by default for Workflows in the Web App.

Method Signature

Instance Start(Guid workflowId, string name = null, IEnumerable<KeyValuePair<string, object>> inputs = null);
async Task<Instance> StartAsync(Guid workflowId, string name = null, IEnumerable<KeyValuePair<string, object>> inputs = null);
ParameterTypeDescription
workflowIdGuidThe ID of the Workflow to start
namestringOptional name to apply to the Instance
inputsIEnumerable<
KeyValuePair<
string, object
>>
Optional named input parameters to pass to the Instance.
Must match Fields configured on the Workflow.
returnsInstanceThe newly started Instance
Instance Start(string workflowId, string name = null, IEnumerable<KeyValuePair<string, object>> inputs = null);
async Task<Instance> StartAsync(string workflowId, string name = null, IEnumerable<KeyValuePair<string, object>> inputs = null);
ParameterTypeDescription
workflowIdstringThe ID of the Workflow to start
namestringOptional name to apply to the Instance
inputsIEnumerable<
KeyValuePair<
string, object
>>
Optional named input parameters to pass to the Instance.
Must match Fields configured on the Workflow.
returnsInstanceThe newly started Instance
Instance Start(StartInstanceRequest instanceRequest);
async Task<Instance> StartAsync(StartInstanceRequest instanceRequest);
ParameterTypeDescription
instanceRequestStartInstanceRequestThe details of the Workflow to start, including ID, name and inputs
returnsInstanceThe newly started Instance

See the Instances Quickstart Example for an example of finding and starting a Workflow by name instead of ID.

Example

/*
 * This example demonstrates finding a Workflow, starting an Instance of
 * that Workflow with some inputs.
 */

using Catalytic.Sdk;
using Catalytic.Sdk.Entities;
using System;

namespace Catalytic.Sdk.Examples
{
    class Program
    {
        // update this to your email before running this sample
        public const string YourEmail = "y[email protected]";
      
        static void Main(string[] args)
        {
            // create and initialize the Catalytic SDK Client
            var catalytic = new CatalyticClient(Credentials.Default);
            var workflow = catalytic.Workflows.Get("c9f2beec-10c0-4f2f-b4e0-1d884c7e053c");
            // Set the inputs the Workflow expects
            var request = workflow
              .SetInput("Age", 42)
              .SetInput("Name", "Alice")
              .SetName($"SDK Example - {DateTimeOffset.Now.ToString()}");
            // Start the workflow
            var instance = catalytic.Instances.Start(request);
        }
    }
}

Updated 4 months ago

Start an Instance


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.