Each prompt includes recommended filters and formatting instructions to help you get more accurate results.
How to Use
YOY Agent GCI Comparison
Compare agent Gross Commission Income year-over-year using closed transaction dates.
➡️ [MCP Prompt: Year Over Year Agent GCI Comparison]
"For brokerage [X] on Loft47 Production, compare each agent's Gross Commission Income — defined as total commission before deductions (totalCommissions) — year-over-year using closedAt as the date field: Jan 1 through today's date, vs. the same period last year. Group by agent, show total GCI for each period, the dollar change, and the % change. Exclude voided and collapsed deals. Sort by % change descending."
If user actually wants the net-of-split definition instead, they'd swap that clause to: "defined as net commission after brokerage split."
Monthly Production Review
Review monthly brokerage production, including sales volume, GCI, units closed, and top producing agents.
➡️ [MCP Prompt: Monthly Production Review]
"For brokerage [X] on Loft47 Production, review this month's production using closedAt as the date field — the 1st through today (or last day of month if reviewing a completed month). Include: total sales volume, total Gross Commission Income (GCI, defined as total commission before deductions), units closed, and the top 5 agents by GCI. Exclude voided and collapsed deals. Group agent totals by office if the brokerage has multiple offices."
Agent Activity Review
Identify agents with no closed deals within a selected timeframe.
➡️ [MCP Prompt: Agent Activity Review]
"For brokerage [X] on Loft47 Production, list all active agents who have zero closed deals between [start date] and [end date], using closedAt as the date field. Include agents with no deals in any status during that window, not just no closed ones — flag whether they have deals in conditional or firm status that just haven't closed yet, versus agents with no activity at all. Exclude terminated/inactive agent profiles from the list."
💵 My Earnings This Month & Year
Show an individual agent how much they've actually been paid out, month-to-date and year-to-date.
➡️ [MCP Prompt: Agent Earnings by Month & Year]
"For brokerage [X] on Loft47 Production, show all commission payouts transacted to [agent name] for two periods: month-to-date (1st of this month through today) and year-to-date (Jan 1 through today), using transactedAt as the date field. For each period, show total gross commission, total deductions, and net amount paid out. Exclude voided and collapsed deals."
conditional or firm and an expected closing date (closedAt) between [start date] and [end date]. Include property address, sales price, current approval state, and estimated GCI (defined as total commission before deductions, if available). Sort by closing date ascending. Exclude voided and collapsed deals."Brokerage Income Deduction Analysis
Review brokerage income deductions by agent and compare changes over time.
➡️ [MCP Prompt: Brokerage Income Deduction Analysis]
"For brokerage [X] on Loft47 Production, show income deductions — deductions where deductionType=income — grouped by agent and deduction template name, using closedAt as the date field for [start date] through [end date]. Compare totals to the same-length period immediately prior (or the same period last year, whichever comparison you want), showing dollar change and % change per agent and per deduction type. Exclude voided and collapsed deals."
Closed Deals by Title Company
Analyze closed transaction activity by title company, agent, and sales volume.
➡️ [MCP Prompt: Closed Deals by Title Company]
"For brokerage [X] on Loft47 Production, list all closed deals between [start date] and [end date] using closedAt as the date field, grouped by title company, then by agent, showing count of deals and total sales volume for each grouping. Exclude voided and collapsed deals."
Closing Forecast
Review upcoming closings and estimated commission income.
➡️ [MCP Prompt: Closing Forecast]
"For brokerage [X] on Loft47 Production, show all deals with a closing date (closedAt) between [start date] and [end date] that haven't closed yet — status conditional or firm. Include property address, agent(s), sales price, and estimated Gross Commission Income (GCI, defined as total commission before deductions). Sort by closing date ascending. Exclude voided and collapsed deals."
allowDealCreation to [true/false] for all agents at brokerage [ID] in [staging/production] via the Loft47 MCP UpdateProfile tool. Find deals paying out (or queued to pay out) from an archived bank account
➡️ [MCP Prompt: Find deals with pending payouts still tied to an archived bank account after a brokerage bank account switch
For brokerage [BROKERAGE_ID] on Loft47 [Production], the brokerage recently switched bank accounts — the old account was archived, and Payload/Xero/QBO have been remapped to the new account. I need to find any deals that still have pending (unpaid) payouts tied to the old archived account, since these are live risks that will misfire if paid out as-is.
Background — why this happens: The bank account mapping gets stamped onto a payout record at the time the deal/payout is created, not refreshed later when the deal actually closes and pays out. So any deal created before the account switch — even if it doesn't close and pay until weeks or months later — can still carry the stale, archived mapping on its payout record. Fixing Payload/Xero/QBO doesn't retroactively fix this, because those control the external processor connection, not the already-saved field on existing payout records. This is not agent-specific — it depends purely on when the underlying deal/payout record was created.
Step 1 — Identify the archived account's internal ID and the active account's ID (required — these IDs are NOT shared across brokerages, so this must be redone for each brokerage):
ListBankAccounts/GetBankAccountmay return empty/404 even when the account clearly exists in the UI — don't assume the account doesn't exist.- The Chart of Accounts GL number (e.g. "1002") is not the API ID — it's just the accounting code.
- To find the real ID: find a known transaction on the archived account's ledger in the Loft47 UI (agent, amount, deal number), then match that same payout via
ListDealPayoutson the corresponding deal. ThebankAccountMapping.id(orbankAccount.id) on that payout is the real ID. Do this for both the archived and the active account.Step 2 — Find every deal brokerage-wide with a real outstanding payout balance (no date range needed):
- Run
ListDealsfiltered bybrokerage_id,filter_financials_payout_remaining=0.01,9999999,sale_statusin (conditional, firm, closed).- This surfaces every deal with a genuine unpaid payout balance in one shot. Ignore small negative balances like -$40/-$80 — those are unrelated admin fee residuals, not real outstanding payouts.
Step 3 — Check each result's payouts:
ListDealPayoutsper deal (no bulk endpoint exists).- Flag any payout where
paid: falseANDbankAccountMapping.idmatches the archived account's ID — these are live risks.- Also note any already-paid payouts matching the archived ID — these are historical/reconciliation issues only, lower priority.
Step 4 — Report: deal number, full deal number, payee name, payout ID, amount, and paid/pending status for every match.
Step 5 — Fix (if requested):
UpdateDealPayout(brokerage_id, deal_id, id, data.attributes.bankAccountMappingId) can update the mapping on a still-pending payout before it processes. Confirm with the user before making changes — they may prefer to fix manually and have you re-verify after.
More Prompts Coming Soon
Additional MCP prompt templates will be added as new reporting needs and use cases are identified.