# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Zoho Crm Contacts API version: 1.0.0 extends: openapi/zoho-crm-contacts-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: 11 - target: $.paths['/contacts/roles'].get update: x-apievangelist-phrasing: intent: List contact roles effect: read questions: - What contact roles are defined in my CRM, like Decision Maker or Evaluator? - Can I see every contact role available to assign on deals? instructions: - text: List all contact roles. - text: Show the contact role definitions set up in the CRM. method: generated generated: '2026-09-26' - target: $.paths['/contacts/roles'].put update: x-apievangelist-phrasing: intent: Update several contact roles effect: write questions: - Can I rename or reorder multiple contact roles at once? - Is there a bulk edit for contact role definitions? instructions: - text: 'Update these contact roles: {contact_roles}.' slots: contact_roles: requestBody.contact_roles - text: Bulk rename the contact roles as listed in {contact_roles}. slots: contact_roles: requestBody.contact_roles method: generated generated: '2026-09-26' - target: $.paths['/contacts/roles'].post update: x-apievangelist-phrasing: intent: Create new contact roles effect: write questions: - How do I add a new contact role such as Technical Buyer? - Can I create several contact roles in one request? instructions: - text: Create contact roles {contact_roles}. slots: contact_roles: requestBody.contact_roles - text: Add a new contact role definition named in {contact_roles}. slots: contact_roles: requestBody.contact_roles method: generated generated: '2026-09-26' - target: $.paths['/contacts/roles'].delete update: x-apievangelist-phrasing: intent: Delete several contact roles effect: destructive questions: - Can I delete multiple contact role definitions by their IDs? - What's the way to remove a batch of unused contact roles? instructions: - text: Delete contact roles {ids}. slots: ids: query.ids - text: Remove the contact role definitions with IDs {ids}. slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/contacts/roles/{role}'].get update: x-apievangelist-phrasing: intent: Get a contact role by ID effect: read questions: - Where do I look up one contact role definition by its ID? - What are the name and sequence of a specific contact role? instructions: - text: Get contact role {role}. slots: role: path.role - text: Show the details of contact role ID {role}. slots: role: path.role method: generated generated: '2026-09-26' - target: $.paths['/contacts/roles/{role}'].put update: x-apievangelist-phrasing: intent: Update a single contact role effect: write questions: - Can I rename just one contact role by its ID? - Is there a way to edit one contact role definition without a bulk update? instructions: - text: Update contact role {role} with {contact_roles}. slots: role: path.role contact_roles: requestBody.contact_roles - text: Rename contact role {role}. slots: role: path.role method: generated generated: '2026-09-26' - target: $.paths['/contacts/roles/{role}'].delete update: x-apievangelist-phrasing: intent: Delete a single contact role effect: destructive questions: - How do I delete one contact role definition? - Can a specific contact role be removed by its ID? instructions: - text: Delete contact role {role}. slots: role: path.role - text: Remove the contact role definition {role}. slots: role: path.role method: generated generated: '2026-09-26' - target: $.paths['/Contacts/{contactId}/Emails/actions/link_record'].post update: x-apievangelist-phrasing: intent: Link a contact's emails to deals effect: write questions: - Can I link several emails from a contact to the related deals in the CRM? - How do I associate a contact's email conversations with a deal record? instructions: - text: Link emails {Emails} from contact {contactId} to their deals. slots: Emails: requestBody.Emails contactId: path.contactId - text: Attach contact {contactId}'s emails to the specified deals. slots: contactId: path.contactId method: generated generated: '2026-09-26' - target: $.paths['/Contacts/{contactId}/Emails/actions/link_record'].delete update: x-apievangelist-phrasing: intent: Unlink several emails from records effect: destructive questions: - Can I unlink multiple of a contact's emails from the records they're tied to? - Which message IDs and owner do I need to detach emails in bulk from deals? instructions: - text: Unlink emails {message_ids} owned by {owner_id} from contact {contactId}'s linked records. slots: message_ids: query.message_ids owner_id: query.owner_id contactId: path.contactId - text: Detach messages {message_ids} of contact {contactId} from their records for owner {owner_id}. slots: message_ids: query.message_ids contactId: path.contactId owner_id: query.owner_id method: generated generated: '2026-09-26' - target: $.paths['/Contacts/{contactId}/Emails/{messageId}/actions/link_record'].post update: x-apievangelist-phrasing: intent: Link one email to a record effect: write questions: - How do I link a single email message from a contact to a specific record? - Can I attach just one of a contact's emails to a deal? instructions: - text: Link email {messageId} of contact {contactId} to the record in {Emails}. slots: messageId: path.messageId contactId: path.contactId Emails: requestBody.Emails - text: Associate message {messageId} from contact {contactId} with a deal. slots: messageId: path.messageId contactId: path.contactId method: generated generated: '2026-09-26' - target: $.paths['/Contacts/{contactId}/Emails/{messageId}/actions/link_record'].delete update: x-apievangelist-phrasing: intent: Unlink one email from a record effect: destructive questions: - Can I unlink one specific email message from the record it was linked to? - What's needed to detach a single contact email from a deal? instructions: - text: Unlink email {messageId} of contact {contactId} for owner {owner_id}. slots: messageId: path.messageId contactId: path.contactId owner_id: query.owner_id - text: Detach only message {messageId} from contact {contactId}'s linked record, owner {owner_id}. slots: messageId: path.messageId contactId: path.contactId owner_id: query.owner_id method: generated generated: '2026-09-26'