# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for CRM Service API version: 1.0.0 extends: openapi/vendasta-crmservice-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: 6 - target: $.paths['/v1/crm/contact/create'].post update: x-apievangelist-phrasing: intent: Create a CRM contact effect: write questions: - How do I add a new contact to the CRM? - Can I create a contact with custom field values in one request? instructions: - text: Create contact {contact} in {namespace}. slots: contact: requestBody.crmObject namespace: requestBody.namespace - text: 'Add a new person to the CRM in {namespace} with these details: {contact}.' slots: namespace: requestBody.namespace contact: requestBody.crmObject method: generated generated: '2026-10-01' - target: $.paths['/v1/crm/contact/delete'].post update: x-apievangelist-phrasing: intent: Delete a CRM contact effect: destructive questions: - Can I delete a contact from the CRM by its ID? - What do I need to remove a contact? instructions: - text: Delete contact {contact_id} in {namespace}. slots: contact_id: requestBody.crmObjectId namespace: requestBody.namespace - text: Remove contact {contact_id} from the CRM. slots: contact_id: requestBody.crmObjectId method: generated generated: '2026-10-01' - target: $.paths['/v1/crm/contact/field-options'].post update: x-apievangelist-phrasing: intent: List options for a contact field effect: read questions: - What values are allowed for a picklist field on contacts? - Can I search one contact field's options? instructions: - text: List options for contact field {field} in {namespace}. slots: field: requestBody.fieldId namespace: requestBody.namespace - text: Search contact field {field} options for {term}. slots: field: requestBody.fieldId term: requestBody.searchTerm method: generated generated: '2026-10-01' - target: $.paths['/v1/crm/contact/get-multi'].post update: x-apievangelist-phrasing: intent: Fetch several contacts by ID effect: read questions: - Can I retrieve a batch of contacts when I already have their IDs? - Is it possible to return only some fields when fetching contacts by ID? instructions: - text: Get contacts {ids} from {namespace}. slots: ids: requestBody.crmObjectIds namespace: requestBody.namespace - text: Fetch contacts {ids} with only fields {mask}. slots: ids: requestBody.crmObjectIds mask: requestBody.fieldMask method: generated generated: '2026-10-01' - target: $.paths['/v1/crm/contact/list'].post update: x-apievangelist-phrasing: intent: List and search CRM contacts effect: read questions: - Which contacts are in my CRM? - Can I search contacts by name and sort the results? instructions: - text: List contacts in {namespace}. slots: namespace: requestBody.namespace - text: Search contacts in {namespace} for {search}. slots: namespace: requestBody.namespace search: requestBody.search - text: List contacts in {namespace} sorted by {sort}. slots: namespace: requestBody.namespace sort: requestBody.sortBy method: generated generated: '2026-10-01' - target: $.paths['/v1/crm/contact/update'].post update: x-apievangelist-phrasing: intent: Update a CRM contact effect: write questions: - Can I change a contact's phone number or email? - How does the field mask limit what a contact update changes? instructions: - text: Update contact {contact} in {namespace}. slots: contact: requestBody.crmObject namespace: requestBody.namespace - text: Change only fields {mask} on contact {contact}. slots: mask: requestBody.fieldMask contact: requestBody.crmObject method: generated generated: '2026-10-01'