ControlUp · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Flow3 Public Public API

16 actions 16 updates phrasing extends openapi/controlup-public-api-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for ControlUp's API. It is a proposal applied on top of the contract, not a document ControlUp publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 16

$.info
$.paths['/workflows/v1/flows'].get
$.paths['/workflows/v1/flows/{flowId}'].get
$.paths['/workflows/v1/flows/{flowId}'].delete
$.paths['/workflows/v1/flows/{flowId}'].patch
$.paths['/workflows/v1/flows/{flowId}/runs'].get
$.paths['/workflows/v1/flows/launch'].post
$.paths['/workflows/v1/forms'].get
$.paths['/workflows/v1/forms/{formId}'].get
$.paths['/workflows/v1/forms/{formId}'].delete
$.paths['/workflows/v1/integrations'].get
$.paths['/workflows/v1/integrations/{integrationId}'].get
$.paths['/workflows/v1/integrations/{integrationId}'].delete
$.paths['/workflows/v1/integrations/{integration_id}/actions'].get
$.paths['/workflows/v1/integrations/{integration_id}/actions/{node_type}'].get
$.paths['/workflows/v1/integrations/{integration_id}/actions/{node_type}/execute'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Flow3 Public Public API
  version: 1.0.0
extends: openapi/controlup-public-api-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 15
- target: $.paths['/workflows/v1/flows'].get
  update:
    x-apievangelist-phrasing:
      intent: List workflows in the organization
      effect: read
      questions:
      - Which automation workflows exist in my ControlUp organization?
      - Can I find only the active flows that run on a schedule?
      - What flows can be run without providing any input variables?
      instructions:
      - text: List all workflows in my organization.
      - text: Find workflows named {name} with status {status}.
        slots:
          name: query.name
          status: query.status
      - text: List flows created by {creator}, excluding form-based flows.
        slots:
          creator: query.creator
      method: generated
      generated: '2026-09-26'
- target: $.paths['/workflows/v1/flows/{flowId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a workflow's details
      effect: read
      questions:
      - What does a specific workflow contain and how is it configured?
      - Can I see the full representation of one flow by its ID?
      instructions:
      - text: Get the details of workflow {flowId}.
        slots:
          flowId: path.flowId
      - text: Show the fully expanded definition of flow {flowId}.
        slots:
          flowId: path.flowId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/workflows/v1/flows/{flowId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a workflow
      effect: destructive
      questions:
      - How do I permanently remove a workflow I no longer need?
      - Can I delete a flow by its ID?
      instructions:
      - text: Delete workflow {flowId}.
        slots:
          flowId: path.flowId
      - text: Remove flow {flowId} from my organization.
        slots:
          flowId: path.flowId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/workflows/v1/flows/{flowId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Enable or disable a workflow
      effect: write
      questions:
      - How do I pause a workflow without deleting it?
      - Can I turn a disabled flow back on?
      instructions:
      - text: Set workflow {flowId} active to {isActive}.
        slots:
          flowId: path.flowId
          isActive: requestBody.isActive
      - text: Disable flow {flowId} so it stops running.
        slots:
          flowId: path.flowId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/workflows/v1/flows/{flowId}/runs'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a workflow's run history and status
      effect: read
      questions:
      - Did the last runs of my workflow succeed or fail?
      - Can I filter a flow's runs by status to see only the failed ones?
      instructions:
      - text: Show the runs of workflow {flowId}.
        slots:
          flowId: path.flowId
      - text: List runs of flow {flowId} with status {status}.
        slots:
          flowId: path.flowId
          status: query.status
      method: generated
      generated: '2026-09-26'
- target: $.paths['/workflows/v1/flows/launch'].post
  update:
    x-apievangelist-phrasing:
      intent: Launch a workflow run
      effect: write
      questions:
      - How do I trigger a workflow to run right now?
      - Can I start a flow on demand through the API?
      instructions:
      - text: Launch the workflow I specify now.
      - text: Start a run of my patching flow immediately.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/workflows/v1/forms'].get
  update:
    x-apievangelist-phrasing:
      intent: List workflow forms
      effect: read
      questions:
      - Which forms are set up in my organization's workflows?
      - Can I search forms by name or when they were last run?
      instructions:
      - text: List all workflow forms in my organization.
      - text: Find forms named {name}.
        slots:
          name: query.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/workflows/v1/forms/{formId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a workflow form's details
      effect: read
      questions:
      - What fields and settings does a particular form have?
      - Can I retrieve one form's full representation by ID?
      instructions:
      - text: Get form {formId}.
        slots:
          formId: path.formId
      - text: Show the expanded definition of form {formId}.
        slots:
          formId: path.formId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/workflows/v1/forms/{formId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a workflow form
      effect: destructive
      questions:
      - How do I remove a form I don't use anymore?
      - Can a workflow form be deleted by ID?
      instructions:
      - text: Delete form {formId}.
        slots:
          formId: path.formId
      - text: Remove form {formId} from my organization.
        slots:
          formId: path.formId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/workflows/v1/integrations'].get
  update:
    x-apievangelist-phrasing:
      intent: List workflow integrations
      effect: read
      questions:
      - Which integrations are available to my workflows?
      - Can I filter integrations by type?
      instructions:
      - text: List all integrations in my organization.
      - text: Find integrations of type {integrationType}.
        slots:
          integrationType: query.integrationType
      method: generated
      generated: '2026-09-26'
- target: $.paths['/workflows/v1/integrations/{integrationId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an integration's details
      effect: read
      questions:
      - How is a specific integration configured?
      - Can I look up a single integration by its ID?
      instructions:
      - text: Get integration {integrationId}.
        slots:
          integrationId: path.integrationId
      - text: Show the full details of integration {integrationId}.
        slots:
          integrationId: path.integrationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/workflows/v1/integrations/{integrationId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an integration
      effect: destructive
      questions:
      - How do I remove an integration from my workflows?
      - Can I delete an integration I set up by mistake?
      instructions:
      - text: Delete integration {integrationId}.
        slots:
          integrationId: path.integrationId
      - text: Remove integration {integrationId} from the organization.
        slots:
          integrationId: path.integrationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/workflows/v1/integrations/{integration_id}/actions'].get
  update:
    x-apievangelist-phrasing:
      intent: List actions an integration offers
      effect: read
      questions:
      - What actions can a given integration perform?
      - Which steps does an integration expose for use in workflows?
      instructions:
      - text: List the actions available for integration {integration_id}.
        slots:
          integration_id: path.integration_id
      - text: Show every action integration {integration_id} supports.
        slots:
          integration_id: path.integration_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/workflows/v1/integrations/{integration_id}/actions/{node_type}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an integration action's input/output schema
      effect: read
      questions:
      - What inputs does a specific integration action expect and what does it return?
      - Can I see the schema for one action before I execute it?
      instructions:
      - text: Get action {node_type} of integration {integration_id} with its input and output schema.
        slots:
          integration_id: path.integration_id
          node_type: path.node_type
      - text: Show the input schema for {node_type} on integration {integration_id}.
        slots:
          integration_id: path.integration_id
          node_type: path.node_type
      method: generated
      generated: '2026-09-26'
- target: $.paths['/workflows/v1/integrations/{integration_id}/actions/{node_type}/execute'].post
  update:
    x-apievangelist-phrasing:
      intent: Run a single integration action directly
      effect: write
      questions:
      - Can I run one integration action without building a whole flow?
      - How do I execute an integration step directly with my own inputs?
      instructions:
      - text: Execute action {node_type} of integration {integration_id} directly.
        slots:
          integration_id: path.integration_id
          node_type: path.node_type
      - text: Run {node_type} on integration {integration_id} outside of any flow with the inputs I give you.
        slots:
          integration_id: path.integration_id
          node_type: path.node_type
      method: generated
      generated: '2026-09-26'