# 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 Analytics API version: 1.0.0 extends: openapi/act-analytics-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: 29 - target: $.paths['/api/activities/analytics/task-list'].get update: x-apievangelist-phrasing: intent: Get task list activities for a date range effect: read questions: - What tasks are on my list between two dates? - Can I limit the analytics task list to certain priorities or activity types? instructions: - text: Show my task list activities from {start} to {end}. slots: start: query.start end: query.end - text: Get up to {max} tasks between {start} and {end} with priority {priorityIds}. slots: max: query.max start: query.start end: query.end priorityIds: query.priorityIds method: generated generated: '2026-10-01' - target: $.paths['/api/activities/analytics/activity-by-user'].get update: x-apievangelist-phrasing: intent: Summarize activities by user effect: read questions: - How many activities has each rep logged in a period? - Can I compare activity counts across several users for a date range? instructions: - text: Summarize activities by user from {start} to {end}. slots: start: query.start end: query.end - text: Compare activity totals for users {userIds} between {start} and {end}. slots: userIds: query.userIds start: query.start end: query.end method: generated generated: '2026-10-01' - target: $.paths['/api/activities/analytics/activity-by-user-details'].get update: x-apievangelist-phrasing: intent: Drill into one user's activities effect: read questions: - Which individual activities did one rep complete in a date range? - Can I see the detail behind one user's activity total? instructions: - text: Show activity details for user {userId} from {start} to {end}, types {typeIds}. slots: userId: query.userId start: query.start end: query.end typeIds: query.typeIds - text: Break down the {typeIds} activities user {userId} logged between {start} and {end}. slots: typeIds: query.typeIds userId: query.userId start: query.start end: query.end method: generated generated: '2026-10-01' - target: $.paths['/api/emarketing/analytics/campaign-leads'].get update: x-apievangelist-phrasing: intent: Get leads generated by email campaigns effect: read questions: - Which contacts became leads from my email marketing? - Is there a quick count of campaign leads? instructions: - text: Show my email campaign leads. - text: List the contacts that came in as campaign leads. method: generated generated: '2026-10-01' - target: $.paths['/api/emarketing/analytics/campaign-lead-info'].get update: x-apievangelist-phrasing: intent: Get opportunities from campaign leads effect: read questions: - Which opportunities came out of my campaigns in a given period? - Can I filter campaign-driven opportunities by status or owner? instructions: - text: Show opportunities from campaign leads between {start} and {end}. slots: start: query.start end: query.end - text: List opportunities from campaigns {campaignIds} from {start} to {end}. slots: campaignIds: query.campaignIds start: query.start end: query.end method: generated generated: '2026-10-01' - target: $.paths['/api/emarketing/analytics/campaign-sent'].get update: x-apievangelist-phrasing: intent: Count email campaigns sent in a period effect: read questions: - How many email campaigns did we send last month? - What campaigns went out between two dates? instructions: - text: Show campaigns sent between {start} and {end}. slots: start: query.start end: query.end - text: Count the email campaigns we sent from {start} to {end}. slots: start: query.start end: query.end method: generated generated: '2026-10-01' - target: $.paths['/api/emarketing/analytics/campaign-results'].get update: x-apievangelist-phrasing: intent: Get email campaign results effect: read questions: - How did my email campaigns perform in a date range? - Can I see results for just a few specific campaigns? instructions: - text: Show campaign results from {start} to {end}. slots: start: query.start end: query.end - text: Get the results of campaigns {campaignIds} between {start} and {end}. slots: campaignIds: query.campaignIds start: query.start end: query.end method: generated generated: '2026-10-01' - target: $.paths['/api/{entityname}/analytics/query'].get update: x-apievangelist-phrasing: intent: Run a custom aggregate query on a record type effect: read questions: - Can I build my own analytics query, like counting opportunities grouped by a field? - What custom aggregations can I run over contacts, companies or opportunities? instructions: - text: Run a {operation} of {entityname} grouped by {field}. slots: operation: query.operation entityname: path.entityname field: query.field - text: Aggregate {entityname} by {field} using {operation} for users {userIds}. slots: entityname: path.entityname field: query.field operation: query.operation userIds: query.userIds method: generated generated: '2026-10-01' - target: $.paths['/api/{entityname}/analytics/query-details'].get update: x-apievangelist-phrasing: intent: Drill into one value of a custom query effect: read questions: - Which records sit behind one bar of my custom analytics chart? - Can I list the detail records where a field equals a given value? instructions: - text: Show the {entityname} records where {field} is {fieldValue}. slots: entityname: path.entityname field: query.field fieldValue: query.fieldValue - text: Drill into {entityname} custom query details for {field} = {fieldValue} from {start} to {end}. slots: entityname: path.entityname field: query.field fieldValue: query.fieldValue start: query.start end: query.end method: generated generated: '2026-10-01' - target: $.paths['/api/emarketing/analytics/history'].get update: x-apievangelist-phrasing: intent: Get e-marketing history for a date range effect: read questions: - What email marketing activity was recorded over a past period? - Can I pull historical e-marketing data between two dates? instructions: - text: Show e-marketing history from {start} to {end}. slots: start: query.start end: query.end - text: Get the historical email marketing record between {start} and {end}. slots: start: query.start end: query.end method: generated generated: '2026-10-01' - target: $.paths['/api/analytics/kpi'].get update: x-apievangelist-phrasing: intent: Get KPI figures for a KPI group effect: read questions: - What are my KPI numbers for a given KPI group? - Can I filter KPI data by stage, owner or amount? instructions: - text: Get KPI data for group {groupName}. slots: groupName: query.groupName - text: Show KPI group {groupName} from {start} to {end}. slots: groupName: query.groupName start: query.start end: query.end method: generated generated: '2026-10-01' - target: $.paths['/api/opportunity/analytics/revenue/actual-predicted'].get update: x-apievangelist-phrasing: intent: Compare actual and predicted revenue effect: read questions: - Is our closed revenue tracking ahead of or behind what was forecast? - Can I compare actual against predicted revenue by month or quarter? instructions: - text: Compare actual and predicted revenue. - text: Show actual vs predicted revenue by {interval} from {start} to {end}. slots: interval: query.args.interval start: query.args.start end: query.args.end method: generated generated: '2026-10-01' - target: $.paths['/api/opportunity/analytics/revenue/forecast-by-product'].get update: x-apievangelist-phrasing: intent: Forecast revenue by product effect: read questions: - Which products carry the most forecast revenue? - Can I see the opportunity forecast split across several products? instructions: - text: Show the revenue forecast by product. - text: Forecast opportunity revenue for products {productIds}. slots: productIds: query.productIds method: generated generated: '2026-10-01' - target: $.paths['/api/opportunity/analytics/revenue/forecast-by-product-details'].get update: x-apievangelist-phrasing: intent: Drill into one product's forecast effect: read questions: - Which opportunities make up the forecast for one product? - What's in the forecast detail for a single product? instructions: - text: Show forecast details for product {productId}. slots: productId: query.productId - text: List the forecasted opportunities behind product {productId}. slots: productId: query.productId method: generated generated: '2026-10-01' - target: $.paths['/api/opportunity/analytics/revenue/forecast-by-rep'].get update: x-apievangelist-phrasing: intent: Forecast revenue by sales rep effect: read questions: - What is each sales rep forecast to close? - Can I compare forecast revenue across a few reps? instructions: - text: Show the revenue forecast by rep. - text: Forecast opportunity revenue for reps {userIds}. slots: userIds: query.userIds method: generated generated: '2026-10-01' - target: $.paths['/api/opportunity/analytics/revenue/forecast-by-rep-details'].get update: x-apievangelist-phrasing: intent: Drill into one rep's forecast effect: read questions: - Which deals make up one salesperson's forecast? - What's behind a single rep's forecast number? instructions: - text: Show forecast details for rep {userId}. slots: userId: query.userId - text: List the forecasted opportunities owned by user {userId}. slots: userId: query.userId method: generated generated: '2026-10-01' - target: $.paths['/api/opportunities/analytics/pipeline'].get update: x-apievangelist-phrasing: intent: View the open opportunity pipeline effect: read questions: - What deals are currently being worked in the pipeline? - Can I filter the pipeline view by stage, owner or probability? instructions: - text: Show my current opportunity pipeline. - text: Show pipeline deals in stages {stageIds} for users {userIds}. slots: stageIds: query.stageIds userIds: query.userIds method: generated generated: '2026-10-01' - target: $.paths['/api/opportunities/analytics/pipelines'].post update: x-apievangelist-phrasing: intent: Query the pipeline with a filter in the body effect: read questions: - Can I send a long pipeline filter as a POST body instead of query parameters? - Is there a POST form of the pipeline query for many stage or user ids? instructions: - text: Query the pipeline via POST for stages {stageIds} between {start} and {end}. slots: stageIds: requestBody.stageIds start: requestBody.start end: requestBody.end - text: Post a pipeline filter for users {userIds} with status {statuses}. slots: userIds: requestBody.userIds statuses: requestBody.statuses method: generated generated: '2026-10-01' - target: $.paths['/api/opportunities/analytics/top-open'].get update: x-apievangelist-phrasing: intent: List the top open opportunities effect: read questions: - What are my biggest open deals right now? - Can I cap the top open opportunities list at a certain number? instructions: - text: Show my top open opportunities. - text: List the top {max} open deals for users {userIds}. slots: max: query.max userIds: query.userIds method: generated generated: '2026-10-01' - target: $.paths['/api/opportunity/analytics/stage-time'].get update: x-apievangelist-phrasing: intent: Measure average time deals spend in each stage effect: read questions: - How long do opportunities sit in each sales stage on average? - Where are deals getting stuck in the process? instructions: - text: Show average time in stage from {start} to {end}. slots: start: query.start end: query.end - text: Measure how long deals stay in stages {stageIds} between {start} and {end}. slots: stageIds: query.stageIds start: query.start end: query.end method: generated generated: '2026-10-01' - target: $.paths['/api/opportunity/analytics/revenue/close-reason'].get update: x-apievangelist-phrasing: intent: Count opportunities by close reason effect: read questions: - Why are we losing deals, counted by close reason? - What are the most common reasons won opportunities closed? instructions: - text: Count {status} opportunities by close reason from {start} to {end}. slots: status: query.status start: query.start end: query.end - text: Tally close reasons for deals with status {status} between {start} and {end}. slots: status: query.status start: query.start end: query.end method: generated generated: '2026-10-01' - target: $.paths['/api/opportunity/analytics/revenue/close-reason-details'].get update: x-apievangelist-phrasing: intent: List deals closed for a given reason effect: read questions: - Which specific deals were lost for a particular reason? - Can I see the opportunities behind one close reason? instructions: - text: List {status} deals closed as {closeReason} from {start} to {end}. slots: status: query.status closeReason: query.closeReason start: query.start end: query.end - text: Show the opportunities with close reason {closeReason} and status {status} between {start} and {end}. slots: closeReason: query.closeReason status: query.status start: query.start end: query.end method: generated generated: '2026-10-01' - target: $.paths['/api/stages/analytics/opportunity-count'].get update: x-apievangelist-phrasing: intent: Count opportunities in each stage effect: read questions: - How many opportunities are in each stage of the sales process? - Can I count deals per stage for just certain reps? instructions: - text: Count opportunities by stage. - text: Show the number of deals per stage for users {userIds}. slots: userIds: query.userIds method: generated generated: '2026-10-01' - target: $.paths['/api/opportunity/analytics/revenue/cost'].get update: x-apievangelist-phrasing: intent: Compare revenue against cost effect: read questions: - Are my products earning more than they cost over time? - Can I chart revenue versus cost by period for chosen products? instructions: - text: Compare revenue and cost by period. - text: Show revenue vs cost for products {productIds} by {interval}. slots: productIds: query.productIds interval: query.args.interval method: generated generated: '2026-10-01' - target: $.paths['/api/opportunity/analytics/revenue/sales-by-product'].get update: x-apievangelist-phrasing: intent: Summarize closed sales by product effect: read questions: - Which products sold the most in a period? - Can I compare sales across a set of products for a date range? instructions: - text: Show sales by product from {start} to {end}. slots: start: query.start end: query.end - text: Compare sales of products {productIds} between {start} and {end}. slots: productIds: query.productIds start: query.start end: query.end method: generated generated: '2026-10-01' - target: $.paths['/api/opportunity/analytics/revenue/sales-by-product-details'].get update: x-apievangelist-phrasing: intent: Drill into one product's sales effect: read questions: - Which deals produced the sales of one product? - What's behind a single product's sales number? instructions: - text: Show sales details for product {productId} from {start} to {end}. slots: productId: query.productId start: query.start end: query.end - text: List the opportunities that sold product {productId} between {start} and {end}. slots: productId: query.productId start: query.start end: query.end method: generated generated: '2026-10-01' - target: $.paths['/api/opportunity/analytics/revenue/sales-by-rep'].get update: x-apievangelist-phrasing: intent: Summarize closed sales by rep effect: read questions: - Who are my top sellers for a period? - Can I compare sales totals for a few reps? instructions: - text: Show sales by rep from {start} to {end}. slots: start: query.start end: query.end - text: Compare sales for reps {userIds} between {start} and {end}. slots: userIds: query.userIds start: query.start end: query.end method: generated generated: '2026-10-01' - target: $.paths['/api/opportunity/analytics/revenue/sales-by-rep-details'].get update: x-apievangelist-phrasing: intent: Drill into one rep's sales effect: read questions: - Which deals did one salesperson close in a period? - What's the detail behind a single rep's sales total? instructions: - text: Show sales details for rep {userId} from {start} to {end}. slots: userId: query.userId start: query.start end: query.end - text: List the deals user {userId} closed between {start} and {end}. slots: userId: query.userId start: query.start end: query.end method: generated generated: '2026-10-01' - target: $.paths['/api/opportunity/analytics/revenue/won-lost'].get update: x-apievangelist-phrasing: intent: Compare won and lost opportunities effect: read questions: - What's our win rate versus losses for a period? - How many deals did we win compared to lose last quarter? instructions: - text: Compare won and lost deals from {start} to {end}. slots: start: query.start end: query.end - text: Show the win versus loss breakdown between {start} and {end}. slots: start: query.start end: query.end method: generated generated: '2026-10-01'