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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'