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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'