Weekly Addepar capital call and distribution tracker

By General Input

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.

Integrations

  • Addepar
  • Google Sheets
  • Slack

Type

Deterministic Code

Categories

  • Finance
  • Operations

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.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageWin back LiveChat visitors whose chats went unansweredLet support send one-off Loops emails without an engineerStop cold emails to anyone with a live deal in PipedriveiMessage campaign console with pre-flight checks and delivery boardChat quality review board for LiveChat support leadsLinkedIn Ads budget pacing dashboard for every client accountFront desk appointment confirmation board for the next 3 daysGive your team Looker numbers without buying more seats