Act! CRM · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for act.web.api Tasks API

38 actions 38 updates phrasing extends openapi/act-tasks-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Act! CRM's API. It is a proposal applied on top of the contract, not a document Act! CRM publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 38 · first 16 shown; the file carries all of them

$.info
$.paths['/api/contacts/{contactId}/associated-tasks/{taskId}'].put
$.paths['/api/contacts/{contactId}/associated-tasks/{taskId}'].delete
$.paths['/api/tasks/{taskId}/clear'].put
$.paths['/api/tasks/{taskId}/clear'].delete
$.paths['/api/tasks/clear'].put
$.paths['/api/tasks/clear'].delete
$.paths['/api/recurring-tasks/{recurringId}'].get
$.paths['/api/recurring-tasks/{recurringId}'].put
$.paths['/api/recurring-tasks/{recurringId}'].delete
$.paths['/api/recurring-tasks/{recurringId}'].patch
$.paths['/api/tasks/{taskId}'].get
$.paths['/api/tasks/{taskId}'].put
$.paths['/api/tasks/{taskId}'].delete
$.paths['/api/tasks/{taskId}'].patch
$.paths['/api/tasks'].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 act.web.api Tasks API
  version: 1.0.0
extends: openapi/act-tasks-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 37
- target: $.paths['/api/contacts/{contactId}/associated-tasks/{taskId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Link a task to a contact
      effect: write
      questions:
      - Can I attach an existing task to a contact in Act!?
      - What happens if the contact is already linked to that task?
      instructions:
      - text: Link task {taskId} to contact {contactId}.
        slots:
          taskId: path.taskId
          contactId: path.contactId
      - text: Add contact {contactId} as a participant on task {taskId}.
        slots:
          taskId: path.taskId
          contactId: path.contactId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/contacts/{contactId}/associated-tasks/{taskId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Unlink a task from a contact
      effect: destructive
      questions:
      - Is there a way to detach a contact from a task without deleting the task itself?
      - Can I take one contact off a shared task?
      instructions:
      - text: Unlink task {taskId} from contact {contactId}.
        slots:
          taskId: path.taskId
          contactId: path.contactId
      - text: Remove contact {contactId} from task {taskId} but keep the task.
        slots:
          taskId: path.taskId
          contactId: path.contactId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/tasks/{taskId}/clear'].put
  update:
    x-apievangelist-phrasing:
      intent: Complete a single task and log history
      effect: write
      questions:
      - How do I mark one task as done and record a history entry for it?
      - Can I record a result when clearing an individual task?
      instructions:
      - text: Clear task {taskId} with result {result}.
        slots:
          taskId: path.taskId
          result: requestBody.result
      - text: Mark task {taskId} as completed.
        slots:
          taskId: path.taskId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/tasks/{taskId}/clear'].delete
  update:
    x-apievangelist-phrasing:
      intent: Reopen a single cleared task
      effect: destructive
      questions:
      - Can I reopen a task I already marked as cleared?
      - What undoes the completion of one specific task?
      instructions:
      - text: Reopen cleared task {taskId}.
        slots:
          taskId: path.taskId
      - text: Undo the clear on task {taskId} so it is open again.
        slots:
          taskId: path.taskId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/tasks/clear'].put
  update:
    x-apievangelist-phrasing:
      intent: Complete several tasks at once
      effect: write
      questions:
      - Is it possible to mark a whole batch of tasks complete in one call?
      - Can multiple cleared tasks share the same result and history entry?
      instructions:
      - text: Clear tasks {tasks} with result {result}.
        slots:
          tasks: requestBody.tasks
          result: requestBody.result
      - text: Mark every task in {tasks} as completed.
        slots:
          tasks: requestBody.tasks
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/tasks/clear'].delete
  update:
    x-apievangelist-phrasing:
      intent: Reopen several cleared tasks
      effect: destructive
      questions:
      - Can I un-clear a whole list of completed tasks together?
      - What reopens multiple finished tasks in one request?
      instructions:
      - text: Reopen the cleared tasks {tasks}.
        slots:
          tasks: requestBody.tasks
      - text: Undo completion for each of the tasks {tasks}.
        slots:
          tasks: requestBody.tasks
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/recurring-tasks/{recurringId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a recurring task series
      effect: read
      questions:
      - How can I look up one recurring task series by its ID?
      - What schedule does a particular repeating task follow?
      instructions:
      - text: Show recurring task series {recurringId}.
        slots:
          recurringId: path.recurringId
      - text: Fetch the recurrence details of series {recurringId}.
        slots:
          recurringId: path.recurringId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/recurring-tasks/{recurringId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a recurring task series
      effect: write
      questions:
      - Can I change the recurrence pattern of a repeating task series?
      - Is there a full update that overwrites a recurring task series with new details?
      instructions:
      - text: Update recurring series {recurringId} with subject {subject} and recurrence {recurSpec}.
        slots:
          recurringId: path.recurringId
          subject: requestBody.subject
          recurSpec: requestBody.recurSpec
      - text: Replace recurring task {recurringId} so it starts at {startTime}.
        slots:
          recurringId: path.recurringId
          startTime: requestBody.startTime
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/recurring-tasks/{recurringId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a recurring task series
      effect: destructive
      questions:
      - If I delete a recurring task series, do occurrences I rescheduled survive?
      - How do I stop a task from repeating altogether?
      instructions:
      - text: Delete recurring task series {recurringId}.
        slots:
          recurringId: path.recurringId
      - text: Remove the whole repeating series {recurringId}.
        slots:
          recurringId: path.recurringId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/recurring-tasks/{recurringId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Partially update a recurring task series
      effect: write
      questions:
      - Can I change only the location of a recurring series without resending everything?
      - Which fields of a repeating task series can be patched?
      instructions:
      - text: Change the location of recurring series {recurringId} to {location}.
        slots:
          recurringId: path.recurringId
          location: requestBody.location
      - text: Set the priority of recurring series {recurringId} to {activityPriorityId}.
        slots:
          recurringId: path.recurringId
          activityPriorityId: requestBody.activityPriorityId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/tasks/{taskId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a task
      effect: read
      questions:
      - Where do I fetch a single task's details by its ID?
      - Who is a specific task scheduled for and when is it due?
      instructions:
      - text: Show task {taskId}.
        slots:
          taskId: path.taskId
      - text: Get the details of task {taskId}.
        slots:
          taskId: path.taskId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/tasks/{taskId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a task's details
      effect: write
      questions:
      - How do I fully update an existing task?
      - Does a full task update change its recurrence settings?
      instructions:
      - text: Update task {taskId} with subject {subject} and start time {startTime}.
        slots:
          taskId: path.taskId
          subject: requestBody.subject
          startTime: requestBody.startTime
      - text: Overwrite task {taskId} so it ends at {endTime}.
        slots:
          taskId: path.taskId
          endTime: requestBody.endTime
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/tasks/{taskId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a task
      effect: destructive
      questions:
      - What call permanently deletes one task by its ID?
      - Can I remove a single task from the calendar for good?
      instructions:
      - text: Delete task {taskId}.
        slots:
          taskId: path.taskId
      - text: Permanently remove task {taskId}.
        slots:
          taskId: path.taskId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/tasks/{taskId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Partially update a task
      effect: write
      questions:
      - Can I change only the subject of a task?
      - Is there a way to reschedule a task by patching just its start time?
      instructions:
      - text: Change the subject of task {taskId} to {subject}.
        slots:
          taskId: path.taskId
          subject: requestBody.subject
      - text: Move task {taskId} to start at {startTime}.
        slots:
          taskId: path.taskId
          startTime: requestBody.startTime
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/tasks'].get
  update:
    x-apievangelist-phrasing:
      intent: List tasks
      effect: read
      questions:
      - How can I list all tasks, optionally narrowed with an OData query?
      - Which tasks exist across the whole database?
      instructions:
      - text: List all tasks.
      - text: Show every task in the database.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/tasks'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a task
      effect: write
      questions:
      - How do I create a new task in Act!?
      - Can the regular task create call set up a recurring task?
      instructions:
      - text: Create a task called {subject} starting {startTime}.
        slots:
          subject: requestBody.subject
          startTime: requestBody.startTime
      - text: Add a task {subject} linked to contacts {contacts}.
        slots:
          subject: requestBody.subject
          contacts: requestBody.contacts
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/tasks'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete several tasks
      effect: destructive
      questions:
      - Can I delete several tasks in one request?
      - What bulk-removes a list of tasks?
      instructions:
      - text: Delete tasks {tasks}.
        slots:
          tasks: requestBody.tasks
      - text: 'Remove all of these tasks: {tasks}.'
        slots:
          tasks: requestBody.tasks
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/companies/{companyId}/associated-tasks'].get
  update:
    x-apievangelist-phrasing:
      intent: List a company's tasks
      effect: read
      questions:
      - What tasks are tied to a company?
      - Can I include tasks for the company's contacts, not just the company itself?
      instructions:
      - text: List tasks for company {companyId}.
        slots:
          companyId: path.companyId
      - text: Show tasks for company {companyId} with scope {showFor}.
        slots:
          companyId: path.companyId
          showFor: query.showFor
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/contacts/{contactId}/associated-tasks'].get
  update:
    x-apievangelist-phrasing:
      intent: List a contact's tasks
      effect: read
      questions:
      - Which tasks are linked to a particular contact?
      - Can I filter a contact's tasks with an OData query?
      instructions:
      - text: List tasks for contact {contactId}.
        slots:
          contactId: path.contactId
      - text: Show the tasks associated with contact {contactId}.
        slots:
          contactId: path.contactId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/groups/{groupId}/associated-tasks'].get
  update:
    x-apievangelist-phrasing:
      intent: List a group's tasks
      effect: read
      questions:
      - What tasks belong to a group?
      - Is there a way to see every task associated with one group?
      instructions:
      - text: List tasks for group {groupId}.
        slots:
          groupId: path.groupId
      - text: Show tasks associated with group {groupId}.
        slots:
          groupId: path.groupId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/opportunities/{opportunityId}/associated-tasks'].get
  update:
    x-apievangelist-phrasing:
      intent: List an opportunity's tasks
      effect: read
      questions:
      - Which tasks are attached to a sales opportunity?
      - Can I pull the follow-up tasks for one deal?
      instructions:
      - text: List tasks for opportunity {opportunityId}.
        slots:
          opportunityId: path.opportunityId
      - text: Show the tasks associated with opportunity {opportunityId}.
        slots:
          opportunityId: path.opportunityId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/recurring-tasks'].get
  update:
    x-apievangelist-phrasing:
      intent: List recurring task series
      effect: read
      questions:
      - How do I list all repeating task series?
      - Can I narrow recurring tasks with a restriction or filter?
      instructions:
      - text: List all recurring task series.
      - text: List recurring tasks filtered by {filterBy}.
        slots:
          filterBy: query.filterBy
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/recurring-tasks'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a recurring task series
      effect: write
      questions:
      - How do I set up a task that repeats every week?
      - What field defines the recurrence of a new repeating task?
      instructions:
      - text: Create a recurring task {subject} with recurrence {recurSpec}.
        slots:
          subject: requestBody.subject
          recurSpec: requestBody.recurSpec
      - text: Set up a repeating task {subject} starting {startTime} on pattern {recurSpec}.
        slots:
          subject: requestBody.subject
          startTime: requestBody.startTime
          recurSpec: requestBody.recurSpec
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/tasks-lists'].get
  update:
    x-apievangelist-phrasing:
      intent: Get several tasks by ID
      effect: read
      questions:
      - Can I fetch a specific set of tasks by their IDs in one call?
      - What's the way to batch-retrieve tasks when I already know their IDs?
      instructions:
      - text: Get tasks {taskIds}.
        slots:
          taskIds: query.taskIds
      - text: Fetch the tasks with IDs {taskIds}.
        slots:
          taskIds: query.taskIds
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/tasks/priorities'].get
  update:
    x-apievangelist-phrasing:
      intent: List task priorities
      effect: read
      questions:
      - What priority levels can a task have?
      - Where do I find the valid activity priority IDs?
      instructions:
      - text: List the available task priorities.
      - text: Show me the priority options for tasks.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/organizers/{userId}/tasks'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a task on behalf of another user
      effect: write
      questions:
      - Can I create a task scheduled for a different user?
      - Is it possible to put a new task on a colleague's calendar for them?
      instructions:
      - text: Create a task {subject} on behalf of user {userId}.
        slots:
          subject: requestBody.subject
          userId: path.userId
      - text: Schedule a task for user {userId} starting {startTime}.
        slots:
          userId: path.userId
          startTime: requestBody.startTime
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/tasks/alarms'].get
  update:
    x-apievangelist-phrasing:
      intent: List my alarmed tasks
      effect: read
      questions:
      - Which of my tasks currently have alarms going off?
      - Where can I see active reminders for the logged-in user?
      instructions:
      - text: Show my current task alarms.
      - text: List the tasks that are alarming for me right now.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/tasks/alarms/updates'].get
  update:
    x-apievangelist-phrasing:
      intent: Check alarm state for tracked activities
      effect: read
      questions:
      - How do I find out which tracked activities are no longer alarmed?
      - Can I poll the alarm status for a set of activity IDs?
      instructions:
      - text: Check the alarm state of activities {activityIds}.
        slots:
          activityIds: query.activityIds
      - text: Refresh alarm status for {activityIds}.
        slots:
          activityIds: query.activityIds
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/tasks/alarms/snooze'].put
  update:
    x-apievangelist-phrasing:
      intent: Snooze task alarms
      effect: write
      questions:
      - How do I snooze task reminders?
      - Can I choose how many minutes an alarm is snoozed for?
      instructions:
      - text: Snooze alarms for {activityIds} by {snoozeMinutes} minutes.
        slots:
          activityIds: requestBody.activityIds
          snoozeMinutes: requestBody.snoozeMinutes
      - text: Snooze the reminders on activities {activityIds}.
        slots:
          activityIds: requestBody.activityIds
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/tasks/alarms/mark-snooze-read'].put
  update:
    x-apievangelist-phrasing:
      intent: Mark specific snoozed alarms as read
      effect: write
      questions:
      - Can I mark snoozed alarms as read for certain activities only?
      - Is there a way to acknowledge specific snoozes without clearing them?
      instructions:
      - text: Mark the snoozes on {activityIds} as read.
        slots:
          activityIds: requestBody.activityIds
      - text: Acknowledge snoozed alarms for activities {activityIds}.
        slots:
          activityIds: requestBody.activityIds
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/tasks/alarms/mark-all-snooze-read'].put
  update:
    x-apievangelist-phrasing:
      intent: Mark all my snoozed alarms as read
      effect: write
      questions:
      - Is there a way to mark every one of my snoozed alarms as read?
      - Can I acknowledge all my active snoozes in one go?
      instructions:
      - text: Mark all my snoozed alarms as read.
      - text: Acknowledge every active snooze I have.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/tasks/clear-alarms'].put
  update:
    x-apievangelist-phrasing:
      intent: Clear alarms on selected activities
      effect: write
      questions:
      - How do I dismiss alarms on several activities at once?
      - Can I clear reminders for a chosen list of tasks?
      instructions:
      - text: Clear alarms for activities {ids}.
        slots:
          ids: requestBody.ids
      - text: Dismiss the reminders on {ids}.
        slots:
          ids: requestBody.ids
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/tasks/clear-all-alarms'].put
  update:
    x-apievangelist-phrasing:
      intent: Clear all of my task alarms
      effect: write
      questions:
      - What dismisses all of my task alarms at once?
      - Can I clear every reminder for the current user?
      instructions:
      - text: Clear all my task alarms.
      - text: Dismiss every alarm I have.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/tasks/{id}/clear-alarms'].put
  update:
    x-apievangelist-phrasing:
      intent: Clear the alarm on one task
      effect: write
      questions:
      - Can I clear the alarm on just one occurrence of a recurring task?
      - Will clearing by a task's plain GUID dismiss the alarm on every occurrence?
      instructions:
      - text: Clear the alarm on task {id}.
        slots:
          id: path.id
      - text: Dismiss the reminder for occurrence {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/tasks/{taskId}/duplicate'].put
  update:
    x-apievangelist-phrasing:
      intent: Duplicate a task
      effect: write
      questions:
      - How do I make a copy of an existing task?
      - Can I duplicate one task by its ID?
      instructions:
      - text: Duplicate task {taskId}.
        slots:
          taskId: path.taskId
      - text: Make a copy of task {taskId}.
        slots:
          taskId: path.taskId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/tasks/duplicate'].put
  update:
    x-apievangelist-phrasing:
      intent: Duplicate several tasks
      effect: write
      questions:
      - Can I copy several tasks in one request?
      - What bulk-duplicates a list of tasks?
      instructions:
      - text: Duplicate tasks {tasks}.
        slots:
          tasks: requestBody.tasks
      - text: 'Copy each of these tasks: {tasks}.'
        slots:
          tasks: requestBody.tasks
      method: generated
      generated: '2026-10-01'
- target: $.paths['/api/organizers/{userId}/tasks/{taskId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Edit a task on behalf of another user
      effect: write
      questions:
      - Can I modify a task that sits on another user's schedule?
      - Is there a way to update a colleague's task on their behalf?
      instructions:
      - text: Update task {taskId} on behalf of user {userId}.
        slots:
          taskId: path.taskId
          userId: path.userId
      - text: Modify user {userId}'s task {taskId}.
        slots:
          taskId: path.taskId
          userId: path.userId
      method: generated
      generated: '2026-10-01'