Beam Help
Get help now

How-to · Zoho CRM

How to create calls in Zoho

Log and create call records automatically in your Zoho CRM.

Logging a call record in Zoho CRM can be done manually through the Activities module or automated via integrations with Zoho Voice and Zoho Meeting's built-in Calls tab.


Why this matters


Sales and support teams rely on accurate call logs to maintain a complete history of customer interactions. Whether you're recording a quick follow-up call or building an automated workflow that schedules and tracks calls at scale, knowing the right path in Zoho CRM saves time and prevents gaps in your pipeline data. As independent expert support for Zoho (not official Zoho support), Beam Help walks you through the most reliable approaches available.


Step-by-step


Step 1. Navigate to the Activities module inside Zoho CRM. In the top navigation bar, click Activities, then select Log a Call (or use the + quick-create button and choose Call). This opens the call-logging form where you can fill in the subject, call type (inbound or outbound), call duration, and the related contact or lead record.


Step 2. If your team uses a cloud phone system, consider enabling the Zoho Voice integration. Zoho Voice is a cloud-based business phone system that lets agents make and receive local and international calls directly from a web or mobile app, and call activity can be synced back into CRM records automatically. [6]


Step 3. Alternatively, if your team already uses Zoho Meeting, you can access calls through the dedicated Calls tab inside Zoho Meeting. Both admins and super admins can click on the Calls tab or the Dialer icon within Zoho Meeting to activate the integration with a single click. [7] Once enabled, outbound calls placed through this tab can be associated with CRM contacts, keeping your activity timeline complete.


Step 4. For teams that need to schedule calls as appointments (for example, booking a discovery call with a prospect), you can extend Zoho CRM using a custom button that connects to Zoho Bookings. The approach involves creating a custom button in the relevant module and writing Deluge logic that calls the Zoho Bookings API to book an appointment, then writes the resulting calendar URL back into a custom field on the record. [1]


Step 5. If you are building that Bookings-based flow, you will need to authenticate against the Zoho Bookings API. Start by visiting https://api-console.zoho.com, clicking GET STARTED, and creating a Self Client to obtain a Client ID and Client Secret. Then generate an authorisation code with the scope zohobookings.data.CREATE and exchange it for an access token by sending a POST request to https://accounts.zoho.com/oauth/v2/token. [8]


Step 6. Once authentication is in place, your Deluge function can invoke the Zoho Bookings API to retrieve the relevant service ID and staff ID, then call the Book Appointment endpoint to schedule the call. The resulting Bookings calendar URL can be written back to a custom field on the CRM or Books record using an update API call, giving your team a direct link from within the record. [2]


Common pitfalls


  • Missing connection scopes: When creating a custom connection for the Bookings integration, ensure the OAuth scope matches the operations you intend to perform (e.g., zohobookings.data.CREATE for booking appointments). Using an incorrect or overly narrow scope will cause the API call to fail silently or return a permissions error. [8]
  • Date/time formatting mismatches: The start time value stored in a CRM or Books custom field must be reformatted to match exactly what the Zoho Bookings API expects before passing it as a parameter. Failing to transform the timestamp format is a common reason the Book Appointment call returns a validation error. [2]
  • Zoho Meeting Calls tab visibility: Only admins and super admins can enable the Calls tab integration inside Zoho Meeting. Standard users will not see the option until an admin has activated it at the account level. [7]

What to check


  • Confirm that the call record appears in the Activities timeline of the related Contact, Lead, or Deal record in Zoho CRM after logging.
  • If using the Zoho Voice or Zoho Meeting integration, verify that the integration status shows as Connected in the respective settings panel before agents attempt to place calls.
  • If using the Bookings API flow, test the custom button in a sandbox or developer environment and confirm that the calendar URL is correctly populated in the designated custom field after a booking is created. [^1, ^2]

Sources cited

  1. [1] Building extensions #5: Creating custom connections for extensions
  2. [2] Billing | Zoho Creator Help
  3. [3] server.py: chat_stream
  4. [4] Zoho Voice | Setup | Knowledge Base
  5. [5] Zoho Voice | Getting Started | Knowledge Base
  6. [6] Transforming the way you connect: Introducing business phone calls in Zoho Meeting
  7. [7] Generate Access Token | API Help
How to create calls in Zoho | Beam Help