Juniper Square is the category-defining investor management and fund administration platform for institutional-grade CRE GPs, fund managers, and limited partners. It consolidates the full investor lifecycle — from fundraising CRM and online subscription documents, through capital call issuance and ACH/wire collection, waterfall distributions, fund accounting, K-1/tax document delivery, and a white-labeled LP portal — into a single enterprise system of record used by thousands of investment firms managing hundreds of billions in real estate assets.
Juniper Square was built specifically for real estate private equity — its waterfall engine, fund accounting module, and LP portal reflect the actual economics of CRE deals: preferred-return hurdles, catch-up provisions, promoted-interest splits, draw-based capital calls for development projects, and per-asset vs. fund-level reporting. These are not generic private-equity features: they are the mechanics GPs running value-add, core-plus, ground-up development, and closed-end fund strategies encounter on every deal.
Security, compliance, and vendor evaluation frameworks for AI operations
Automate document collection, deadline tracking, and stakeholder updates
Real-time dashboard showing deal progress and expected commissions
Discover how Juniper Square powers real estate automation workflows
A fully branded, white-labeled investor portal where each LP accesses their commitment history, capital account statements, capital call notices, distribution records, K-1s, and quarterly reports. Supports custom domains, your firm's logo, and SSO-based access.
LPs investing in illiquid CRE vehicles need ongoing visibility without burdening the GP team. When Juniper Square's portal is running, LPs stop emailing IR staff for routine queries — 'What is my current NAV?', 'When does the next distribution hit?', 'Where is my K-1?' — because the portal answers these 24/7. Via the API, your automation layer can send LP-specific portal access links automatically the moment a subscription is confirmed.
Get a personalized plan for your tech stack
Ready-to-deploy workflows powered by Juniper Square + NextAutomation
When a GP issues a capital call in Juniper Square for a new acquisition draw or fund capital call, Juniper Square fires a webhook event (via partner API once provisioned). n8n catches the event, fetches each LP's commitment amount and pro-rata draw from the Juniper Square API, passes that data to an AI node to draft a personalized capital-call cover letter (correct dollar amount, due date, property context, and wire instructions), and sends each LP a branded email via SendGrid. Three business days before the due date, n8n queries Juniper Square for payment status and sends automated reminders only to LPs with outstanding balances. On due-date close, unresolved LPs are flagged to the GP team in Slack for personal follow-up.
1Juniper Square fires capital_call.created webhook with fund ID, call amount, per-LP draw schedule, and due date
2n8n fetches LP roster and per-LP draw amounts from Juniper Square partner API
3AI node (Claude via API) drafts individualized capital-call cover letter per LP with correct amounts, due date, property context, and GP signature block
4SendGrid sends personalized capital-call email to each LP with wire instructions PDF attached
Capital calls go from a full-day manual production to a 20-minute GP review-and-approve flow. LPs receive professional, personalized notices immediately when the call is issued. Payment-chase automation eliminates manual wire-confirmation inbox-monitoring for the GP team.
Connect Juniper Square to your workflows with powerful triggers and actions
Fires when a new capital call is issued in Juniper Square for any fund or deal (via partner API once provisioned). Payload includes fund ID, call amount, per-LP draw schedule, due date, and payment instructions.
Trigger AI-personalized LP capital-call notices and automated payment reminders the moment a call is issued in Juniper Square.
Fires when a distribution event is finalized in Juniper Square and per-LP waterfall amounts are confirmed (via partner API once provisioned).
Send each LP a personalized distribution announcement with their exact amount, tax character, and investor portal link — same day as the wire.
Fires when an LP's status in Juniper Square's fundraising CRM changes (e.g., prospect → soft-circled → subscription sent → committed → funded) — via partner API once provisioned.
When an LP moves to 'subscription_sent', trigger a personalized GP welcome email and automated subscription follow-up sequence.
Fires when Juniper Square confirms an LP's wire or ACH payment has been received and reconciled against their outstanding capital call — via partner API once provisioned.
Send the LP an automated payment confirmation and update the deal's funded-equity tracker in your asset-management system.
Fires when an LP completes and e-signs their subscription agreement in Juniper Square's digital onboarding flow — via partner API once provisioned.
When subscription is complete, update LP stage in HubSpot to 'Committed', notify GP team in Slack, and enroll LP in pre-close investor communications sequence.
Fires when a K-1 or other annual tax document is published to an LP's investor portal account — via partner API once provisioned.
Send each LP a personalized notification that their K-1 is available in the portal, with a direct link and a brief AI-drafted note explaining what the K-1 covers.
Fires when a quarterly statement batch is published to the investor portal for a given fund — via partner API once provisioned.
Send each LP a personalized email notification that their quarterly capital account statement is available, with a direct portal link.
Retrieve an LP's current capital account summary from Juniper Square: beginning NAV, contributions to date, distributions received, ending NAV, and unrealized value — via partner API once provisioned.
Pull per-LP capital account data at quarter close to pre-populate the AI drafting node for personalized LP quarterly update narratives.
Retrieve the full LP roster for a specific fund, including each LP's commitment amount, funded status, and investor portal access state — via partner API once provisioned.
Fetch the LP roster before a capital call to pre-populate AI drafting nodes with accurate per-LP draw amounts and contact details.
Retrieve full capital call data — total amount, per-LP breakdown, due date, and current payment status — for use in downstream automation nodes — via partner API once provisioned.
Two days before a capital call due date, fetch payment status for all LPs and send automated reminders only to those with 'pending' status.
Retrieve per-LP distribution amounts, tax-character split (income vs. return of capital), disbursement method, and cumulative distribution history for a completed distribution event — via partner API once provisioned.
After a distribution is posted, fetch per-LP amounts to personalize each LP's distribution announcement with the correct dollar figure and tax-character note.
Update an LP's fundraising CRM stage in Juniper Square (prospect, soft-circled, subscription sent, committed) via the partner API once provisioned.
When an LP confirms a soft-circle via email and the GP's AI follow-up system captures their intent, automatically update their Juniper Square CRM stage and trigger the subscription document workflow.
Upload and publish a GP-approved document (quarterly report, distribution notice, fund update) to the Juniper Square investor portal for a specific LP or all LPs in a fund — via partner API once provisioned.
After GP review and approval of AI-drafted quarterly LP reports, programmatically publish approved reports to each LP's portal account without logging into the Juniper Square dashboard.
Get started in approximately Partner/API provisioning by Juniper Square: several business days (not in your control). Once provisioned: 2-3 hours for API connection, first webhook workflow, and SendGrid integration; additional 3-4 hours for full capital-call automation and fundraising CRM-to-HubSpot sync.
The most important step, and the one that gates everything else: contact your Juniper Square customer success manager (or reach out at junipersquare.com) to request partner integration or API access for your account. This is not a self-service toggle in your dashboard — Juniper Square provisions API access through their partner program, and provisioning typically takes several business days. Once provisioned, you will receive API credentials (API key or OAuth2 client credentials) and documentation for your specific account configuration.
Request API access as early as possible in your Juniper Square onboarding. If you are evaluating the platform, ask about API access during the sales process so provisioning is complete before you are ready to build automation workflows. Do not build workflows against the Juniper Square UI without API access confirmed — there is no supported screen-scrape path.
Once Juniper Square has provisioned your API credentials, store them securely in n8n's credential vault. Create a new HTTP Header Auth credential named 'Juniper Square API — Production' with the Authorization header value set to 'Bearer {your-api-key}'. Never hard-code credentials in workflow nodes. If Juniper Square issues OAuth2 credentials, use n8n's OAuth2 credential type with the token URL and client credentials your Juniper Square team provides.
Store a second 'Juniper Square API — Sandbox' credential pointing to any sandbox environment Juniper Square provides. Always test workflow changes in sandbox before applying them to production fund data.
In your Juniper Square account settings (or via your CS team during partner onboarding, depending on your provisioning tier), register your n8n Webhook node URLs as endpoints for the events you want to consume: capital_call.created, distribution.posted, investor.status_changed, document.completed, k1.published. Use n8n's Webhook trigger node with Response Mode set to 'Immediately' so Juniper Square receives a 200 ACK before your workflow processes the event payload.
Test each webhook endpoint by having your Juniper Square CS team fire a test event in your sandbox environment. Confirm the n8n workflow receives and correctly parses the payload before building downstream nodes. Webhook payloads vary by event type — inspect actual payloads rather than relying solely on documentation.
Before building complex workflows, confirm your API credentials and network routing are correct with a simple read call. In n8n, add an HTTP Request node with Method = GET, URL = {your Juniper Square API base URL}/v1/investors or /v1/funds (verify the correct endpoint path with your Juniper Square CS team), and Authentication = Header Auth using your stored credential. Execute the node — it should return fund or investor data. A 401 means your credential is incorrectly formatted; a 403 means your account lacks the required permission scope.
Run this connectivity test on day one of partner API access, before building any automation. A successful read call confirms credentials, permission scopes, and network routing are all correctly configured.
Your first production workflow: Webhook trigger (capital_call.created) → HTTP Request node (fetch LP roster from Juniper Square API) → AI node (draft personalized LP notice per LP) → SendGrid node (send emails). Build and test against your Juniper Square sandbox with a test capital call. Trace the event through each node, confirm per-LP data is correctly mapped, and verify AI-drafted content before enabling in production.
Build the LP-notice email template in SendGrid's dynamic template editor with Handlebars variables ({{lpName}}, {{callAmount}}, {{dueDate}}) rather than assembling raw HTML in n8n. This keeps your email design in one place and makes GP branding updates easy without touching the workflow.
Set up a bidirectional sync using n8n: Juniper Square investor status changes (soft-circled, subscription sent, committed) sync to corresponding HubSpot deal stages, and HubSpot engagement data (email opens, deck-link clicks) can be logged as activity notes on the Juniper Square investor record. Use n8n's Schedule trigger to poll Juniper Square for CRM status changes at a defined interval if your partnership tier does not include CRM webhook events.
Store the Juniper Square investor ID as a custom HubSpot contact property so the two systems remain linked even when LP contact details change. This foreign-key pattern is essential for bidirectional sync reliability across the LP lifecycle.
Common questions about Juniper Square integration
Explore other tools that work great with your workflow
Get a free AI roadmap showing how to connect Juniper Square with your existing tools for maximum impact.
Get Your Free AI Roadmap