Zuora · Capability

API Reference — Workflows

API Reference — Workflows. 16 operations. Lead operation: Delete a workflow version. Self-contained Naftiko capability covering one Zuora business surface.

Run with Naftiko ZuoraWorkflows

What You Can Do

DELETE
Deleteworkflowversion — Delete a workflow version
/v1/versions/{version-id}
GET
Getworkflows — List workflows
/v1/workflows
POST
Postworkflowimport — Import a workflow
/v1/workflows/import
GET
Getworkflowsusages — Retrieve workflow task usage
/v1/workflows/metrics-json
GET
Getworkflowstasks — List workflow tasks
/v1/workflows/tasks
PUT
Putworkflowstasksupdate — Update workflow tasks
/v1/workflows/tasks/batch-update
GET
Getworkflowstask — Retrieve a workflow task
/v1/workflows/tasks/{task-id}
POST
Postworkflowstaskrerun — Rerun a workflow task
/v1/workflows/tasks/{task-id}/rerun
GET
Getworkflowrun — Retrieve a workflow run
/v1/workflows/workflow-runs/{workflow-run-id}
GET
Getworkflow — Retrieve a workflow
/v1/workflows/{workflow-id}
DELETE
Deleteworkflow — Delete a workflow
/v1/workflows/{workflow-id}
PATCH
Patchupdateworkflow — Update a workflow
/v1/workflows/{workflow-id}
GET
Getworkflowexport — Export a workflow version
/v1/workflows/{workflow-id}/export
POST
Postrunworkflow — Run a workflow
/v1/workflows/{workflow-id}/run
GET
Getworkflowversions — List all versions of a workflow definition
/v1/workflows/{workflow-id}/versions
POST
Postworkflowversionsimport — Import a workflow version
/v1/workflows/{workflow-id}/versions/import

MCP Tools

delete-workflow-version

Delete a workflow version

idempotent
list-workflows

List workflows

read-only idempotent
import-workflow

Import a workflow

retrieve-workflow-task-usage

Retrieve workflow task usage

read-only idempotent
list-workflow-tasks

List workflow tasks

read-only idempotent
update-workflow-tasks

Update workflow tasks

idempotent
retrieve-workflow-task

Retrieve a workflow task

read-only idempotent
rerun-workflow-task

Rerun a workflow task

retrieve-workflow-run

Retrieve a workflow run

read-only idempotent
retrieve-workflow

Retrieve a workflow

read-only idempotent
delete-workflow

Delete a workflow

idempotent
update-workflow

Update a workflow

idempotent
export-workflow-version

Export a workflow version

read-only idempotent
run-workflow

Run a workflow

list-all-versions-workflow-definition

List all versions of a workflow definition

read-only idempotent
import-workflow-version

Import a workflow version

Capability Spec

