Weekly Addepar capital call and distribution tracker

Every Monday at 8am, log every alt fund commitment, called capital, and distribution to a Google Sheet and post a Slack summary of last week's calls, near-full commitments, and stale positions.

Deterministic Code
AddeparGoogle SheetsSlackFinanceOperationsDaily DigestsData SyncNotifications & Alerts
PromptCreate

Every Monday at 8am, track alternative investment capital calls and distributions across the firm's private fund holdings in Addepar and land the results in Google Sheets and Slack. This is deterministic: filter, sum, format. Build it as a code workflow with a weekly cron trigger (Addepar is not in pollProviders and has no outgoing webhooks, so cron is the only option).

Step 1. Enumerate alt fund holdings in Addepar. Use Addepar List Entities to pull entities scoped to private equity, venture, hedge fund, and private credit fund positions (filter by the entity type / asset class attributes exposed by the firm's Addepar setup). Capture entity id, household / owner, fund name, commitment amount, and any funding schedule attributes the firm tracks.

Step 2. Pull last 30 days of activity per position. Use Addepar Query Transactions across the last 30 days for each holding to surface capital call, contribution, and distribution activity. Group inflows (contributions and capital calls) separately from outflows (distributions).

Step 3. Get current commitment vs called vs remaining. Use Addepar Query Portfolio Data to get commitment, called-to-date, and remaining commitment per fund position as of the run date. Join this back to the entity list from step 1 by entity id.

Step 4. Write the deterministic tracker to Google Sheets. Use Append Values against the configured Google Sheet, one row per fund holding, with columns: household, fund name, asset class, commitment, called-to-date, remaining commitment, last capital call date, last distribution date, next expected call date (only when a funding schedule is known, otherwise leave blank), and the run date. Do not summarize or reword; the sheet is the audit trail.

Step 5. Post a Slack summary. Use Slack Send a Message to the configured operations channel calling out three sections: (1) new capital calls that hit in the last 7 days (household, fund, amount, date); (2) funds more than 90 percent committed (household, fund, called-to-date / commitment, percent committed); (3) holdings with no activity in over 12 months that may need reconciliation (household, fund, last activity date). If any section is empty, say so explicitly rather than dropping the header.

Operational notes for the author. Addepar has a 60-second sync timeout and a 50 requests per 15 minute rate limit per firm. For firms with many alt positions, batch entity queries and consider Submit Async Portfolio Job for the portfolio-data step so a large firm's Monday run doesn't hit the timeout or the rate cap. Send the required Addepar-Firm header on every call. The workflow should be idempotent per run date, so if it's re-run on the same Monday it doesn't double-post to Slack (dedupe by run date + fund position when appending, or scope the Slack send to once per run).

Configuration surfaces to expose to the user: the target Google Sheet (spreadsheet id and tab name), the target Slack channel, the 90 percent commitment threshold, the 12-month stale-activity threshold, and optionally a household or asset-class filter so a subset of the firm can run their own copy.

Additional information

What does this prompt do?
  • Pulls your private equity, venture, hedge fund, and private credit holdings from Addepar every Monday morning.
  • Adds one row per fund position to a shared Google Sheet with commitment, called-to-date, remaining commitment, and last activity dates.
  • Posts a Slack summary flagging new capital calls that hit last week, funds more than 90 percent committed, and holdings with no activity in over 12 months that may need reconciliation.
What do I need to use this?
  • An Addepar login with access to portfolio and transaction data
  • A Google Sheet you want the tracker written to
  • A Slack channel where the Monday summary should be posted
How can I customize it?
  • Change the cadence (weekly, daily, or monthly) or the time of day.
  • Adjust the thresholds we call out in Slack (the 90 percent committed line and the 12-month stale line).
  • Point at a different Google Sheet or Slack channel, or narrow to specific households or asset classes.

Frequently asked questions

What kinds of holdings does this cover?
Private equity, venture capital, hedge fund, and private credit fund positions the connected Addepar user can see. Liquid public positions are ignored so your alts ops view stays clean.
Will it duplicate rows if I run it every Monday?
Each Monday's run appends a fresh row per fund position, so you get a running week-by-week history in the sheet. If you'd rather overwrite the previous week's snapshot in place we can wire that up.
How does it decide what counts as a capital call vs a distribution?
It uses the transaction activity Addepar records against each alt fund position over the last 30 days, splitting inflows (contributions and capital calls) from outflows (distributions).
Does this replace the capital call notice from the fund administrator?
No. It reconciles what's already been booked in Addepar so your ops team sees calls, commitments, and stale positions in one weekly view alongside the notices they get from GPs.
We have hundreds of alt positions. Will this hit rate limits?
Addepar limits how many requests can happen in a short window, so for large firms the workflow batches entity queries and can be switched to an asynchronous portfolio run for the heavy lifts.
Can we get the summary as an email instead of Slack?
Yes. Swap the Slack step for Gmail or Outlook and the same summary lands in your inbox.

Stop chasing capital calls across spreadsheets.

Get one Monday view of every alt fund commitment, called capital, and distribution, plus a Slack heads-up the moment calls hit or a fund runs near full.