Activating & Pausing Workflows

After deploying a workflow, you can control its operational state using the cre workflow activate and cre workflow pause commands. These commands modify the workflow's status in the registry selected by deployment-registry, determining whether it can respond to triggers.

Workflow states:

  • Active — The workflow can respond to its configured triggers and execute
  • Paused — The workflow cannot respond to triggers and will not execute

Prerequisites

Before activating or pausing workflows, ensure you have:

  • A deployed workflow: You must have a workflow that has been successfully deployed to the registry selected by deployment-registry.
  • Workflow authorization: You must be authorized to manage the workflow. Public onchain registry workflows use the linked workflow owner address. Private registry workflows use your CRE organization login session.
  • Local workflow folder: You must run these commands from your project directory. The CLI reads the workflow name and configuration from your workflow.yaml file to identify which workflow to activate or pause.
  • Logged in: Authenticated with the platform by running cre login. To check your authentication status, run cre whoami.
  • A deployment-registry value: Updated CLI-generated targets use private by default. For older workflow files, make sure the target has deployment-registry: "private" or deployment-registry: "onchain:ethereum-mainnet".
  • (Onchain registry only) A funded wallet: The account you are using must be funded with ETH on Ethereum Mainnet to pay gas for the registry transaction.

Activating a workflow

The cre workflow activate command changes a paused workflow's status to active, allowing its triggers to fire and the workflow to execute.

When to activate

You typically use activate after pausing a workflow to resume execution after maintenance or debugging.

Usage

Run the command from your project root:

cre workflow activate my-workflow --target production-settings

The CLI identifies which workflow to activate based on:

  • workflow-name from your workflow.yaml file
  • deployment-registry from your workflow.yaml file
  • workflow-owner-address for onchain registry workflows, or your CRE organization for private registry workflows

What happens during activation

  1. The CLI fetches the workflow matching your workflow name and configured registry authorization
  2. It validates that the workflow is currently paused
  3. If valid, it updates the workflow status in the target's configured registry. For onchain:ethereum-mainnet, this sends an onchain transaction. For private, this updates the Chainlink-hosted private registry through your CRE login session.

Example onchain registry output

> cre workflow activate my-workflow --target production-settings

Activating Workflow :    my-workflow
Target :                 production-settings
Owner Address :          <your-owner-address>

Activating workflow: Name=my-workflow, Owner=<your-owner-address>, WorkflowID=<your-workflow-id>
Transaction details:
  Chain Name:   ethereum-testnet-sepolia
  To:           0xF3f93fc4dc177748E7557568b5354cB009e3818a
  Function:     ActivateWorkflow
  Inputs:
    [0]:        <your-workflow-id>
    [1]:        zone-a
  Data:         530979d6000000000000000000000000...
Estimated Cost:
  Gas Price:      0.00100000 gwei
  Total Cost:     0.00000038 ETH
? Do you want to execute this transaction?:
  ▸ Yes
    No

✓ Transaction confirmed: 0xd5b94bd...87498b
View on explorer: https://sepolia.etherscan.io/tx/0xd5b94bd...87498b

✓ Workflow activated successfully

Details:
   Registry:         onchain:ethereum-mainnet
   Contract address: 0xF3f93fc4dc177748E7557568b5354cB009e3818a
   Transaction hash: 0xd5b94bd...87498b
   Workflow Name:    my-workflow
   Workflow ID:      <your-workflow-id>

Pausing a workflow

The cre workflow pause command changes an active workflow's status to paused, preventing its triggers from firing and stopping execution.

When to pause

Pause workflows when you need to:

  • Perform maintenance: Temporarily stop execution while updating dependencies or configuration
  • Debug issues: Halt execution to investigate errors or unexpected behavior
  • Temporarily halt operations: Stop workflow execution without permanently deleting it

Usage

Run the command from your project root:

cre workflow pause my-workflow --target production-settings

What happens during pausing

  1. The CLI fetches the workflow matching your workflow name and configured registry authorization
  2. It validates that the workflow is currently active
  3. If valid, it updates the workflow status in the target's configured registry. For onchain:ethereum-mainnet, this sends an onchain transaction. For private, this updates the Chainlink-hosted private registry through your CRE login session.

Example onchain registry output

> cre workflow pause my-workflow --target production-settings

Pausing Workflow :       my-workflow
Target :                 production-settings
Owner Address :          <your-owner-address>

Fetching workflows to pause... Name=my-workflow, Owner=<your-owner-address>
Processing batch pause... count=1
Transaction details:
  Chain Name:   ethereum-testnet-sepolia
  To:           0xF3f93fc4dc177748E7557568b5354cB009e3818a
  Function:     BatchPauseWorkflows
  Inputs:
    [0]:        [<your-workflow-id>]
  Data:         d8b80738000000000000000000000000...
Estimated Cost:
  Gas Price:      0.00100000 gwei
  Total Cost:     0.00000021 ETH
? Do you want to execute this transaction?:
  ▸ Yes
    No

✓ Transaction confirmed
View on explorer: https://sepolia.etherscan.io/tx/0x2e09a66...db66e
✓ Workflows paused successfully

Details:
   Registry:         onchain:ethereum-mainnet
   Contract address: 0xF3f93fc4dc177748E7557568b5354cB009e3818a
   Transaction hash: 0x2e09a66...db66e
   Workflow Name:    my-workflow
   Workflow ID:      <your-workflow-id>

Using multi-sig wallets

For onchain registry workflows, both activate and pause commands support multi-sig wallets through the --unsigned flag. When using this flag, the CLI generates raw transaction data that you can submit through your multi-sig wallet interface instead of sending the transaction directly. Private registry workflows do not use --unsigned because they do not submit registry transactions.

For complete setup instructions, configuration requirements, and step-by-step guidance, see Using Multi-sig Wallets.

Learn more

Get the latest Chainlink content straight to your inbox.