Twilio · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Twilio - Taskrouter Workspaces API

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

What the actions change

x-apievangelist-phrasing

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

$.info
$.paths['/v1/Workspaces/{WorkspaceSid}/Activities/{Sid}'].get
$.paths['/v1/Workspaces/{WorkspaceSid}/Activities/{Sid}'].post
$.paths['/v1/Workspaces/{WorkspaceSid}/Activities/{Sid}'].delete
$.paths['/v1/Workspaces/{WorkspaceSid}/Activities'].get
$.paths['/v1/Workspaces/{WorkspaceSid}/Activities'].post
$.paths['/v1/Workspaces/{WorkspaceSid}/Events/{Sid}'].get
$.paths['/v1/Workspaces/{WorkspaceSid}/Events'].get
$.paths['/v1/Workspaces/{WorkspaceSid}/Tasks/{Sid}'].get
$.paths['/v1/Workspaces/{WorkspaceSid}/Tasks/{Sid}'].post
$.paths['/v1/Workspaces/{WorkspaceSid}/Tasks/{Sid}'].delete
$.paths['/v1/Workspaces/{WorkspaceSid}/Tasks'].get
$.paths['/v1/Workspaces/{WorkspaceSid}/Tasks'].post
$.paths['/v1/Workspaces/{WorkspaceSid}/TaskChannels/{Sid}'].get
$.paths['/v1/Workspaces/{WorkspaceSid}/TaskChannels/{Sid}'].post
$.paths['/v1/Workspaces/{WorkspaceSid}/TaskChannels/{Sid}'].delete

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 Twilio - Taskrouter Workspaces API
  version: 1.0.0
