ActiveCampaign · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for ActiveCampaign API v3 Deals API
48 actions
48 updates
phrasing
extends
openapi/activecampaign-deals-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for ActiveCampaign's API. It is a proposal applied on top of the contract, not a document ActiveCampaign publishes.
What the actions change
x-apievangelist-phrasing
Targets 48 · first 16 shown; the file carries all of them
$.info
$.paths['/deals'].get
$.paths['/deals'].post
$.paths['/deals/{id}'].get
$.paths['/deals/{id}'].put
$.paths['/deals/{id}'].delete
$.paths['/deals/{id}/notes'].post
$.paths['/deals/{id}/notes/{noteId}'].put
$.paths['/deals/bulkUpdate'].patch
$.paths['/dealActivities'].get
$.paths['/dealGroups'].get
$.paths['/dealGroups'].post
$.paths['/dealGroups/{id}'].get
$.paths['/dealGroups/{id}'].put
$.paths['/dealGroups/{id}'].delete
$.paths['/dealGroup/get_inaccessible_deal_groups'].get
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 ActiveCampaign API v3 Deals API
version: 1.0.0
extends: openapi/activecampaign-deals-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: 47
- target: $.paths['/deals'].get
update:
x-apievangelist-phrasing:
intent: List and filter deals
effect: read
questions:
- Which open deals are in a given pipeline stage in ActiveCampaign?
- Can I find deals worth more than a certain amount or with a high deal score?
- What deals were created after a specific date and who owns them?
instructions:
- text: List all deals in stage {stage}.
slots:
stage: query.filters[stage]
- text: Show deals owned by user {owner} with a value above {minimum_value}.
slots:
owner: query.filters[owner]
minimum_value: query.filters[minimum_value]
- text: Search deals whose title matches {search}.
slots:
search: query.filters[search]
method: generated
generated: '2026-09-26'
- target: $.paths['/deals'].post
update:
x-apievangelist-phrasing:
intent: Create a deal
effect: write
questions:
- How do I add a new sales deal to a pipeline?
- Can I create a deal and link it to a contact in the same request?
instructions:
- text: 'Create a new deal from these details: {deal}.'
slots:
deal: requestBody.deal
- text: Open a new deal for my latest prospect with the value and stage I give you.
method: generated
generated: '2026-09-26'
- target: $.paths['/deals/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a single deal
effect: read
questions:
- Where can I see the full details of one specific deal by its ID?
- What stage and value is deal number 42 currently at?
instructions:
- text: Show me deal {id}.
slots:
id: path.id
- text: Pull up the current stage, owner and value of deal {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/deals/{id}'].put
update:
x-apievangelist-phrasing:
intent: Update a deal
effect: write
questions:
- Can I change the value or stage of an existing deal?
- How do I mark a deal I already created as won or lost?
instructions:
- text: Update deal {id} with {deal}.
slots:
id: path.id
deal: requestBody.deal
- text: Mark deal {id} as won.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/deals/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a deal
effect: destructive
questions:
- Is it possible to permanently remove a deal from my CRM?
- What happens when I delete a duplicate deal?
instructions:
- text: Delete deal {id}.
slots:
id: path.id
- text: Remove the duplicate deal {id} from the pipeline.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/deals/{id}/notes'].post
update:
x-apievangelist-phrasing:
intent: Add a note to a deal
effect: write
questions:
- How do I attach a note to a specific deal?
- Can I log call notes directly on a deal record?
instructions:
- text: Add a note to deal {id} saying {note}.
slots:
id: path.id
note: requestBody.note
- text: Log a meeting summary as a note on deal {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/deals/{id}/notes/{noteId}'].put
update:
x-apievangelist-phrasing:
intent: Edit a note on a deal
effect: write
questions:
- Can I edit a note I already added to a deal?
- Is there a way to fix a typo in an existing deal note?
instructions:
- text: Change note {noteId} on deal {id} to {note}.
slots:
noteId: path.noteId
id: path.id
note: requestBody.note
- text: Rewrite deal {id}'s note {noteId}.
slots:
id: path.id
noteId: path.noteId
method: generated
generated: '2026-09-26'
- target: $.paths['/deals/bulkUpdate'].patch
update:
x-apievangelist-phrasing:
intent: Reassign owners on many deals
effect: write
questions:
- Can I reassign a batch of deals to a different sales rep at once?
- How do I change the owner on several deals in one call?
instructions:
- text: Bulk update deal owners using {deals}.
slots:
deals: requestBody.deals
- text: Hand all of a departing rep's deals over to a new owner in one bulk update.
method: generated
generated: '2026-09-26'
- target: $.paths['/dealActivities'].get
update:
x-apievangelist-phrasing:
intent: List recent deal activity
effect: read
questions:
- What recent activity has happened on my deals?
- Can I see the activity history for one particular deal?
instructions:
- text: Show the recent activity for deal {deal}.
slots:
deal: query.deal
- text: List recent deal activities of data type {data_type}.
slots:
data_type: query.filters[data_type]
method: generated
generated: '2026-09-26'
- target: $.paths['/dealGroups'].get
update:
x-apievangelist-phrasing:
intent: List deal pipelines
effect: read
questions:
- Which sales pipelines are set up in my account?
- Can I list only the pipelines that already have stages?
instructions:
- text: List all my deal pipelines.
- text: Find the pipeline titled {title}.
slots:
title: query.filters[title]
method: generated
generated: '2026-09-26'
- target: $.paths['/dealGroups'].post
update:
x-apievangelist-phrasing:
intent: Create a deal pipeline
effect: write
questions:
- How do I set up a new sales pipeline for a separate team?
- Can I create a pipeline for renewals alongside my new-business one?
instructions:
- text: Create a pipeline with {dealGroup}.
slots:
dealGroup: requestBody.dealGroup
- text: Set up a new Partnerships pipeline.
method: generated
generated: '2026-09-26'
- target: $.paths['/dealGroups/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a deal pipeline
effect: read
questions:
- Where do I see the settings of one specific pipeline?
- What are the details of pipeline 3?
instructions:
- text: Show me pipeline {id}.
slots:
id: path.id
- text: Get the configuration of pipeline {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/dealGroups/{id}'].put
update:
x-apievangelist-phrasing:
intent: Update a deal pipeline
effect: write
questions:
- Can I rename an existing pipeline or change its currency?
- Is it possible to edit a pipeline's settings after creating it?
instructions:
- text: Update pipeline {id} with {dealGroup}.
slots:
id: path.id
dealGroup: requestBody.dealGroup
- text: Rename pipeline {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/dealGroups/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a deal pipeline
effect: destructive
questions:
- How do I remove a pipeline we no longer use?
- Will deleting a pipeline get rid of it for good?
instructions:
- text: Delete pipeline {id}.
slots:
id: path.id
- text: Remove the unused pipeline {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/dealGroup/get_inaccessible_deal_groups'].get
update:
x-apievangelist-phrasing:
intent: Find pipelines a user cannot access
effect: read
questions:
- Which pipelines is a particular user blocked from seeing?
- Can I check whether a teammate has access to the pipelines behind certain deals?
instructions:
- text: Show which pipelines user {userId} can't access for deals {dealIds}.
slots:
userId: query.userId
dealIds: query.dealIds[]
- text: Check pipeline access gaps for user {userId} across deals {dealIds}.
slots:
userId: query.userId
dealIds: query.dealIds[]
method: generated
generated: '2026-09-26'
- target: $.paths['/dealStages'].get
update:
x-apievangelist-phrasing:
intent: List deal stages
effect: read
questions:
- What stages does a given pipeline have?
- Can I list every deal stage across all pipelines?
instructions:
- text: List the stages in pipeline {d_groupid}.
slots:
d_groupid: query.filters[d_groupid]
- text: Find the deal stage titled {title}.
slots:
title: query.filters[title]
method: generated
generated: '2026-09-26'
- target: $.paths['/dealStages'].post
update:
x-apievangelist-phrasing:
intent: Add a stage to a pipeline
effect: write
questions:
- How do I add a new stage like Negotiation to a pipeline?
- Can I reorder the other stages when adding a new one?
instructions:
- text: Create a pipeline stage with {dealStage}.
slots:
dealStage: requestBody.dealStage
- text: Add a Contract Sent stage and reorder the pipeline's stages ({reorder}).
slots:
reorder: query.reorder
method: generated
generated: '2026-09-26'
- target: $.paths['/dealStages/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a deal stage
effect: read
questions:
- Where can I see the details of a single pipeline stage?
- What pipeline does stage 7 belong to?
instructions:
- text: Show me deal stage {id}.
slots:
id: path.id
- text: Get the title and order of stage {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/dealStages/{id}'].put
update:
x-apievangelist-phrasing:
intent: Update a deal stage
effect: write
questions:
- Can I rename a stage or change its position in the pipeline?
- Is it possible to edit a stage's color or width?
instructions:
- text: Update deal stage {id} with {dealStage}.
slots:
id: path.id
dealStage: requestBody.dealStage
- text: Rename stage {id} and reorder its pipeline.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/dealStages/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a deal stage
effect: destructive
questions:
- How do I remove a stage from a pipeline?
- Can I delete a stage nobody uses anymore?
instructions:
- text: Delete deal stage {id}.
slots:
id: path.id
- text: Remove the obsolete stage {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/dealStages/{id}/deals'].put
update:
x-apievangelist-phrasing:
intent: Move all deals from one stage to another
effect: write
questions:
- Can I move every deal sitting in one stage into a different stage?
- How do I empty a stage by shifting its deals elsewhere before deleting it?
instructions:
- text: Move all deals in stage {id} to the stage in {deal}.
slots:
id: path.id
deal: requestBody.deal
- text: Shift every deal out of stage {id} into the next stage.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/dealCustomFieldMeta'].get
update:
x-apievangelist-phrasing:
intent: List custom deal fields
effect: read
questions:
- What custom fields have been defined for deals?
- Which extra deal fields exist beyond the standard ones?
instructions:
- text: List all custom deal field definitions.
- text: Show the first {limit} custom deal fields.
slots:
limit: query.limit
method: generated
generated: '2026-09-26'
- target: $.paths['/dealCustomFieldMeta'].post
update:
x-apievangelist-phrasing:
intent: Define a custom deal field
effect: write
questions:
- How do I add a custom field such as contract length to deals?
- Can I create a dropdown-type custom field for deals?
instructions:
- text: Create a custom deal field with {dealCustomFieldMetum}.
slots:
dealCustomFieldMetum: requestBody.dealCustomFieldMetum
- text: Add a Renewal Date custom field to deals.
method: generated
generated: '2026-09-26'
- target: $.paths['/dealCustomFieldMeta/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a custom deal field definition
effect: read
questions:
- Where do I see the definition and options of one custom deal field?
- What type is custom deal field 5?
instructions:
- text: Show custom deal field {id}.
slots:
id: path.id
- text: Get the settings for custom deal field {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/dealCustomFieldMeta/{id}'].put
update:
x-apievangelist-phrasing:
intent: Update a custom deal field definition
effect: write
questions:
- Can I rename a custom deal field or change its options?
- Is it possible to edit a custom deal field's label after creating it?
instructions:
- text: Update custom deal field {id} with {dealCustomFieldMetum}.
slots:
id: path.id
dealCustomFieldMetum: requestBody.dealCustomFieldMetum
- text: Relabel custom deal field {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/dealCustomFieldMeta/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a custom deal field
effect: destructive
questions:
- How do I remove a custom deal field we no longer track?
- Does deleting a custom deal field definition remove it from all deals?
instructions:
- text: Delete custom deal field {id}.
slots:
id: path.id
- text: Remove the unused custom deal field definition {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/dealCustomFieldData'].get
update:
x-apievangelist-phrasing:
intent: List custom field values on deals
effect: read
questions:
- What custom field values are stored on a specific deal?
- Can I see all custom field data for deals?
instructions:
- text: List the custom field values for deal {dealId}.
slots:
dealId: query.filters[dealId]
- text: Show every stored custom deal field value.
method: generated
generated: '2026-09-26'
- target: $.paths['/dealCustomFieldData'].post
update:
x-apievangelist-phrasing:
intent: Set a custom field value on a deal
effect: write
questions:
- How do I fill in a custom field on one deal?
- Can I store a value for a custom field on a deal record?
instructions:
- text: Set a custom field value on a deal using {dealCustomFieldDatum}.
slots:
dealCustomFieldDatum: requestBody.dealCustomFieldDatum
- text: Record the contract length custom field for one deal.
method: generated
generated: '2026-09-26'
- target: $.paths['/dealCustomFieldData/bulkCreate'].post
update:
x-apievangelist-phrasing:
intent: Set custom field values on many deals
effect: write
questions:
- Can I set custom field values on several deals in one request?
- Is there a bulk way to populate custom deal fields?
instructions:
- text: Bulk create custom deal field values from {array}.
slots:
array: requestBody.array
- text: Populate the region custom field across a batch of deals at once.
method: generated
generated: '2026-09-26'
- target: $.paths['/dealCustomFieldData/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a custom field value on a deal
effect: read
questions:
- Where do I look up one stored custom deal field value by its ID?
- What value is saved in custom deal field data record 12?
instructions:
- text: Show custom deal field value {id}.
slots:
id: path.id
- text: Get the stored custom field data entry {id} for a deal.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/dealCustomFieldData/{id}'].put
update:
x-apievangelist-phrasing:
intent: Change a custom field value on a deal
effect: write
questions:
- Can I change a custom field value already saved on a deal?
- How do I correct one deal's custom field entry?
instructions:
- text: Update custom deal field value {id} with {dealCustomFieldDatum}.
slots:
id: path.id
dealCustomFieldDatum: requestBody.dealCustomFieldDatum
- text: Correct the saved custom deal field value {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/dealCustomFieldData/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Clear a custom field value on a deal
effect: destructive
questions:
- Is it possible to erase one custom field value from a deal?
- What do I call to delete a stored custom deal field entry?
instructions:
- text: Delete custom deal field value {id}.
slots:
id: path.id
- text: Clear the custom field data entry {id} from its deal.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/dealCustomFieldData/bulkUpdate'].patch
update:
x-apievangelist-phrasing:
intent: Update custom field values on many deals
effect: write
questions:
- Can I change custom field values on lots of deals at once?
- Is there a bulk update for existing custom deal field data?
instructions:
- text: Bulk update custom deal field values with {array}.
slots:
array: requestBody.array
- text: Change the existing priority custom field on a batch of deals in one call.
method: generated
generated: '2026-09-26'
- target: $.paths['/dealRoles'].get
update:
x-apievangelist-phrasing:
intent: List deal roles
effect: read
questions:
- What roles can contacts play on a deal, like decision maker?
- Can I search the deal roles defined in my account?
instructions:
- text: List all deal roles.
- text: Search deal roles for {search}.
slots:
search: query.search
method: generated
generated: '2026-09-26'
- target: $.paths['/dealRoles'].post
update:
x-apievangelist-phrasing:
intent: Create a deal role
effect: write
questions:
- How do I add a new deal role such as Champion?
- Can I define custom roles for contacts on deals?
instructions:
- text: Create a deal role called {title}.
slots:
title: requestBody.title
- text: Add a Budget Holder deal role.
method: generated
generated: '2026-09-26'
- target: $.paths['/dealRoles/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a deal role
effect: destructive
questions:
- Can I remove a deal role we don't use?
- How do I get rid of an outdated deal role?
instructions:
- text: Delete deal role {id}.
slots:
id: path.id
- text: Remove the outdated deal role {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/dealTasks'].get
update:
x-apievangelist-phrasing:
intent: List deal and contact tasks
effect: read
questions:
- Which tasks are due this week for my deals?
- Can I see the tasks assigned to a specific user?
- What incomplete tasks are attached to a particular deal?
instructions:
- text: List tasks assigned to user {assignee_userid}.
slots:
assignee_userid: query.filters[assignee_userid]
- text: Show tasks due after {due_after}.
slots:
due_after: query.filters[due_after]
- text: List tasks with status {status}.
slots:
status: query.filters[status]
method: generated
generated: '2026-09-26'
- target: $.paths['/dealTasks'].post
update:
x-apievangelist-phrasing:
intent: Create a task
effect: write
questions:
- How do I create a follow-up task on a deal or contact?
- Can I schedule a call task with a due date and assignee?
instructions:
- text: Create a task with {dealTask}.
slots:
dealTask: requestBody.dealTask
- text: Add a follow-up call task due tomorrow for this deal.
method: generated
generated: '2026-09-26'
- target: $.paths['/dealTasks/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a task
effect: read
questions:
- Where can I see the details of a single task?
- What is the due date and status of task 88?
instructions:
- text: Show me task {id}.
slots:
id: path.id
- text: Get the due date and assignee of task {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/dealTasks/{id}'].put
update:
x-apievangelist-phrasing:
intent: Update a task
effect: write
questions:
- Can I mark a task complete or change its due date?
- Is it possible to reassign an existing task?
instructions:
- text: Update task {id} with {dealTask}.
slots:
id: path.id
dealTask: requestBody.dealTask
- text: Mark task {id} as complete.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/dealTasks/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a task
effect: destructive
questions:
- How do I remove a task that is no longer needed?
- Can a task be deleted permanently?
instructions:
- text: Delete task {id}.
slots:
id: path.id
- text: Remove the cancelled task {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/dealTasktypes'].get
update:
x-apievangelist-phrasing:
intent: List task types
effect: read
questions:
- What task types like call or email are available?
- Which task categories are configured in my account?
instructions:
- text: List all task types.
- text: Show me the available task categories.
method: generated
generated: '2026-09-26'
- target: $.paths['/dealTasktypes'].post
update:
x-apievangelist-phrasing:
intent: Create a task type
effect: write
questions:
- How do I add a new task type such as Demo?
- Can I define my own categories for tasks?
instructions:
- text: Create a task type with {dealTasktype}.
slots:
dealTasktype: requestBody.dealTasktype
- text: Add an Onsite Visit task type.
method: generated
generated: '2026-09-26'
- target: $.paths['/dealTasktypes/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a task type
effect: read
questions:
- Where do I see the details of one task type?
- What is task type 4 called?
instructions:
- text: Show task type {id}.
slots:
id: path.id
- text: Get the name of task type {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/dealTasktypes/{id}'].put
update:
x-apievangelist-phrasing:
intent: Update a task type
effect: write
questions:
- Can I rename an existing task type?
- Is it possible to change a task type's settings?
instructions:
- text: Update task type {id} with {dealTasktype}.
slots:
id: path.id
dealTasktype: requestBody.dealTasktype
- text: Rename task type {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/dealTasktypes/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a task type
effect: destructive
questions:
- How do I delete a task type we stopped using?
- Can a task type be removed entirely?
instructions:
- text: Delete task type {id}.
slots:
id: path.id
- text: Remove the retired task type {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/dealTasktypes/{id}/dealTasks'].put
update:
x-apievangelist-phrasing:
intent: Move tasks to another task type
effect: write
questions:
- Can I move all tasks of one type into a different task type?
- How do I reclassify tasks before deleting their task type?
instructions:
- text: Move the tasks of type {id} to the type in {dealTask}.
slots:
id: path.id
dealTask: requestBody.dealTask
- text: Reclassify every task under task type {id} as Call.
slots:
id: path.id
method: generated
generated: '2026-09-26'