---
title: CreateWorkflowDefinition
source: https://docs.newrelic.com/docs/workflow-automation/workflow-automation-apis/create-workflow-definition
---

This API is used to create a workflow definition. It returns an error if the workflow definition already exists.

## Input parameters

| Parameter    | Type   | Required | Description                                                              |
| ------------ | ------ | -------- | ------------------------------------------------------------------------ |
| `scope`      | Object | Yes      | The account scope. Contains `id` (your account ID).                      |
| `definition` | Object | Yes      | The workflow definition. Contains `yaml` (base64-encoded workflow YAML). |

## Sample request

Use the [Query Builder](https://one.newrelic.com/nerdgraph-graphiql?state=c8579e50-f154-fec6-22b8-f9fdcfc1990a) to create and edit a workflow. See [NerdGraph API explorer](https://docs.newrelic.com/docs/apis/nerdgraph/get-started/nerdgraph-explorer).

```yaml
  mutation {
    workflowAutomationCreateWorkflowDefinition(
      scope: {
        id: "11933347"
      }
      definition: {
        yaml: "bmFtZTogbXV0YXRpb25fZXhlY3V0ZQoKc3RlcHM6CiAgLSBuYW1lOiBleGVjMQogICAgdHlwZTogYWN0aW9uCiAgICBhY3Rpb246IG5ld3JlbGljLm5lcmRncmFwaC5leGVjdXRlCiAgICB2ZXJzaW9uOiAnMS4wLjAnCiAgICBpbnB1dHM6CiAgICAgIGdyYXBocWw6IHwKICAgICAgICBtdXRhdGlvbiBLZWVwQWxpdmUoJGd1aWQ6IEVudGl0eUd1aWQhKXsKICAgICAgICAgIGVudGl0eUtlZXBBbGl2ZShndWlkczogWyRndWlkXSkgewogICAgICAgICAgICByZWZyZXNoZWRFbnRpdGllcwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgdmFyaWFibGVzOgogICAgICAgIGd1aWQ6ICJ7eyAud29ya2Zsb3dJbnB1dHMuZW50aXR5R3VpZCB9fSIKCiAgLSBuYW1lOiBsb2cxCiAgICB0eXBlOiBhY3Rpb24KICAgIGFjdGlvbjogbmV3cmVsaWMuaW5zdHJ1bWVudGF0aW9uLmxvZwogICAgdmVyc2lvbjogJzEuMC4wJwogICAgaW5wdXRzOgogICAgICBNZXNzYWdlOiAiZW50aXR5R3VpZCByZWZyZXNoZWQge3sgLnN0ZXBzLmV4ZWMxLm91dHB1dHMuZGF0YS5lbnRpdHlLZWVwQWxpdmUucmVmcmVzaGVkRW50aXRpZXMgfX0iCg=="
      }
    ) {
      definition {
        name
      }
    }
  }
```

## Related topics [#related-topics]

[Definition schema](https://docs.newrelic.com/docs/workflow-automation/workflow-automation-apis/definition-schema)

Understand the workflow YAML structure before creating

[Validate workflow definition](https://docs.newrelic.com/docs/workflow-automation/workflow-automation-apis/validate-workflow-definition)

Test your workflow YAML syntax before creating

[Start workflow run](https://docs.newrelic.com/docs/workflow-automation/workflow-automation-apis/start-workflow-run)

Execute your newly created workflow

[Update workflow definition](https://docs.newrelic.com/docs/workflow-automation/workflow-automation-apis/update-workflow-definition)

Modify an existing workflow definition
