Daily
Get a Pipedrive brief by email before each sales meeting
Each morning you get one email with the deal stage, value, recent notes and past activities for everyone you're meeting that day.
- Runs
- Daily
- Apps
- Gmail, Pipedrive
- AI
- Yes, uses the built-in AI allowance
- Access
- Pipedrive read; Gmail send
Send this to your assistant
Create a ClickRuntime automation: every morning, look at today's meeting activities in Pipedrive and email me a short brief for each one with deal stage, value, last notes and recent activities.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
An account executive has five calls on Tuesday. Before each one she opens Pipedrive, finds the person, clicks into the deal, scrolls through notes from the last three months and tries to remember what was promised. With calls back to back, the later ones get no preparation at all, and the prospect notices.
This automation does the preparation before the day starts. It finds today's meetings in Pipedrive, gathers the deal, notes and recent activities for each, and has AI condense them into a short brief per meeting, sent to your inbox from your own Gmail. You read it with your coffee and go into every call knowing where things stand.
What you get out of it
Every meeting is prepared for
Even the fourth call of the day starts with the deal stage, value and last conversation in front of you.
One email instead of many tabs
All of the day's meetings are summarised in one message, in time order.
Open questions are not forgotten
Recent notes are condensed into what was discussed and what was promised, so follow-ups are not dropped.
Works on your phone
The brief is an ordinary email, easy to read between meetings or on the way to one.
Quiet days stay quiet
If there are no meetings in Pipedrive for the day, no email is sent.
How it works
What happens, step by step
Every morning at the time you choose, ClickRuntime looks up today's meetings in Pipedrive.
For each meeting it gathers the deal stage and value, the latest notes and recent activities.
AI condenses each meeting's history into a short brief with open points to cover.
The briefs are sent to you as one email from your Gmail, and nothing is sent on days without meetings.
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 Pipedrive
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
- Run it at a different time, more or less often, or only on weekdays
- 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 Pipedrive steps into one automation
Under the hood
The code that runs this automation
import base64
from datetime import date
from email.message import EmailMessage
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_trigger, credentials, http, ai
API = "https://api.pipedrive.com"
ME = "me@example.com"
@on_trigger
def run(event):
headers = {"Authorization": f"Bearer {credentials.connection('pipedrive', 'work')}"}
today = date.today().isoformat()
meetings = [a for a in http.get(f"{API}/v1/activities", headers=headers, params={"type": "meeting", "start_date": today, "end_date": today, "done": 0}).json()["data"] or [] if a.get("deal_id")]
if not meetings:
return {"meetings": 0}
parts = []
for m in meetings:
deal = http.get(f"{API}/api/v2/deals/{m['deal_id']}", headers=headers).json()["data"]
notes = http.get(f"{API}/v1/notes", headers=headers, params={"deal_id": m["deal_id"], "limit": 5, "sort": "add_time DESC"}).json()["data"] or []
parts.append(f"{m.get('due_time')} {m['subject']} | deal {deal['title']} {deal['value']} {deal['currency']} stage {deal['stage_id']}\n" + "\n".join(n["content"][:400] for n in notes))
brief = ai.generate("Write a short pre-meeting brief for each meeting: who, deal, where it stands, open points.\n\n" + "\n\n".join(parts), max_output_tokens=1200).text
msg = EmailMessage()
msg["To"], msg["Subject"] = ME, f"Today's meetings: {len(meetings)}"
msg.set_content(brief)
gmail = build("gmail", "v1", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False)
gmail.users().messages().send(userId="me", body={"raw": base64.urlsafe_b64encode(msg.as_bytes()).decode()}).execute()
return {"meetings": len(meetings)}FAQ
Common questions
Where does it find my meetings?
How long is each brief?
What time does it arrive?
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
Sort lead replies in Gmail into Pipedrive follow-ups
Replies from Pipedrive contacts are tagged by intent and urgency, logged on their deal with a follow-up activity, and hot ones are flagged in Slack.
See how it worksAdd website form leads to Pipedrive and email them a thank-you
Each form submission becomes a person and a deal in Pipedrive, and the lead gets a confirmation email from your Gmail straight away.
See how it worksGet a daily news digest in Slack
Each morning your team gets a short summary of what's new on the sites and blogs you follow.
See how it worksKeep exploring
Set up “Get a Pipedrive brief by email before each sales meeting” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