extends: openapi/twilio-workspaces-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: 60
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/Activities/{Sid}'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up one worker activity state
      effect: read
      questions:
      - What are the details of a single TaskRouter activity like Offline or Break?
      - Can I check whether a specific activity makes agents available for tasks?
      instructions:
      - text: Show me activity {activity} in workspace {workspace}.
        slots:
          activity: path.Sid
          workspace: path.WorkspaceSid
      - text: Tell me whether activity {activity} in {workspace} counts as available.
        slots:
          activity: path.Sid
          workspace: path.WorkspaceSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/Activities/{Sid}'].post
  update:
    x-apievangelist-phrasing:
      intent: Rename a worker activity
      effect: write
      questions:
      - Can I rename an existing TaskRouter activity without recreating it?
      - Is there a length limit on an activity's friendly name when I change it?
      instructions:
      - text: Rename activity {activity} in workspace {workspace} to {name}.
        slots:
          activity: path.Sid
          workspace: path.WorkspaceSid
          name: requestBody.FriendlyName
      - text: Change the label on existing activity {activity} in {workspace}.
        slots:
          activity: path.Sid
          workspace: path.WorkspaceSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/Activities/{Sid}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a worker activity
      effect: destructive
      questions:
      - How do I remove an activity state my agents no longer use?
      - What happens when I delete a TaskRouter activity from a workspace?
      instructions:
      - text: Delete activity {activity} from workspace {workspace}.
        slots:
          activity: path.Sid
          workspace: path.WorkspaceSid
      - text: Remove the unused activity state {activity} in {workspace}.
        slots:
          activity: path.Sid
          workspace: path.WorkspaceSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/Activities'].get
  update:
    x-apievangelist-phrasing:
      intent: List the activity states in a workspace
      effect: read
      questions:
      - Which activity states are defined in my TaskRouter workspace?
      - Can I list only the activities that make workers available for tasks?
      instructions:
      - text: List every activity defined in workspace {workspace}.
        slots:
          workspace: path.WorkspaceSid
      - text: Show only activities in {workspace} where availability is {available}.
        slots:
          workspace: path.WorkspaceSid
          available: query.Available
      - text: Find the activity named {name} in workspace {workspace}.
        slots:
          name: query.FriendlyName
          workspace: path.WorkspaceSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/Activities'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a new worker activity state
      effect: write
      questions:
      - How do I add a new agent status like Lunch to my TaskRouter workspace?
      - Can I make a new activity that keeps workers from receiving tasks?
      instructions:
      - text: Create an activity called {name} in workspace {workspace}.
        slots:
          name: requestBody.FriendlyName
          workspace: path.WorkspaceSid
      - text: Add activity {name} to {workspace} with available set to {available}.
        slots:
          name: requestBody.FriendlyName
          workspace: path.WorkspaceSid
          available: requestBody.Available
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/Events/{Sid}'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up a single workspace event
      effect: read
      questions:
      - What exactly happened in one specific TaskRouter event?
      - Can I pull the full record of a single event by its ID?
      instructions:
      - text: Show me event {event} from workspace {workspace}.
        slots:
          event: path.Sid
          workspace: path.WorkspaceSid
      - text: Get the details of TaskRouter event {event} in {workspace}.
        slots:
          event: path.Sid
          workspace: path.WorkspaceSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/Events'].get
  update:
    x-apievangelist-phrasing:
      intent: Browse the event history of a workspace
      effect: read
      questions:
      - Where can I see the audit trail of what happened to tasks and workers in a workspace?
      - Can I filter workspace events to a single worker or a date range?
      - Which events did one task generate as it was routed?
      instructions:
      - text: List events in workspace {workspace} from the last {minutes} minutes.
        slots:
          workspace: path.WorkspaceSid
          minutes: query.Minutes
      - text: Show all events for task {task} in workspace {workspace}.
        slots:
          task: query.TaskSid
          workspace: path.WorkspaceSid
      - text: List {event_type} events in {workspace} between {start} and {end}.
        slots:
          event_type: query.EventType
          workspace: path.WorkspaceSid
          start: query.StartDate
          end: query.EndDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/Tasks/{Sid}'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up one routed task
      effect: read
      questions:
      - What is the current status and priority of a specific task in TaskRouter?
      - Can I see the attributes attached to a single task?
      instructions:
      - text: Show me task {task} in workspace {workspace}.
        slots:
          task: path.Sid
          workspace: path.WorkspaceSid
      - text: Check the assignment status of task {task} in {workspace}.
        slots:
          task: path.Sid
          workspace: path.WorkspaceSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/Tasks/{Sid}'].post
  update:
    x-apievangelist-phrasing:
      intent: Change, cancel or complete a task
      effect: write
      questions:
      - How do I mark a TaskRouter task as completed with a reason?
      - Can I bump the priority of a task that is already waiting in a queue?
      - Is it possible to update a task only if nobody else changed it first?
      instructions:
      - text: Set task {task} in workspace {workspace} to {status} because {reason}.
        slots:
          task: path.Sid
          workspace: path.WorkspaceSid
          status: requestBody.AssignmentStatus
          reason: requestBody.Reason
      - text: Raise the priority of existing task {task} in {workspace} to {priority}.
        slots:
          task: path.Sid
          workspace: path.WorkspaceSid
          priority: requestBody.Priority
      - text: Replace the attributes of task {task} in {workspace} with {attributes}.
        slots:
          task: path.Sid
          workspace: path.WorkspaceSid
          attributes: requestBody.Attributes
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/Tasks/{Sid}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a task
      effect: destructive
      questions:
      - How do I permanently remove a task from a TaskRouter workspace?
      - Can I guard a task deletion with an ETag so I don't delete a changed task?
      instructions:
      - text: Delete task {task} from workspace {workspace}.
        slots:
          task: path.Sid
          workspace: path.WorkspaceSid
      - text: Delete task {task} in {workspace} only if its ETag is still {etag}.
        slots:
          task: path.Sid
          workspace: path.WorkspaceSid
          etag: header.If-Match
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/Tasks'].get
  update:
    x-apievangelist-phrasing:
      intent: List tasks in a workspace
      effect: read
      questions:
      - Which tasks are still pending or reserved in my workspace right now?
      - Can I find tasks waiting in one particular queue?
      - Is there a way to list tasks whose attributes match an expression?
      instructions:
      - text: List tasks in workspace {workspace} with status {status}.
        slots:
          workspace: path.WorkspaceSid
          status: query.AssignmentStatus
      - text: Show the tasks waiting in queue {queue} in {workspace}.
        slots:
          queue: query.TaskQueueSid
          workspace: path.WorkspaceSid
      - text: Find tasks in {workspace} whose attributes match {expression}.
        slots:
          workspace: path.WorkspaceSid
          expression: query.EvaluateTaskAttributes
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/Tasks'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a task to be routed to a worker
      effect: write
      questions:
      - How do I send a new piece of work into TaskRouter to be routed to an agent?
      - Can I set a timeout so an unassigned task expires?
      - Which workflow routes a task when I create it?
      instructions:
      - text: Create a task in workspace {workspace} with attributes {attributes}.
        slots:
          workspace: path.WorkspaceSid
          attributes: requestBody.Attributes
      - text: Create a task in {workspace} routed by workflow {workflow} at priority {priority}.
        slots:
          workspace: path.WorkspaceSid
          workflow: requestBody.WorkflowSid
          priority: requestBody.Priority
      - text: Add a new task to {workspace} that expires after {timeout} seconds if unassigned.
        slots:
          workspace: path.WorkspaceSid
          timeout: requestBody.Timeout
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/TaskChannels/{Sid}'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up one task channel
      effect: read
      questions:
      - What are the settings of a single task channel such as voice or chat?
      - Can I check whether a task channel prefers idle workers?
      instructions:
      - text: Show me task channel {channel} in workspace {workspace}.
        slots:
          channel: path.Sid
          workspace: path.WorkspaceSid
      - text: Get the configuration of task channel {channel} in {workspace}.
        slots:
          channel: path.Sid
          workspace: path.WorkspaceSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/TaskChannels/{Sid}'].post
  update:
    x-apievangelist-phrasing:
      intent: Change a task channel's name or idle routing
      effect: write
      questions:
      - Can I turn on idle-worker prioritization for an existing task channel?
      - How do I rename a task channel I already created?
      instructions:
      - text: Rename task channel {channel} in {workspace} to {name}.
        slots:
          channel: path.Sid
          workspace: path.WorkspaceSid
          name: requestBody.FriendlyName
      - text: Set channel-optimized routing to {optimized} on existing task channel {channel} in {workspace}.
        slots:
          optimized: requestBody.ChannelOptimizedRouting
          channel: path.Sid
          workspace: path.WorkspaceSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/TaskChannels/{Sid}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a task channel
      effect: destructive
      questions:
      - How do I get rid of a task channel we stopped using?
      - What do I need to delete a custom task channel from a workspace?
      instructions:
      - text: Delete task channel {channel} from workspace {workspace}.
        slots:
          channel: path.Sid
          workspace: path.WorkspaceSid
      - text: Remove the unused task channel {channel} in {workspace}.
        slots:
          channel: path.Sid
          workspace: path.WorkspaceSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/TaskChannels'].get
  update:
    x-apievangelist-phrasing:
      intent: List the task channels in a workspace
      effect: read
      questions:
      - Which task channels like voice, SMS or chat exist in my workspace?
      - Can I see every channel type my TaskRouter workspace supports?
      instructions:
      - text: List all task channels in workspace {workspace}.
        slots:
          workspace: path.WorkspaceSid
      - text: Show me the channel types configured for {workspace}.
        slots:
          workspace: path.WorkspaceSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/TaskChannels'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a new task channel
      effect: write
      questions:
      - How do I add a new channel type such as video to TaskRouter?
      - Does a new task channel need both a friendly name and a unique name?
      instructions:
      - text: Create task channel {name} with unique name {unique_name} in workspace {workspace}.
        slots:
          name: requestBody.FriendlyName
          unique_name: requestBody.UniqueName
          workspace: path.WorkspaceSid
      - text: Add a {unique_name} channel to {workspace} labelled {name} that favours idle workers.
        slots:
          unique_name: requestBody.UniqueName
          workspace: path.WorkspaceSid
          name: requestBody.FriendlyName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/TaskQueues/{Sid}'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up one task queue
      effect: read
      questions:
      - What worker targeting rules does a specific task queue use?
      - Can I see the reservation and assignment activities set on one queue?
      instructions:
      - text: Show me task queue {queue} in workspace {workspace}.
        slots:
          queue: path.Sid
          workspace: path.WorkspaceSid
      - text: Get the target-workers expression for queue {queue} in {workspace}.
        slots:
          queue: path.Sid
          workspace: path.WorkspaceSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/TaskQueues/{Sid}'].post
  update:
    x-apievangelist-phrasing:
      intent: Change a task queue's targeting or ordering
      effect: write
      questions:
      - How do I change which workers an existing queue targets?
      - Can I switch a queue from first-in-first-out to last-in-first-out?
      - Is there a cap on how many workers a queue reserves per task, and can I change it?
      instructions:
      - text: Set the target workers on existing queue {queue} in {workspace} to {expression}.
        slots:
          queue: path.Sid
          workspace: path.WorkspaceSid
          expression: requestBody.TargetWorkers
      - text: Change task ordering on queue {queue} in {workspace} to {order}.
        slots:
          queue: path.Sid
          workspace: path.WorkspaceSid
          order: requestBody.TaskOrder
      - text: Let queue {queue} in {workspace} reserve up to {max} workers per task.
        slots:
          queue: path.Sid
          workspace: path.WorkspaceSid
          max: requestBody.MaxReservedWorkers
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/TaskQueues/{Sid}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a task queue
      effect: destructive
      questions:
      - How do I retire a task queue we no longer route to?
      - What do I pass to delete a TaskRouter queue?
      instructions:
      - text: Delete task queue {queue} from workspace {workspace}.
        slots:
          queue: path.Sid
          workspace: path.WorkspaceSid
      - text: Remove the retired queue {queue} in {workspace}.
        slots:
          queue: path.Sid
          workspace: path.WorkspaceSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/TaskQueues'].get
  update:
    x-apievangelist-phrasing:
      intent: List task queues in a workspace
      effect: read
      questions:
      - Which task queues are set up in my TaskRouter workspace?
      - Can I find the queues a particular worker is eligible for?
      instructions:
      - text: List the task queues in workspace {workspace}.
        slots:
          workspace: path.WorkspaceSid
      - text: Show which queues in {workspace} worker {worker} can serve.
        slots:
          workspace: path.WorkspaceSid
          worker: query.WorkerSid
      - text: Find the queue named {name} in {workspace}.
        slots:
          name: query.FriendlyName
          workspace: path.WorkspaceSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/TaskQueues'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a task queue
      effect: write
      questions:
      - How do I set up a new queue that only targets Spanish-speaking agents?
      - Can a new queue move workers into a specific activity when a task is assigned?
      instructions:
      - text: Create a task queue called {name} in workspace {workspace}.
        slots:
          name: requestBody.FriendlyName
          workspace: path.WorkspaceSid
      - text: Create queue {name} in {workspace} targeting workers that match {expression}.
        slots:
          name: requestBody.FriendlyName
          workspace: path.WorkspaceSid
          expression: requestBody.TargetWorkers
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/TaskQueues/{TaskQueueSid}/CumulativeStatistics'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a queue's totals over a time window
      effect: read
      questions:
      - How many tasks did one queue handle, cancel or abandon over the past day?
      - Can I see a queue's wait-time totals split by thresholds like 30 and 60 seconds?
      instructions:
      - text: Get cumulative stats for queue {queue} in {workspace} over the last {minutes} minutes.
        slots:
          queue: path.TaskQueueSid
          workspace: path.WorkspaceSid
          minutes: query.Minutes
      - text: Show historic totals for queue {queue} in {workspace} split by wait times {thresholds}.
        slots:
          queue: path.TaskQueueSid
          workspace: path.WorkspaceSid
          thresholds: query.SplitByWaitTime
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/TaskQueues/{TaskQueueSid}/RealTimeStatistics'].get
  update:
    x-apievangelist-phrasing:
      intent: See what is happening in a queue right now
      effect: read
      questions:
      - How many tasks are waiting in a specific queue at this moment?
      - What is the longest current wait in one queue, live?
      instructions:
      - text: Show live stats for queue {queue} in workspace {workspace}.
        slots:
          queue: path.TaskQueueSid
          workspace: path.WorkspaceSid
      - text: Get the current backlog of queue {queue} in {workspace} for channel {channel}.
        slots:
          queue: path.TaskQueueSid
          workspace: path.WorkspaceSid
          channel: query.TaskChannel
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/TaskQueues/{TaskQueueSid}/Statistics'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a queue's combined live and historic stats
      effect: read
      questions:
      - Can I get both the live and cumulative numbers for one queue in a single call?
      - What does one queue's full statistics snapshot look like for a date range?
      instructions:
      - text: Get the combined real-time and cumulative stats for queue {queue} in {workspace}.
        slots:
          queue: path.TaskQueueSid
          workspace: path.WorkspaceSid
      - text: Show the full stats snapshot for queue {queue} in {workspace} from {start} to {end}.
        slots:
          queue: path.TaskQueueSid
          workspace: path.WorkspaceSid
          start: query.StartDate
          end: query.EndDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/TaskQueues/Statistics'].get
  update:
    x-apievangelist-phrasing:
      intent: Compare statistics across all queues
      effect: read
      questions:
      - Which of my queues is busiest compared with the others?
      - Can I pull statistics for every queue in a workspace at once?
      instructions:
      - text: List statistics for every task queue in workspace {workspace}.
        slots:
          workspace: path.WorkspaceSid
      - text: Compare all queues in {workspace} over the last {minutes} minutes.
        slots:
          workspace: path.WorkspaceSid
          minutes: query.Minutes
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/Tasks/{TaskSid}/Reservations'].get
  update:
    x-apievangelist-phrasing:
      intent: List the reservations made for a task
      effect: read
      questions:
      - Which workers has a particular task been offered to so far?
      - Can I see only the rejected or timed-out reservations for one task?
      instructions:
      - text: List reservations for task {task} in workspace {workspace}.
        slots:
          task: path.TaskSid
          workspace: path.WorkspaceSid
      - text: Show reservations of task {task} in {workspace} with status {status}.
        slots:
          task: path.TaskSid
          workspace: path.WorkspaceSid
          status: query.ReservationStatus
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/Tasks/{TaskSid}/Reservations/{Sid}'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up one reservation on a task
      effect: read
      questions:
      - What is the status of a specific reservation offered for a task?
      - Can I look up one task reservation to see which worker it went to?
      instructions:
      - text: Show reservation {reservation} on task {task} in workspace {workspace}.
        slots:
          reservation: path.Sid
          task: path.TaskSid
          workspace: path.WorkspaceSid
      - text: Get the worker and status for task {task} reservation {reservation} in {workspace}.
        slots:
          task: path.TaskSid
          reservation: path.Sid
          workspace: path.WorkspaceSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/Tasks/{TaskSid}/Reservations/{Sid}'].post
  update:
    x-apievangelist-phrasing:
      intent: Accept, reject or act on a task's reservation
      effect: write
      questions:
      - How do I accept or reject a reservation starting from the task side?
      - Can I dequeue a waiting call to an agent when accepting a task reservation?
      - Is it possible to connect the agent into a conference when handling a task's reservation?
      instructions:
      - text: Set reservation {reservation} on task {task} in {workspace} to {status}.
        slots:
          reservation: path.Sid
          task: path.TaskSid
          workspace: path.WorkspaceSid
          status: requestBody.ReservationStatus
      - text: Run the {instruction} instruction on task {task} reservation {reservation} in {workspace}.
        slots:
          instruction: requestBody.Instruction
          task: path.TaskSid
          reservation: path.Sid
          workspace: path.WorkspaceSid
      - text: Dequeue task {task}'s reservation {reservation} in {workspace} to agent contact {to}.
        slots:
          task: path.TaskSid
          reservation: path.Sid
          workspace: path.WorkspaceSid
          to: requestBody.DequeueTo
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/Workers'].get
  update:
    x-apievangelist-phrasing:
      intent: List the workers in a workspace
      effect: read
      questions:
      - Which agents are currently available in my TaskRouter workspace?
      - Can I find the workers who are eligible for one queue?
      - Is there a way to list workers in a given activity like Break?
      instructions:
      - text: List all workers in workspace {workspace}.
        slots:
          workspace: path.WorkspaceSid
      - text: Show workers in {workspace} currently in activity {activity}.
        slots:
          workspace: path.WorkspaceSid
          activity: query.ActivityName
      - text: Find workers in {workspace} eligible for queue {queue}.
        slots:
          workspace: path.WorkspaceSid
          queue: query.TaskQueueSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/Workers'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a new worker (agent)
      effect: write
      questions:
      - How do I add a new agent to TaskRouter so they can receive tasks?
      - Can I give a new worker skills and languages as attributes when I create them?
      instructions:
      - text: Create a worker named {name} in workspace {workspace}.
        slots:
          name: requestBody.FriendlyName
          workspace: path.WorkspaceSid
      - text: Add new worker {name} to {workspace} with attributes {attributes}.
        slots:
          name: requestBody.FriendlyName
          workspace: path.WorkspaceSid
          attributes: requestBody.Attributes
      - text: Onboard worker {name} in {workspace} starting in activity {activity}.
        slots:
          name: requestBody.FriendlyName
          workspace: path.WorkspaceSid
          activity: requestBody.ActivitySid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/Workers/{Sid}'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up one worker
      effect: read
      questions:
      - What activity is a specific agent in right now?
      - Can I see the skills and attributes recorded for one worker?
      instructions:
      - text: Show me worker {worker} in workspace {workspace}.
        slots:
          worker: path.Sid
          workspace: path.WorkspaceSid
      - text: Get the current activity and attributes of worker {worker} in {workspace}.
        slots:
          worker: path.Sid
          workspace: path.WorkspaceSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/Workers/{Sid}'].post
  update:
    x-apievangelist-phrasing:
      intent: Change a worker's activity or attributes
      effect: write
      questions:
      - How do I put an agent on break or back online?
      - Can I reject an agent's pending reservations when I change their activity?
      - Is it possible to update a worker's skills without recreating them?
      instructions:
      - text: Move worker {worker} in {workspace} to activity {activity}.
        slots:
          worker: path.Sid
          workspace: path.WorkspaceSid
          activity: requestBody.ActivitySid
      - text: Replace the attributes of existing worker {worker} in {workspace} with {attributes}.
        slots:
          worker: path.Sid
          workspace: path.WorkspaceSid
          attributes: requestBody.Attributes
      - text: Set worker {worker} in {workspace} to {activity} and reject their pending reservations.
        slots:
          worker: path.Sid
          workspace: path.WorkspaceSid
          activity: requestBody.ActivitySid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/Workers/{Sid}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a worker
      effect: destructive
      questions:
      - How do I offboard an agent who has left the team?
      - Can I make a worker deletion conditional on an ETag?
      instructions:
      - text: Delete worker {worker} from workspace {workspace}.
        slots:
          worker: path.Sid
          workspace: path.WorkspaceSid
      - text: Remove worker {worker} in {workspace} only if the ETag matches {etag}.
        slots:
          worker: path.Sid
          workspace: path.WorkspaceSid
          etag: header.If-Match
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}/Channels'].get
  update:
    x-apievangelist-phrasing:
      intent: List a worker's per-channel capacity
      effect: read
      questions:
      - How many chats versus calls can one agent handle at the same time?
      - Which channels is a specific worker available on?
      instructions:
      - text: List the channels for worker {worker} in workspace {workspace}.
        slots:
          worker: path.WorkerSid
          workspace: path.WorkspaceSid
      - text: Show every channel capacity set for worker {worker} in {workspace}.
        slots:
          worker: path.WorkerSid
          workspace: path.WorkspaceSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}/Channels/{Sid}'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up a worker's capacity on one channel
      effect: read
      questions:
      - What is one agent's capacity on a single channel like chat?
      - Can I check if a worker is available on one specific channel?
      instructions:
      - text: Show channel {channel} for worker {worker} in workspace {workspace}.
        slots:
          channel: path.Sid
          worker: path.WorkerSid
          workspace: path.WorkspaceSid
      - text: Get worker {worker}'s capacity on channel {channel} in {workspace}.
        slots:
          worker: path.WorkerSid
          channel: path.Sid
          workspace: path.WorkspaceSid
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/Workspaces/{WorkspaceSid}/Workers/{WorkerSid}/Channels/{Sid}'].post
  update:
    x-apievangelist-phrasing:
      intent: Set a worker's capacity on a channel
      effect: write
      questions:
      - How do I let an agent handle three chats at once?
      - Can I turn off one channel for a worker without changing their activity?
      instructions:
      - text: Set worker {worker}'s capacity on channel {channel} in {workspace} to {capacity}.
        slots:
          worker: path.WorkerSid
          channel: path.Sid
          workspace: path.WorkspaceSid
          capacity: requestBody.Capacity
      - text: 'Make channel {channel} for worker {worker} in {workspace} available: {available}.'
        slots:
          channel: path.Sid
          worker: path.WorkerSid
          workspace: path.WorkspaceSid
          available: requestBody.Available
      method: generated
      generated: '2026-09-26'


# --- truncated at 32 KB (49 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/twilio/refs/heads/main/overlays/twilio-workspaces-api-phrasing-overlay.yaml