Skip to main content
When creating a new automated workflow, you have two options:

Create a Workflow using the Builder Copilot

You can use the Builder Copilot to quickly generate and build a workflow using AI assistance.

Create a Workflow from Scratch

You can configure and build a workflow entirely from scratch, allowing you to customize every step and logic to fit your specific needs.

Create a Workflow using the Builder Copilot

For more details on how to use the Builder Copilot—including its features and capabilities—refer to the Builder Copilot documentation.
1

Select or Create a Pack

Start by selecting an existing Pack or creating a new one. This is where your new workflow will be located.
2

Create a New Workflow

In the top-right corner of the selected Pack, click ‘New Workflow’ to begin creating your workflow.
3

Provide a Prompt to Builder Copilot

A dialog box will appear where you can enter a prompt describing the workflow you would like to create.
Provide clear and specific instructions for the Builder Copilot to receive the best results.
4

Generate the Workflow

After you have finished providing instructions for Builder Copilot, click on the ‘Generate Workflow’ button located in the bottom-right corner. The generation process may take a few seconds.
5

Review and Refine the Workflow

Once the generation is complete, you will see a preview screen:
  • Left panel: Your original prompt (double-click to edit and regenerate).
  • Right panel: The workflow the Builder Copilot has created.
  • Advanced options: Add a description and tags for easier management later.
6

Finalize in the Workflow Editor

You will be redirected to the Workflow Editor where you have the option to:
7

Publish the Workflow

Use the ‘Publish & Activate’ button to publish and activate your workflow for the first time. After the initial activation, any future changes you publish will simply update the most recent workflow version—without reactivating it.To learn more about the difference between published workflows and unpublished workflows, check out the documentation here.
Only users with the Owner user role, Contributor user role, or a custom role with the workflow:publish permission can publish workflows. To learn more about approving and publishing workflows, check out the documentation here.

Create a Workflow from Scratch

1

Select or Create a Pack

Start by selecting an existing Pack or creating a new one. This is where your new workflow will be located.
2

Create a New Workflow

In the top-right corner of the selected Pack, click ‘New Workflow’ to begin creating your workflow.
3

Open the Workflow Editor

In the setup screen, click Continue to Editor in the bottom-right corner. This will take you to the Workflow Editor, where you can begin building your workflow from scratch.
4

Configure Workflow Settings

Before entering the editor, configure the workflow settings:
You can proceed with this step using the default values and make changes at a later stage, if needed.
5

Build Your Workflow

Once you have completed the setup, you will be directed to the Workflow Editor. From here, you can build your workflow accordingly.
6

Publish the Workflow

Use the ‘Publish & Activate’ button to publish and activate your workflow for the first time. After the initial activation, any future changes you publish will simply update the most recent workflow version—without reactivating it.To learn more about the difference between published workflows and unpublished workflows, check out the documentation here.
Only users with the Owner user role, Contributor user role, or a custom role with the workflow:publish permission can publish workflows. To learn more about approving and publishing workflows, check out the documentation here.

Best Practices

Follow these best practices when creating workflows in Blink to build automated workflows that are secure, reliable, easy to troubleshoot, and maintainable.Whether you’re creating your first workflow or building a complex automated workflows across multiple workspaces, these guidelines can help ensure your workflows are easy to understand and maintain.1. Plan Your Workflow Before You BuildBefore adding steps to the Workflow Editor, define what the workflow should accomplish.Consider the following:
  • What should trigger the workflow?
  • What should the workflow do?
  • What information does it need?
  • What systems does it need to interact with?
  • What should happen if a step fails?
  • What should the final outcome be?
A clear objective helps you determine the appropriate trigger, actions, variables, and flow controls before you start building.Keep workflows focusedA workflow should have a clear and specific purpose.Avoid combining unrelated processes into a single workflow. If a workflow becomes difficult to understand or contains large amounts of unrelated logic, consider whether it can be divided into smaller workflows or reusable components.A well-designed workflow should be easy for another user to understand by reviewing the workflow canvas.
2. Build and Test IncrementallyBuild your workflow step by step rather than creating the entire workflow before testing it.A recommended approach is:
  1. Configure the trigger.
  2. Add the first action.
  3. Test the step and review its output.
  4. Add the next action.
  5. Pass values between steps using dynamic variables.
  6. Add conditions or other flow controls where needed.
  7. Test the workflow again.
  8. Add appropriate error handling.
  9. Review the completed workflow.
  10. Publish the workflow when it is ready.