v1-workflows.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: API Reference — Workflows
  description: 'API Reference — Workflows. 16 operations. Lead operation: Delete a workflow version. Self-contained Naftiko
    capability covering one Zuora business surface.'
  tags:
  - Zuora
  - Workflows
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    ZUORA_API_KEY: ZUORA_API_KEY
capability:
  consumes:
  - type: http
    namespace: v1-workflows
    baseUri: https://rest.zuora.com
    description: API Reference — Workflows business capability. Self-contained, no shared references.
    resources:
    - name: versions-version_id
      path: /versions/{version_id}
      operations:
      - name: deleteworkflowversion
        method: DELETE
        description: Delete a workflow version
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: version_id
          in: path
          type: integer
          description: The unique id of the workflow version.
          required: true
    - name: workflows
      path: /workflows
      operations:
      - name: getworkflows
        method: GET
        description: List workflows
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: callout_trigger
          in: query
          type: boolean
          description: If set to true, the operation retrieves workflows that have the callout trigger enabled. If set to
            false, the operation retrieves workflows that have the callou
        - name: interval
          in: query
          type: string
          description: A CRON expession that specifies a schedule (for example, `0 0 * * *`). If specified, the operation
            retrieves the workflow that is run based on the specified sch
        - name: name
          in: query
          type: string
          description: If specified, the operation retrieves the workflow that is in the specified name.
        - name: ondemand_trigger
          in: query
          type: boolean
          description: If set to true, the operation retrieves workflows that have the ondemand trigger enabled. If set to
            false, the operation retrieves workflows that have the ondem
        - name: scheduled_trigger
          in: query
          type: boolean
          description: If set to true, the operation retrieves workflows that have the scheduled trigger enabled. If set to
            false, the operation retrieves workflows that have the sche
        - name: page
          in: query
          type: integer
          description: If you want to retrieve only the workflows on a specific page, you can specify the `page` number in
            the query.
        - name: page_length
          in: query
          type: integer
          description: The number of workflows shown in a single call. If the `page` parameter is not specified, the operation
            will return only the first page of results. If there are
    - name: workflows-import
      path: /workflows/import
      operations:
      - name: postworkflowimport
        method: POST
        description: Import a workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflow_definition_id
          in: query
          type: integer
          description: The unique id of the workflow definition to import a workflow version under.
        - name: version
          in: query
          type: string
          description: The version number of the new workflow version to import. Must be greater than any existing version
            numbers.
        - name: activate
          in: query
          type: boolean
          description: Indicates whether the imported version is an active version. Default to be false.
        - name: request
          in: body
          type: string
    - name: workflows-metrics.json
      path: /workflows/metrics.json
      operations:
      - name: getworkflowsusages
        method: GET
        description: Retrieve workflow task usage
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: startDate
          in: query
          type: string
          description: The start date of the usage data that you want to get. For example, 2019-01-01.
          required: true
        - name: endDate
          in: query
          type: string
          description: The end date of the usage data that you want to get. For example, 2019-12-31.
          required: true
        - name: metrics
          in: query
          type: string
          description: The type of metric that you want to get. Currently, only `taskCount` is supported. `taskCount` is the
            amount of task runs.
          required: true
    - name: workflows-tasks
      path: /workflows/tasks
      operations:
      - name: getworkflowstasks
        method: GET
        description: List workflow tasks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: query
          type: string
          description: If specified, the operation retrieves the task that is with specified id.
        - name: name
          in: query
          type: string
          description: If specified, the operation retrieves tasks that is in the specified name.
        - name: instance
          in: query
          type: boolean
          description: If set to true, the operation retrieves workflows that have the scheduled trigger enabled. If set to
            false, the operation retrieves workflows that have the sche
        - name: action_type
          in: query
          type: string
          description: If specified, the operation retrieves tasks that is the specified type.
        - name: object
          in: query
          type: string
          description: If specified, the operation retrieves tasks with the specified object.
        - name: object_id
          in: query
          type: string
          description: If specified, the operation retrieves tasks with the specified object id.
        - name: call_type
          in: query
          type: string
          description: If specified, the operation retrieves tasks with the specified api call type used.
        - name: workflow_id
          in: query
          type: string
          description: If specified, the operation retrieves tasks that for the specified workflow id.
        - name: tags
          in: query
          type: array
          description: 'If specified, the operation retrieves tasks that with the specified filter tags. Use the following
            syntax to specify multiple tags: `tags[]=tag_value_1&tags[]=t'
        - name: page
          in: query
          type: integer
          description: If you want to retrieve only the workflows on a specific page, you can specify the `page` number in
            the query.
        - name: page_length
          in: query
          type: integer
          description: The number of workflow tasks shown in a single call. If the `page` parameter is not specified, the
            operation will return only the first page of results. If ther
    - name: workflows-tasks-batch_update
      path: /workflows/tasks/batch_update
      operations:
      - name: putworkflowstasksupdate
        method: PUT
        description: Update workflow tasks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: UpdateRequest
          in: body
          type: string
    - name: workflows-tasks-task_id
      path: /workflows/tasks/{task_id}
      operations:
      - name: getworkflowstask
        method: GET
        description: Retrieve a workflow task
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: task_id
          in: path
          type: string
          description: The unique ID of the task.
          required: true
    - name: workflows-tasks-task_id-rerun
      path: /workflows/tasks/{task_id}/rerun
      operations:
      - name: postworkflowstaskrerun
        method: POST
        description: Rerun a workflow task
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: task_id
          in: path
          type: string
          description: The unique ID of the task.
          required: true
    - name: workflows-workflow_runs-workflow_run_id
      path: /workflows/workflow_runs/{workflow_run_id}
      operations:
      - name: getworkflowrun
        method: GET
        description: Retrieve a workflow run
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflow_run_id
          in: path
          type: string
          description: The unique ID of a workflow run. For example, 19080.
          required: true
    - name: workflows-workflow_id
      path: /workflows/{workflow_id}
      operations:
      - name: getworkflow
        method: GET
        description: Retrieve a workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflow_id
          in: path
          type: string
          description: The unique ID of a workflow definition. For example, 19080.
          required: true
      - name: deleteworkflow
        method: DELETE
        description: Delete a workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflow_id
          in: path
          type: string
          description: The unique ID of a workflow definition. For example, 19080.
          required: true
      - name: patchupdateworkflow
        method: PATCH
        description: Update a workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflow_id
          in: path
          type: string
          description: The unique ID of a workflow definition. For example, 19080.
          required: true
        - name: request
          in: body
          type: object
    - name: workflows-workflow_id-export
      path: /workflows/{workflow_id}/export
      operations:
      - name: getworkflowexport
        method: GET
        description: Export a workflow version
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflow_id
          in: path
          type: integer
          description: The ID of the workflow definition to export.
          required: true
        - name: version
          in: query
          type: string
          description: Default result is the active version of the workflow definition. Version number and 'latest' can be
            used to export a specific version of the workflow definition
    - name: workflows-workflow_id-run
      path: /workflows/{workflow_id}/run
      operations:
      - name: postrunworkflow
        method: POST
        description: Run a workflow
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflow_id
          in: path
          type: integer
          description: The ID of the workflow definition you want to run.
          required: true
        - name: inputparameters
          in: body
          type: object
          description: Include parameters you want to pass to the workflow.
    - name: workflows-workflow_id-versions
      path: /workflows/{workflow_id}/versions
      operations:
      - name: getworkflowversions
        method: GET
        description: List all versions of a workflow definition
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflow_id
          in: path
          type: integer
          description: The unique id of the workflow definition to import a workflow version under.
          required: true
    - name: workflows-workflow_id-versions-import
      path: /workflows/{workflow_id}/versions/import
      operations:
      - name: postworkflowversionsimport
        method: POST
        description: Import a workflow version
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workflow_id
          in: path
          type: integer
          description: The unique id of the workflow definition to import a workflow version under.
          required: true
        - name: version
          in: query
          type: string
          description: The version number of the new workflow version to import. Must be greater than any existing version
            numbers.
          required: true
        - name: activate
          in: query
          type: boolean
          description: Indicates whether the imported version is an active version. Default to be false.
        - name: request
          in: body
          type: object
  exposes:
  - type: rest
    namespace: v1-workflows-rest
    port: 8080
    description: REST adapter for API Reference — Workflows. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/versions/{version-id}
      name: versions-version-id
      description: REST surface for versions-version_id.
      operations:
      - method: DELETE
        name: deleteworkflowversion
        description: Delete a workflow version
        call: v1-workflows.deleteworkflowversion
        with:
          version_id: rest.version_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflows
      name: workflows
      description: REST surface for workflows.
      operations:
      - method: GET
        name: getworkflows
        description: List workflows
        call: v1-workflows.getworkflows
        with:
          callout_trigger: rest.callout_trigger
          interval: rest.interval
          name: rest.name
          ondemand_trigger: rest.ondemand_trigger
          scheduled_trigger: rest.scheduled_trigger
          page: rest.page
          page_length: rest.page_length
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflows/import
      name: workflows-import
      description: REST surface for workflows-import.
      operations:
      - method: POST
        name: postworkflowimport
        description: Import a workflow
        call: v1-workflows.postworkflowimport
        with:
          workflow_definition_id: rest.workflow_definition_id
          version: rest.version
          activate: rest.activate
          request: rest.request
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflows/metrics-json
      name: workflows-metrics-json
      description: REST surface for workflows-metrics.json.
      operations:
      - method: GET
        name: getworkflowsusages
        description: Retrieve workflow task usage
        call: v1-workflows.getworkflowsusages
        with:
          startDate: rest.startDate
          endDate: rest.endDate
          metrics: rest.metrics
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflows/tasks
      name: workflows-tasks
      description: REST surface for workflows-tasks.
      operations:
      - method: GET
        name: getworkflowstasks
        description: List workflow tasks
        call: v1-workflows.getworkflowstasks
        with:
          id: rest.id
          name: rest.name
          instance: rest.instance
          action_type: rest.action_type
          object: rest.object
          object_id: rest.object_id
          call_type: rest.call_type
          workflow_id: rest.workflow_id
          tags: rest.tags
          page: rest.page
          page_length: rest.page_length
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflows/tasks/batch-update
      name: workflows-tasks-batch-update
      description: REST surface for workflows-tasks-batch_update.
      operations:
      - method: PUT
        name: putworkflowstasksupdate
        description: Update workflow tasks
        call: v1-workflows.putworkflowstasksupdate
        with:
          UpdateRequest: rest.UpdateRequest
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflows/tasks/{task-id}
      name: workflows-tasks-task-id
      description: REST surface for workflows-tasks-task_id.
      operations:
      - method: GET
        name: getworkflowstask
        description: Retrieve a workflow task
        call: v1-workflows.getworkflowstask
        with:
          task_id: rest.task_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflows/tasks/{task-id}/rerun
      name: workflows-tasks-task-id-rerun
      description: REST surface for workflows-tasks-task_id-rerun.
      operations:
      - method: POST
        name: postworkflowstaskrerun
        description: Rerun a workflow task
        call: v1-workflows.postworkflowstaskrerun
        with:
          task_id: rest.task_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflows/workflow-runs/{workflow-run-id}
      name: workflows-workflow-runs-workflow-run-id
      description: REST surface for workflows-workflow_runs-workflow_run_id.
      operations:
      - method: GET
        name: getworkflowrun
        description: Retrieve a workflow run
        call: v1-workflows.getworkflowrun
        with:
          workflow_run_id: rest.workflow_run_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflows/{workflow-id}
      name: workflows-workflow-id
      description: REST surface for workflows-workflow_id.
      operations:
      - method: GET
        name: getworkflow
        description: Retrieve a workflow
        call: v1-workflows.getworkflow
        with:
          workflow_id: rest.workflow_id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteworkflow
        description: Delete a workflow
        call: v1-workflows.deleteworkflow
        with:
          workflow_id: rest.workflow_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: patchupdateworkflow
        description: Update a workflow
        call: v1-workflows.patchupdateworkflow
        with:
          workflow_id: rest.workflow_id
          request: rest.request
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflows/{workflow-id}/export
      name: workflows-workflow-id-export
      description: REST surface for workflows-workflow_id-export.
      operations:
      - method: GET
        name: getworkflowexport
        description: Export a workflow version
        call: v1-workflows.getworkflowexport
        with:
          workflow_id: rest.workflow_id
          version: rest.version
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflows/{workflow-id}/run
      name: workflows-workflow-id-run
      description: REST surface for workflows-workflow_id-run.
      operations:
      - method: POST
        name: postrunworkflow
        description: Run a workflow
        call: v1-workflows.postrunworkflow
        with:
          workflow_id: rest.workflow_id
          inputparameters: rest.inputparameters
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflows/{workflow-id}/versions
      name: workflows-workflow-id-versions
      description: REST surface for workflows-workflow_id-versions.
      operations:
      - method: GET
        name: getworkflowversions
        description: List all versions of a workflow definition
        call: v1-workflows.getworkflowversions
        with:
          workflow_id: rest.workflow_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workflows/{workflow-id}/versions/import
      name: workflows-workflow-id-versions-import
      description: REST surface for workflows-workflow_id-versions-import.
      operations:
      - method: POST
        name: postworkflowversionsimport
        description: Import a workflow version
        call: v1-workflows.postworkflowversionsimport
        with:
          workflow_id: rest.workflow_id
          version: rest.version
          activate: rest.activate
          request: rest.request
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: v1-workflows-mcp
    port: 9090
    transport: http
    description: MCP adapter for API Reference — Workflows. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: delete-workflow-version
      description: Delete a workflow version
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: v1-workflows.deleteworkflowversion
      with:
        version_id: tools.version_id
      outputParameters:
      - type: object
        mapping: $.
    - name: list-workflows
      description: List workflows
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v1-workflows.getworkflows
      with:
        callout_trigger: tools.callout_trigger
        interval: tools.interval
        name: tools.name
        ondemand_trigger: tools.ondemand_trigger
        scheduled_trigger: tools.scheduled_trigger
        page: tools.page
        page_length: tools.page_length
      outputParameters:
      - type: object
        mapping: $.
    - name: import-workflow
      description: Import a workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: v1-workflows.postworkflowimport
      with:
        workflow_definition_id: tools.workflow_definition_id
        version: tools.version
        activate: tools.activate
        request: tools.request
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-workflow-task-usage
      description: Retrieve workflow task usage
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v1-workflows.getworkflowsusages
      with:
        startDate: tools.startDate
        endDate: tools.endDate
        metrics: tools.metrics
      outputParameters:
      - type: object
        mapping: $.
    - name: list-workflow-tasks
      description: List workflow tasks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v1-workflows.getworkflowstasks
      with:
        id: tools.id
        name: tools.name
        instance: tools.instance
        action_type: tools.action_type
        object: tools.object
        object_id: tools.object_id
        call_type: tools.call_type
        workflow_id: tools.workflow_id
        tags: tools.tags
        page: tools.page
        page_length: tools.page_length
      outputParameters:
      - type: object
        mapping: $.
    - name: update-workflow-tasks
      description: Update workflow tasks
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: v1-workflows.putworkflowstasksupdate
      with:
        UpdateRequest: tools.UpdateRequest
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-workflow-task
      description: Retrieve a workflow task
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v1-workflows.getworkflowstask
      with:
        task_id: tools.task_id
      outputParameters:
      - type: object
        mapping: $.
    - name: rerun-workflow-task
      description: Rerun a workflow task
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: v1-workflows.postworkflowstaskrerun
      with:
        task_id: tools.task_id
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-workflow-run
      description: Retrieve a workflow run
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v1-workflows.getworkflowrun
      with:
        workflow_run_id: tools.workflow_run_id
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-workflow
      description: Retrieve a workflow
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v1-workflows.getworkflow
      with:
        workflow_id: tools.workflow_id
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-workflow
      description: Delete a workflow
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: v1-workflows.deleteworkflow
      with:
        workflow_id: tools.workflow_id
      outputParameters:
      - type: object
        mapping: $.
    - name: update-workflow
      description: Update a workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: v1-workflows.patchupdateworkflow
      with:
        workflow_id: tools.workflow_id
        request: tools.request
      outputParameters:
      - type: object
        mapping: $.
    - name: export-workflow-version
      description: Export a workflow version
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v1-workflows.getworkflowexport
      with:
        workflow_id: tools.workflow_id
        version: tools.version
      outputParameters:
      - type: object
        mapping: $.
    - name: run-workflow
      description: Run a workflow
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: v1-workflows.postrunworkflow
      with:
        workflow_id: tools.workflow_id
        inputparameters: tools.inputparameters
      outputParameters:
      - type: object
        mapping: $.
    - name: list-all-versions-workflow-definition
      description: List all versions of a workflow definition
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v1-workflows.getworkflowversions
      with:
        workflow_id: tools.workflow_id
      outputParameters:
      - type: object
        mapping: $.
    - name: import-workflow-version
      description: Import a workflow version
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: v1-workflows.postworkflowversionsimport
      with:
        workflow_id: tools.workflow_id
        version: tools.version
        activate: tools.activate
        request: tools.request
      outputParameters:
      - type: object
        mapping: $.