> ## Documentation Index
> Fetch the complete documentation index at: https://developers.redo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# fulfillmentAutomationUpdate

> Rename an order fulfillment automation, or turn it on or off. It takes effect the next time its trigger fires. Null if it doesn't exist.

**Required scopes:** [`shipping_write`](https://developers.redo.com/docs/api-reference/v3/reference/scopes#scope-shipping_write)

## Arguments

**description** `String`

A new note.

**enabled** `Boolean`

Whether it runs when its trigger fires.

**id** `ID!` *required*

The automation's id.

**name** `String`

A new name.

## Returns

**fulfillmentAutomationUpdate** `[FulfillmentAutomation](/docs/api-reference/v3/reference/shipping/fulfillment-automation)`

An order fulfillment automation (Settings › Order fulfillment › Automations): a rule that runs when its trigger fires for a fulfillment, such as when it's created, and sets its shipping service, parcel, tags, holds and more. They're listed by `position`, as on the Automations page. Automations run from the bottom of the list up, and what a higher one sets wins over those below it. Agents edit one as script in a workspace (`workspaceCreate`; read `guide/` in `fulfillmentAutomationCatalog` first). Apps send typed definitions to `fulfillmentAutomationCreate` and `fulfillmentAutomationDefinitionUpdate`.

**fields**

**createdAt** `[DateTime](/docs/api-reference/v3/reference/common/date-time)`

When the live version was created.

**definition** `[FulfillmentAutomationDefinition!](/docs/api-reference/v3/reference/shipping/fulfillment-automation-definition)` *required*

The live version as typed data. To change it, pass a changed copy to `fulfillmentAutomationDefinitionUpdate`.

**fields**

**description** `String`

A note on the rule.

**edges** `[\[FulfillmentAutomationEdge!\]!](/docs/api-reference/v3/pagination)` *required*

How fulfillments move from the trigger through the steps.

**fields**

**from** `String!` *required*

`"trigger"` for the start, or the step it leaves.

**port** `String!` *required*

The port: `next`, or a condition's `true` or `false`.

**to** `String!` *required*

The step it leads to.

**name** `String!` *required*

The rule's name.

**rulesVersion** `String!` *required*

The checker rules it's held to. A rule added in a later version only warns until you raise it.

**steps** `[\[FulfillmentAutomationStep!\]!](/docs/api-reference/v3/reference/shipping/fulfillment-automation-step)` *required*

The steps.

**fields**

**config** `[JSON!](/docs/api-reference/v3/reference/common/json)` *required*

The kind's settings, matching its `configJsonSchema` in `fulfillmentAutomationKinds`.

**id** `String!` *required*

The step's id, unique in the automation. Edges and diagnostics refer to it.

**kind** `String`

The condition or action, such as `ORDER_TAG` or `SET_PARCEL`; null for a code step.

**kindVersion** `Int!` *required*

The version of the kind the config is written for.

**title** `String`

The step's name in the editor; null shows the kind's.

**type** `[FulfillmentAutomationStepType!](/docs/api-reference/v3/reference/shipping/fulfillment-automation-step-type)` *required*

What the step does.

**trigger** `[FulfillmentAutomationTrigger!](/docs/api-reference/v3/reference/shipping/fulfillment-automation-trigger)` *required*

What starts it. It can't change once saved.

**description** `String`

A note on the rule.

**enabled** `Boolean!` *required*

Whether it runs when its trigger fires. Change it with `fulfillmentAutomationUpdate`.

**id** `ID!` *required*

The automation's id. It stays the same across saves.

**name** `String!` *required*

The rule's name.

**position** `Int`

Its row on the Automations page, 1 at the top. Automations run from the bottom of the list up, and what a higher one sets wins over those below it. Null when it isn't in the list. Change it with `fulfillmentAutomationsReorder`.

**publishedAt** `[DateTime](/docs/api-reference/v3/reference/common/date-time)`

When the live version was saved.

**revision** `String!` *required*

The live version's id; it changes with every save. Pass it to `fulfillmentAutomationDefinitionUpdate` as `expectedRevision`.

**script** `String!` *required*

The live version as FulfillmentAutomationScript. To change it, open a workspace with `workspaceCreate`.

**updatedAt** `[DateTime](/docs/api-reference/v3/reference/common/date-time)`

When the live version last changed.

## Example

```graphql theme={null}
mutation {
  fulfillmentAutomationUpdate(description: "...", enabled: true, id: "...", name: "...") {
    createdAt
    description
    enabled
    id
    name
    position
    publishedAt
    revision
    # ...
  }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.