Testing as you build makes it easier to identify which step is causing an issue.
Use dynamic variables whenever a value should come from the workflow rather than being manually entered.Dynamic variables can reference information such as:
  • Step outputs
  • Input parameters (only available in On-Demand Workflows)
  • Event data
  • Local variables
  • Global variables
  • Workflow metadata
Use the Variable Picker whenever possible to select available values instead of manually entering complex variable expressions. This helps reduce syntax errors and makes it easier to identify the data available at each point in the workflow.DoUse a dynamic value when the value can change between workflow executions.For example, if a workflow should operate on whichever user triggered an event, use the user information from the event rather than entering a specific username.Use variables when a value is reused across multiple steps or needs to be referenced later. For example, storing a shared threshold or environment name in a variable allows you to update it in one place.Don’tHardcode values that should be determined at runtime.For example, avoid:
if the workflow should operate on different users.Avoid unnecessary variablesDon’t create variables simply to pass a value between steps. If a value can be referenced directly from a previous step, reference it directly instead.Keep variable types consistentAvoid reusing the same variable for values with different data types or purposes. Assigning a different data type to an existing variable can result in unexpected behavior. Use separate variables with clear, descriptive names when values have different data types or purposes.Inspect variables when neededIf you’re unsure what a variable contains, use a Print step to inspect its value before using it in more complex logic.
4. Never Hardcode Secret Global Variables**Never store passwords, API keys, access tokens, or other sensitive credentials directly in workflows. Hardcoded secrets can expose sensitive information and make credential rotation difficult.DoUse:
  • Connections to authenticate with external services.
  • Secret Global Variables when a sensitive value needs to be reused across workflows.
Don’tDo not put credentials directly into:
  • Action parameters
  • Python or Bash scripts
  • Workflow YAML
  • Regular variables
  • URLs
  • Headers
  • Comments or notes
For example, don’t include credentials directly in a script:
Instead, store the sensitive value securely and reference it dynamically.
5. Use Connections for External ServicesWhen an action communicates with an external service, use a Connection whenever one is available.Connections centralize authentication and configuration and can be reused across workflows.DoCreate and reuse a connection for external services such as:
  • SaaS applications
  • Security tools
  • Cloud platforms
  • Communication platforms
  • Ticketing systems
Don’tDon’t store service credentials directly inside individual workflows when a Connection is available.Using Connections makes credential management easier and reduces the risk of exposing credentials in workflows.
7. Keep Steps Simple and PurposefulEach step should have a clear purpose.For example:
  1. Retrieve the alert.
  2. Extract the relevant IP address.
  3. Enrich the IP address.
  4. Check the result.
  5. Take the appropriate response.
Avoid creating steps that perform multiple unrelated tasks when separating the logic would make the workflow easier to understand.Use descriptive step namesGive steps names that explain what they do.Good:
Avoid:
Clear naming is especially important when workflows are long or maintained by users other than the original author.
9. Use Flow Controls for Decision-MakingUse conditions, switches, loops, and other [flow controls](Flow Controls](/docs/workflows/building-workflows/actions/basic-actions/flow-control-actions) ) when a workflow needs to make decisions or process multiple values.For example:
Keep branching logic easy to follow. If a workflow contains many deeply nested conditions, consider whether the logic can be simplified or separated into reusable components.Make dependencies clearA step’s output is only available after that step has executed. When using a step’s output in a later step, make sure the workflow path guarantees that the source step runs first.This is particularly important when working with branches and conditional logic.
10. Validate Data Before Using ItDon’t assume that an output always contains the value you expect.Before using data from a previous step, consider:
  • Can the value be missing?
  • Can it be null?
  • Can the list be empty?
  • Can the API return a different format?
  • Can the value have a different data type?
