Zoho CRM · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Zoho Crm Contacts API
12 actions
12 updates
phrasing
extends
openapi/zoho-crm-contacts-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Zoho CRM's API. It is a proposal applied on top of the contract, not a document Zoho CRM publishes.
What the actions change
x-apievangelist-phrasing
Targets 12
$.info
$.paths['/contacts/roles'].get
$.paths['/contacts/roles'].put
$.paths['/contacts/roles'].post
$.paths['/contacts/roles'].delete
$.paths['/contacts/roles/{role}'].get
$.paths['/contacts/roles/{role}'].put
$.paths['/contacts/roles/{role}'].delete
$.paths['/Contacts/{contactId}/Emails/actions/link_record'].post
$.paths['/Contacts/{contactId}/Emails/actions/link_record'].delete
$.paths['/Contacts/{contactId}/Emails/{messageId}/actions/link_record'].post
$.paths['/Contacts/{contactId}/Emails/{messageId}/actions/link_record'].delete
OpenAPI Overlay
# 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'