The moment it happens
Let visitors ask about your CV, with a daily summary by email
Visitors to your site can ask questions about your experience and get answers from your CV, and you get an email summarising each day's conversations.
- Runs
- The moment it happens
- Apps
- Gmail, Pinecone
- AI
- Yes, uses the built-in AI allowance
- Access
- Pinecone read; gmail.send
Send this to your assistant
Create a ClickRuntime automation: when my website chat sends a question to this link, answer it from my CV in Pinecone and send the answer back to the chat. Every evening, email me a summary of the day's conversations.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Recruiters and clients visiting a portfolio site often have one quick question, such as whether you have worked with a certain tool or in a certain industry. If the answer is buried in a PDF, many leave instead of asking.
Freelancers, consultants and job seekers use it to answer visitors' questions accurately from their own CV, and to learn each day who was interested and what they wanted to know.
What you get out of it
Questions answered on the spot
Visitors get an answer straight away instead of searching a PDF.
Accurate to your CV
Answers come only from what your CV says, so nothing is overstated.
Know who was interested
The evening email shows what visitors asked, which hints at what roles or projects are in play.
One summary, not a stream
You get one email a day rather than a notification for every message.
How it works
What happens, step by step
When a visitor asks a question, your chat widget sends it to your automation's link.
Your CV in Pinecone is searched for the most relevant parts.
AI answers using only those parts, and the answer is sent back to the chat.
Each question and answer is kept until evening, when you get one email summarising the day's conversations.
Before it runs live
- Connect Google through your own Google app (a one-time, 10-minute setup), so it works with your own Gmail
- Connect Pinecone
- 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
- Change what the AI looks for, or how it writes the result
- Add another app, for example also send it to Slack
- Combine it with other Gmail and Pinecone steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, on_trigger, credentials, http, state, notify, ai
REPLY_URL = "https://chat.example.com/api/reply" # your chat widget's reply link
HOST, NS = "https://kb-abc123.svc.aped-1234.pinecone.io", "cv" # your index host and namespace
def search(text, k=5):
r = http.post(f"{HOST}/records/namespaces/{NS}/search", json={"query": {"inputs": {"text": text}, "top_k": k}}, headers={
"Api-Key": credentials.secret("PINECONE_API_KEY"), "X-Pinecone-API-Version": "2025-04"}).json()
return [h["fields"] for h in r["result"]["hits"]]
@on_event
def handle(event):
q, session = str((event.json or {}).get("message", ""))[:500], (event.json or {}).get("session_id")
cv = "\n".join(h["chunk_text"] for h in search(q, 4))
answer = ai.generate(f"Answer this visitor's question about Alex's CV using only this text. If it isn't covered, say so and "
f"suggest emailing Alex.\nCV:\n{cv}\n\nQuestion: {q}", max_output_tokens=250).text
http.post(REPLY_URL, json={"session_id": session, "text": answer})
state.set("turns", (state.get("turns") or []) + [f"Q: {q}\nA: {answer}"])
return {"answered": True}
@on_trigger
def summarise(event):
turns = state.get("turns") or []
if turns:
notify.email_me(f"CV chat: {len(turns)} questions today", ai.generate("Summarise what visitors wanted to know, in a few bullets:\n"
+ "\n\n".join(turns)[:20000], max_output_tokens=400).text + "\n\nFull log:\n\n" + "\n\n".join(turns))
state.set("turns", [])
return {"questions": len(turns)}FAQ
Common questions
Which chat tools work?
What if someone asks something not in my CV?
Are conversations kept?
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
Send new sign-ups a welcome email matched to what they need
Each new customer gets a personal welcome email from your Gmail that points to the product features most relevant to them.
See how it worksDraft email replies from your knowledge base
Customer emails get an accurate draft reply in Gmail, written from the docs you keep in Pinecone.
See how it worksScore job alert emails against your CV
Every hour new job alert emails are compared with your CV, and you get a short email listing the roles worth applying for, with a score and reason.
See how it worksKeep exploring
Set up “Let visitors ask about your CV, with a daily summary by email” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.