Kraya-AI Docs
Integrations

Zoho CRM

Bi-directional sync of lead data between Kraya and Zoho CRM.

{"feature":"zoho-integration","audience":"end_users","apps":["NextJS","Laravel"],"tags":["crm","leads","sync","integrations"]}

Zoho Integration

  • Where in Kraya
    • Page: https://kraya-ai.com/dashboard/zoho-integration (Admin-only actions are called out below)
  • What it does
    • Connect your Zoho CRM to Kraya so new/updated leads stay in sync.
    • Syncs these fields:
      • Name, Email, Phone
      • Pipeline name (Kraya) ↔ custom text field in Zoho
      • Stage name (Kraya) ↔ custom text field in Zoho
      • Notes (from Kraya lead attributes) ↔ custom field in Zoho
      • Any custom attributes mapped for you by Kraya support (see Advanced below)
    • One linked Zoho account per Kraya organization.

Overview

After you connect Zoho, Kraya automatically:

  • Imports your existing Zoho leads into Kraya (one-time initial sync).
  • Keeps future updates in sync:
    • Zoho → Kraya via webhooks
    • Kraya → Zoho via background sync

Only the mapped fields above are synced. Other Zoho fields stay in Zoho only.


Setup

  1. Open Zoho Integration
    Go to zoho-integration in your dashboard.

  2. Connect Zoho
    Click “Connect Zoho” and complete the Zoho consent screen. You’ll be redirected back with a success message.

  3. Initial sync
    The page will show your connection status. Initial import runs automatically. You can continue using Kraya while it completes.

  4. Verify data
    Search for a few known Zoho leads in Kraya and confirm Name/Email/Phone and your Pipeline/Stage text fields align.

Notes

  • Connection is organization-wide. Admin access to Zoho is typically required to grant permissions.
  • If your Zoho has not yet created the three custom fields (Kraya Pipeline, Kraya Stage, Kraya Notes), the integration will set them up for you the first time.

Day-to-day usage

  • Continue working with leads in either tool.
  • If you rename a Kraya pipeline/stage, future syncs will carry the new text; ensure consistent naming across both tools.
  • Deleting a lead in Zoho removes it from Kraya; restoring is not automatic.

Advanced: custom attribute mapping (set up by Kraya support)

Beyond the standard field set, Kraya support can map any of your Kraya custom attributes to a Zoho field on your account (one attribute → one Zoho field). There is no dashboard screen for this yet — ask support with the attribute names and the Zoho field names you want paired. Once a mapping is in place:

  • Kraya → Zoho: the mapped attribute values are included every time a lead is pushed, formatted for the attribute's data type (dates as dates, numbers as numbers). Changing only a mapped attribute on a lead is enough to trigger a push. Empty values are left out of the payload.
  • Zoho → Kraya: when a mapped Zoho field changes, Kraya writes it onto the lead's attribute, converted to that attribute's data type. An empty field in Zoho leaves the Kraya value untouched, and a dropdown value that isn't one of the attribute's options is skipped rather than saved.
  • Push only qualified leads (on request): support can also hold new leads back from Zoho until they reach your Qualified stage. Leads already linked to a Zoho record keep syncing whatever their stage; a lead moved straight past Qualified to a later stage is not pushed.

Edge cases to expect

  • Zoho re-authentication needed
    • If you see “Disconnected” or “Token expired,” click “Reconnect Zoho” and complete consent again.
  • Webhook paused in Zoho
    • If updates stop flowing Zoho → Kraya, re-open the integration page and check if the status is still "Connected" or it shows an error
  • Mismatched pipeline/stage names
    • If a pipeline or stage name in Kraya doesn’t exist or is different in Zoho, Kraya still updates its own pipeline/stage; Zoho will just store the text value you see in Kraya.
  • Field not present in Zoho
    • If a mapped custom field is missing, the sync skips that field. Reconnect to re-create missing fields.
  • High volume / rate limits
    • Updates queue briefly during peaks and then catch up automatically.

Troubleshooting (quick)

  • “Connect failed”
    • Refresh and try again; ensure you are signed into the correct Zoho account and have permission to grant CRM scopes.
  • “No leads imported”
    • Wait a few minutes if you just connected. If still empty, disconnect and reconnect.
  • “Edits in Zoho not showing in Kraya”
    • Revisit zoho-integration and click reconnect; then edit a Zoho lead again to trigger a webhook.
  • “Edits in Kraya not showing in Zoho”
    • Make a small change (e.g., update Notes) and wait ~1–2 minutes. If still missing, reconnect.

Short decision tree

  • Not syncing either direction → Reconnect Zoho → Make a small change again → Wait a couple of minutes.
  • Only Zoho → Kraya is broken → Reconnect; verify Zoho webhooks aren’t disabled.
  • Only Kraya → Zoho is broken → Try one more update; if still no change, reconnect.

FAQs

  • Can I choose which fields to sync?
    • Not from the dashboard. The integration syncs a standard set (Name, Email, Phone, Pipeline name, Stage name, Notes); custom attributes can be added to the sync by Kraya support — see Advanced: custom attribute mapping above.
  • Are custom Zoho fields supported?
    • The three listed “Kraya” custom fields are supported out of the box. Other Zoho fields can be paired with a Kraya custom attribute by Kraya support (see Advanced: custom attribute mapping).
  • Will Kraya create duplicates?
    • Kraya deduplicates by phone where possible.
  • Can I disconnect and reconnect later?
    • Yes. Disconnecting pauses sync. Reconnecting resumes.

  • Pipelines and Stages
  • Leads (creating, editing, searching)
  • Google Sheets Integration

Screenshots (to add later)

On this page