The moment it happens
Get an email when a visitor starts a Crisp chat
You see each new visitor's first message and email address as soon as they write.
- Runs
- The moment it happens
- Apps
- Crisp
- AI
- Not needed
- Access
- plugin token with conversation read scope
Send this to your assistant
Create a ClickRuntime automation: when someone starts a Crisp chat on my site, email me at hello@mystore.com with their first message and email address.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Website chat only works if someone answers quickly. A visitor opens the Crisp widget at 2 p.m. and asks about delivery times, and if nobody on the team notices for twenty minutes, they close the tab and buy elsewhere. Operators who are busy with other work often do not have the inbox open.
As soon as a visitor starts a chat in Crisp, this checks that it is a new session and emails you. Follow-up messages inside the same conversation do not send another email, so you get one prompt per visitor.
Small teams without a dedicated chat agent use it to catch the moments when a visitor actually wants help. The email is sent only for the opening of a session, so a visitor produces one prompt and not a stream of messages, and the notice reaches you while they are still on the page.
What you get out of it
Answer visitors while they are still there
A quick notification lets you respond within a minute or two. Web visitors expect fast answers, and the first reply often decides whether they stay. A reply within a minute or two often decides whether a web visitor stays, since people expect quick answers from chat.
Capture sales opportunities from chat
A visitor asking about pricing is close to buying. Responding quickly turns that interest into a sale, instead of losing it to a competitor's faster answer. A visitor asking about pricing is close to buying, and answering quickly turns interest into a sale before a competitor answers.
Cover chat without watching the inbox
You can work elsewhere and rely on the email to tell you a visitor has arrived. That makes it practical for founders who wear many hats. You can work elsewhere and rely on the email to say a visitor has arrived, which makes chat practical for a founder wearing many hats.
Avoid email floods
Only the start of a new session triggers an email. A long conversation does not produce dozens of messages, so you can keep the alert switched on. Only a new session triggers an email, and a long conversation does not produce dozens of messages, so the alert stays switched on.
Know the busiest times
Email timestamps show when visitors tend to start chats. That helps you decide when to schedule coverage. Timestamps on the emails show when visitors tend to start chats, which helps decide when to schedule coverage.
How it works
What happens, step by step
Each time a visitor sends a message in your Crisp chat, Crisp tells ClickRuntime straight away.
It checks whether this is the start of a new conversation and ignores follow-up messages.
You get an email with the visitor's email address and their first message.
Before it runs live
- Connect Crisp
- Paste your automation's link into the other app's webhook settings
What you get
Build your own
Need it to work differently?
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 Crisp steps into one automation
Under the hood
The code that runs this automation
import base64
from clickruntime import on_event, credentials, http, notify, state
@on_event
def handle(event):
body = event.json or {}
data = body.get("data", {})
if body.get("event") != "message:send" or data.get("from") != "user":
return {"skipped": body.get("event")}
session = data["session_id"]
if state.get(f"seen:{session}"):
return {"skipped": "not the first message"}
auth = base64.b64encode(f"{credentials.secret('CRISP_IDENTIFIER')}:{credentials.secret('CRISP_KEY')}".encode()).decode()
meta = http.get(f"https://api.crisp.chat/v1/website/{body['website_id']}/conversation/{session}/meta",
headers={"Authorization": f"Basic {auth}", "X-Crisp-Tier": "plugin"}).json()["data"]
notify.email_me(f"New chat from {meta.get('email') or meta.get('nickname')}",
f"Email: {meta.get('email', 'not given')}\n\n{data.get('content')}")
state.set(f"seen:{session}", True)
return {"emailed": True}FAQ
Common questions
Does it alert on every message?
Can I get a Slack message instead of email?
How do I connect Crisp?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Get reminded about unresolved Crisp chats
Every morning you get a list of chats that have been waiting more than a day.
See how it worksGet a daily summary of your Crisp chats
Each evening you get the main topics people raised that day and a list of chats still unresolved.
See how it worksPost new orders and sign-ups to Slack
When something happens in your shop, app or form, the details land in the right channel straight away.
See how it worksKeep exploring
Set up “Get an email when a visitor starts a Crisp chat” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
