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.
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
# 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'