Skip to content

The moment it happens

Sync shop customers into Zoho CRM contacts

Customers from your store are added or updated in Zoho CRM with a tier based on what they spend.

Runs
The moment it happens
Apps
Zoho CRM
AI
Not needed
Access
ZohoCRM.modules.contacts.ALL

Send this to your assistant

Create a ClickRuntime automation: give me a link my store posts customers to; create or update each one as a Zoho CRM contact by email and set the tier to Gold over $1,000 total spend, Silver over $250, otherwise Bronze.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

An online shop collects customers through checkout, a newsletter tool and manual orders. Each new customer is added to Zoho CRM by hand or by a spreadsheet import, and the same person appears twice, once as Jon Smith from the shop and again as Jonathan Smith from the newsletter. Sales reps cannot tell the repeat customer worth $2,000 from a casual browser because the record carries no indication of value.

When a customer record arrives from your shop or email tool, a value score is computed from fields such as total spent and number of orders. The contact is then upserted in Zoho CRM using the email address as the key, meaning an existing contact is updated and a new one is created otherwise. The score is stored on the contact.

Great for stores that want CRM data to follow customers automatically.

What you get out of it

  • One contact per person

    Matching on email prevents duplicates that split a customer's history across two records. A rep opening the contact sees every order and note in one place. Reps never ask which record is the real one.

  • Value is visible at a glance

    A score on the contact tells a rep whether this is a top customer. Priority and tone adjust before the first word is spoken, and a high-value buyer is never treated like a casual browser.

  • CRM data stays current

    Spending and order counts update as new data arrives. Records no longer age while waiting for the next import, so a call made today reflects what happened last night. The data stays fresh without effort.

  • Manual imports end

    Nobody exports a CSV from the shop and uploads it on Fridays. The record updates itself when the customer data changes, and the hours spent on imports go to something else.

  • Marketing segments become reliable

    With a value score in Zoho CRM, you can build a list of top customers for a loyalty offer. The segment is built from real purchase data, not a rough guess.

  • Fewer duplicate cleanups

    Every duplicate prevented now is a merge you do not have to perform later. Cleaning a CRM by hand is slow and risky, and keeping it clean at the point of entry is far cheaper.

How it works

What happens, step by step

  1. When your store sends a customer's details to your ClickRuntime link, the automation runs straight away.

  2. It gives the customer a tier from their total spend: Gold over $1,000, Silver over $250, Bronze otherwise.

  3. It looks the customer up in Zoho CRM by email address, updating the contact if it exists or creating it if not, so you never get duplicates.

  4. The contact ends up with their name, email and tier.

Before it runs live

  • Connect Zoho CRM
  • Paste your automation's link into the other app's webhook settings

What you get

RunsThe moment it happens
Sync shop customers into Zoho CRM contactsjust nowSucceeded
Zoho CRM · ContactsUpdated dana@acme.example · Tier: Gold ($1,420 total spend)

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • Your own rules

    Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.

  • Any number of apps

    One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.

  • AI where it helps

    Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.

  • On a schedule or on each event

    Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.

Changes you can ask for

  • Act only on the items that match your own rules, and skip the rest
  • Add an AI step, for example to summarize, sort or draft a reply
  • Add another app, for example also send it to Slack
  • Combine it with other Zoho CRM steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
create_or_update_contacts_from_incoming_data.pyexample
from clickruntime import on_event, credentials, http

@on_event
def handle(event):
    c = event.json
    spent = float(c.get("total_spent", 0))
    tier = "Gold" if spent > 1000 else "Silver" if spent > 250 else "Bronze"
    resp = http.post("https://www.zohoapis.com/crm/v8/Contacts/upsert",
                     headers={"Authorization": f"Zoho-oauthtoken {credentials.connection('zoho', 'work')}"},
                     json={"data": [{"Email": c["email"], "First_Name": c.get("first_name"),
                                     "Last_Name": c.get("last_name") or c["email"], "Tier": tier}],
                           "duplicate_check_fields": ["Email"]})
    resp.raise_for_status()
    result = resp.json()["data"][0]
    return {"action": result["action"], "id": result["details"]["id"], "tier": tier}

FAQ

Common questions

How is the value score calculated?
It is a formula based on fields in the incoming record, such as lifetime spend and order count. You define the weights, so a customer with many small orders can score as high as one big order.
What if two sources use different emails for one person?
Matching uses the email in each record, so two different addresses create two contacts. If you often see this, adding a second match field like phone can help link them. Phone can be added as a second match field.
Which systems can send customer data?
Any shop, form tool or email platform that can send a webhook on a new or changed customer. Each event is sent to the trigger link and is processed when it arrives. Any shop or form tool that sends a webhook can feed it.
What permissions does it need?
ZohoCRM.modules.contacts.ALL. Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run for each event the app sends.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Sync shop customers into Zoho CRM contacts” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.