Where appropriate, handle missing or unexpected values before passing them to downstream steps.If you’re unsure what a step returns, use a Print step to inspect the output before building additional logic around it.
11. Design for FailureExternal systems can fail, time out, return unexpected data, or become temporarily unavailable.Consider what should happen when:
  • An API request fails.
  • A connection is unavailable.
  • An expected value is missing.
  • An external service returns an unexpected response.
  • A workflow step times out.
Use Blink’s error-handling capabilities to define appropriate behavior rather than assuming every step will succeed.Do
  • Consider failure scenarios when designing the workflow.
  • Add appropriate error handling to critical workflows.
  • Decide whether a failure should stop the workflow or allow it to continue.
  • Make important failures visible to the appropriate users or systems.
Don’t
  • Assume external services will always be available.
  • Ignore failed steps.
  • Allow a workflow to continue with invalid or missing data when doing so could produce an incorrect result.

12. Test SafelyAlways test your workflow before publishing it.Start by testing individual steps and then test the complete workflow.During testing, verify:
  • The trigger provides the expected data.
  • Each action receives the correct inputs.
  • Dynamic variables resolve to the expected values.
  • Conditions follow the expected path.
  • External services return the expected results.
  • Errors are handled appropriately.
  • The final output is correct.
Be aware of external effectsWorkflow test runs can interact with external systems using configured Connections. Before testing, consider whether any action can create, modify, delete, or otherwise affect real data.Do
  • Use safe test data where possible.
  • Verify which Connections the workflow uses.
  • Consider the impact of actions before running the test.
  • Test destructive or irreversible actions carefully.
Don’t
  • Assume a test run cannot affect external systems.
  • Test destructive actions against production data without considering their impact.
  • Publish a workflow without testing it.
  • Don’t leave Mock outputs enabled for production
Mock outputs can be useful during development and testing, but should not be used for production executions where real data is required.Before publishing a workflow, verify that steps are configured to use real execution data.
13. Use Error Handling ConsistentlyFor important workflows, establish a consistent approach to handling errors.Consider whether errors should:
  • Stop the workflow.
  • Be handled and allow the workflow to continue.
  • Trigger a notification.
  • Be logged for investigation.
  • Be passed to another workflow or process.
Use workflow-level or workspace-level error handling where appropriate so that failures are handled consistently.
14. Review Workflows Before PublishingBefore publishing a workflow, review the complete workflow from beginning to end.Check that:
  • The workflow has a clear purpose.
  • The trigger is configured correctly.
  • All required inputs are available.
  • Dynamic variables reference the correct values.
  • Secrets are stored securely.
  • Connections are used for authentication.
  • Conditions and branches behave as expected.
  • Error handling is configured where needed.
  • There are no unnecessary steps or variables.
  • No mock outputs are enabled unintentionally.
  • Step names and descriptions are clear.
  • The workflow has been tested successfully.

15. Maintain Existing WorkflowsWorkflow maintenance is just as important as workflow creation.When modifying an existing workflow, consider how the change may affect current users and executions.Use version historyBefore making significant changes, review the workflow’s version history. This allows you to understand previous changes and restore an earlier version if necessary.Make changes incrementallyFor significant changes:
  1. Understand the existing workflow.
  2. Identify what needs to change.
  3. Make the change.
  4. Test the affected steps.
  5. Test the complete workflow.
  6. Review the workflow before publishing the changes.
Coordinate changesIf a workflow is shared or maintained by multiple users, coordinate significant changes with the relevant team members.
16. Use Builder Copilot CarefullyWhen using Builder Copilot to modify a workflow, review the changes before applying or publishing them.For complex workflows, prefer targeted, step-level changes where possible. This makes it easier to understand what changed and reduces the risk of unintentionally affecting unrelated workflow logic.Always test the workflow after applying AI-generated changes.
17. Quick Do’s and Don’ts

Workflow Editor

Build a new workflow from scratch in the Workflow Editor.

Triggers

Configure triggers to start workflows based on events.

Steps

Define and organize actions within a workflow.

Conditions

Add logic to control workflow execution paths.