Nightly client meeting prep briefing from Addepar

Every weekday at 6pm, get a one-page portfolio briefing for tomorrow's client meetings emailed to you before you head home.

Agentic Task
AddeparGoogle CalendarGmailFinancePersonal ProductivityMeeting WorkflowsAI ReportsEmail Automation
PromptCreate

Every weekday at 6pm in my local timezone, prep a portfolio briefing packet for tomorrow's client meetings and email it to me so I walk in ready. Use an agent workflow because the steps depend on what you find (which meetings are external, which attendees match a household, which trades are notable).

Step 1 — pull tomorrow's schedule. Use Google Calendar List Events on my primary calendar for tomorrow's date in my timezone (timeMin = tomorrow 00:00, timeMax = tomorrow 23:59, singleEvents=true, orderBy=startTime). Skip cancelled events, all-day events, and any event where every attendee shares my own email domain (that is what internal-only means here). If no external client meetings remain, stop the run without sending an email.

Step 2 — match each external meeting to an Addepar household. For each remaining event, collect the external attendees (name + email). For each attendee, try to match to an Addepar entity using List Entities with a filter on email first, then a name search if no email match. Confirm the specific record with Get Entity to grab the household / top-level owner. If more than one entity plausibly matches, do NOT guess: record the candidates and flag the meeting as an ambiguous match at the top of that briefing section. Misattribution in a wealth context is high-cost, so surfacing ambiguity is the whole point.

Step 3 — for each matched household, pull the numbers. Use Get Portfolio View Results against a saved Analysis Portfolio View I use for client reviews (the workflow should let me configure which saved view to run, and default to my most-used one). Ask the view for YTD and QTD periods so it returns return versus benchmark and allocation versus target already computed on Addepar's side. Then use List Positions for the household to get the largest current positions by market value, and Query Transactions for the last 90 days filtered to that household to surface material transactions (large buys/sells, contributions, distributions, fee events).

Important Addepar constraints to bake in: any single request over 60 seconds returns an error, and the firm-wide limit is 50 requests per 15-minute window. That is why we lean on Portfolio Views (server-computed) rather than assembling positions and computing returns client-side, and why the workflow should sequence Addepar calls carefully and honor 429 responses with the X-RateLimit-Retry-After header. Every Addepar call also needs the Addepar-Firm header from the credential.

Step 4 — compose a one-page briefing per meeting. Each section should include: meeting time and attendees; the matched household (or an ambiguity flag with the candidate names if uncertain); YTD and QTD return versus benchmark; top 5 to 10 current holdings by market value; allocation versus target (over/underweights worth calling out); notable transactions in the last 90 days with dollar amount and date; and two or three suggested talking points grounded in what the numbers show (e.g., 'concentration in single stock X above policy', 'RMD deadline approaching', 'cash drag from recent distribution not yet reinvested'). Keep the tone advisor-facing and concise — this is a briefing, not a client-ready report.

Step 5 — deliver the digest. Group all of tomorrow's client meetings into a single email and send it to me via Gmail Send a Message (base64url-encoded RFC 2822). Subject should be something like 'Client briefings for Tue, Jul 14 (3 meetings)'. Order sections by meeting start time. Put any ambiguous-match warnings at the very top so I see them first. If no external meetings were on tomorrow's calendar, do not send an email at all.

What does this prompt do?

  • Reads tomorrow's meetings from your Google Calendar and skips internal-only sessions.
  • Matches each external attendee to their Addepar household, and flags ambiguous matches instead of guessing.
  • Pulls performance versus benchmark, top holdings, allocation versus target, and recent notable trades for each client.
  • Emails you a single evening digest with a one-page briefing per meeting so you walk in prepared.

What do I need to use this?

  • An Addepar login with access to the households you cover and at least one saved Portfolio View you use for client reviews
  • A Google Calendar where tomorrow's client meetings live
  • A Gmail account to receive the evening briefing digest

How can I customize it?

  • Change the send time (default 6pm on weekdays) or the recipient email if you want a partner or associate to receive the packet too.
  • Point it at a different saved Addepar Portfolio View, or tune the transaction lookback window (default 90 days).
  • Tighten the rules for what counts as an internal meeting, and adjust how many talking points each briefing should include.

FAQs

How does it know which household an attendee belongs to?
It matches attendees to Addepar entities by email first, then by name if no email match is found. When more than one household could plausibly match, the briefing calls that out at the top of the section instead of picking one, so you can confirm before the meeting.
Will it include internal team meetings or one-on-ones with colleagues?
No. Meetings with only internal attendees are skipped so the digest stays focused on client-facing sessions. You can adjust the internal-domain list if you cover multiple firms.
What does each briefing actually cover?
A one-page snapshot per meeting: year-to-date and quarter-to-date return versus benchmark, largest current positions, allocation versus target, notable transactions in the last 90 days, and two or three suggested talking points.
Why pull the numbers from a saved Portfolio View instead of raw positions?
Saved Portfolio Views are computed on Addepar's side against your firm's benchmarks and analysis settings, which keeps the numbers consistent with what the client already sees in review meetings and stays inside Addepar's request limits.
What if I have several client meetings tomorrow?
You get one email with a briefing section for each meeting, ordered by start time. If nothing external is on the calendar, no email is sent.

Related templates

Auto-fix your calendar when a flight slips, and flag what's at risk

When your flight moves, your calendar times get corrected automatically and you get a Slack note naming the meetings you're about to miss.

Google Calendar
AviationStack
Slack
Agentic Task
Trace phishing emails to the sending IP and report abuse

Every 15 minutes, forwarded phishing reports get traced back to the server that really sent them, with a verdict in Slack and the worst senders reported.

AbuseIPDB
Gmail
Slack
Agentic Task
Turn each week's football fixtures into a venue staffing plan

Every Monday, rank the week's matches by expected demand, put the big ones on your venue calendar, and post a rota-ready summary to Slack.

API-Sports
Google Calendar
Slack
Agentic Task
Weekly flight risk brief for trips your team already booked

Every Thursday, rank your team's upcoming flights by how likely they are to run late, and email the fixes while changes are still cheap.

AeroDataBox
Airtable
Gmail
Agentic Task
Warn customers before their saved card expires and billing fails

Each month, spot the saved cards about to expire, email the customers still on recurring billing, and rank the revenue at risk in Slack.

Authorize.Net
Gmail
Slack Bot
Agentic Task
Auto-correct address typos and hold the orders you can't fix

Every weekday morning, harmless address typos get fixed on unshipped orders, and anything undeliverable is held while the customer confirms it.

Shippo
Shopify
Gmail
+1
Agentic Task

Walk into every client meeting prepared.

Turn tomorrow's calendar and your Addepar data into a one-page briefing per meeting, delivered before you leave for the day.