# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for CRM Subpackage Opportunities API version: 1.0.0 extends: openapi/merge-subpackage-opportunities-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: 7 - target: $.paths['/crm/v1/opportunities'].get update: x-apievangelist-phrasing: intent: List CRM opportunities effect: read questions: - Can I pull every open deal from a customer's CRM? - Which opportunities belong to a given owner or pipeline stage? instructions: - text: List opportunities with status {status}. slots: status: query.status - text: Show opportunities owned by {owner_id} in stage {stage_id}. slots: owner_id: query.owner_id stage_id: query.stage_id - text: List deals for account {account_id}. slots: account_id: query.account_id method: generated generated: '2026-09-26' - target: $.paths['/crm/v1/opportunities'].post update: x-apievangelist-phrasing: intent: Create a CRM opportunity effect: write questions: - How do I add a new deal to a customer's CRM? - Can I create an opportunity and get debug logs back? instructions: - text: Create opportunity {opportunity}. slots: opportunity: requestBody.model - text: Add deal {opportunity} to the CRM with debug mode {is_debug_mode}. slots: opportunity: requestBody.model is_debug_mode: query.is_debug_mode method: generated generated: '2026-09-26' - target: $.paths['/crm/v1/opportunities/{id}'].get update: x-apievangelist-phrasing: intent: Get a CRM opportunity effect: read questions: - Can I look up one deal by its ID? - What details are stored on a single opportunity? instructions: - text: Get opportunity {id}. slots: id: path.id - text: Show me the deal {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/crm/v1/opportunities/{id}'].patch update: x-apievangelist-phrasing: intent: Update a CRM opportunity effect: write questions: - Can I move a deal to a new stage or change its amount? - How do I edit an opportunity that's already in the CRM? instructions: - text: Update opportunity {id} with {changes}. slots: id: path.id changes: requestBody.model - text: Patch deal {id} to {changes} asynchronously {run_async}. slots: id: path.id changes: requestBody.model run_async: query.run_async method: generated generated: '2026-09-26' - target: $.paths['/crm/v1/opportunities/meta/patch/{id}'].get update: x-apievangelist-phrasing: intent: Get fields allowed when updating an opportunity effect: read questions: - Which fields can I edit on a particular opportunity? - What does the CRM allow me to change on an existing deal? instructions: - text: Show editable fields for opportunity {id}. slots: id: path.id - text: Get update metadata for deal {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/crm/v1/opportunities/meta/post'].get update: x-apievangelist-phrasing: intent: Get fields required to create an opportunity effect: read questions: - Which fields are required to create a deal in this CRM? - What does the CRM accept when posting a new opportunity? instructions: - text: Show opportunity creation fields for account token {account_token}. slots: account_token: header.X-Account-Token - text: Get the create metadata for opportunities. method: generated generated: '2026-09-26' - target: $.paths['/crm/v1/opportunities/remote-field-classes'].get update: x-apievangelist-phrasing: intent: List custom field definitions on opportunities effect: read questions: - What custom deal fields does this CRM define? - Can I list only custom opportunity field classes? instructions: - text: List opportunity field classes where custom is {is_custom}. slots: is_custom: query.is_custom - text: Show deal field classes that are common model fields {is_common_model_field}. slots: is_common_model_field: query.is_common_model_field method: generated generated: '2026-09-26'