?
Loading…
🔒 This feature is not included in your current plan.

Welcome back

Your wealth operations platform is ready. Use the navigation to manage policies, contacts, and reports.

Policies
Contacts
Active Loans
Carriers

Users

Manage team members and their access roles

Team members
Name Email Org Role Status Auth Last login
Loading…

Organizations

Manage advisory firms using Ledgr as tenants

All organizations
Name Slug Status Tier Billing Users Created
Loading…

Scenarios

Build prospect illustrations and compare carrier/product blends side-by-side

No scenarios yet

Create your first scenario to start comparing carrier and product options.

Microsoft Teams

Channel notifications, query bot, and delivery monitoring for your Teams workspace

Not configured
💡
Ledgr sends Adaptive Card notifications to Teams channels via Incoming Webhooks, and supports an optional Query Bot that team members can @ mention to pull live data. Complete the steps below to get started.
1
Create an Incoming Webhook in Teams
Required for notifications — takes about 2 minutes
  1. Open Microsoft Teams and navigate to the channel where you want notifications
  2. Click the ⋯ More options menu next to the channel name
  3. Select Connectors (or Manage channel → Connectors)
  4. Search for Incoming Webhook and click Add → Configure
  5. Give it a name like Ledgr Alerts and click Create
  6. Copy the webhook URL — you'll paste it when adding a notification rule
Note: Create one webhook per channel. You can add multiple rules pointing to different channels from the Notification Rules tab.
2
Add a Notification Rule
Configure which events fire to which channels

Go to the Notification Rules tab and click + Add Rule. Paste your webhook URL, choose an event type (e.g. Policy Anniversary Approaching), and set the target channel name.

3
Send a Test Notification
Verify cards appear in your channel before going live

Once you have at least one rule saved, click the Test button next to it. Ledgr will POST a sample Adaptive Card to that channel. Check Teams to confirm it arrived correctly.

What you'll see: A branded Ledgr card with sample data showing the layout and formatting of real notifications.
4
Set Up the Query Bot (Optional)
Allow team members to query Ledgr data from Teams
  1. In Teams Admin: Apps → Manage apps → Outgoing webhooks → click Create
  2. Set the callback URL to:
  3. Copy the Security Token and paste it in the Query Bot tab below
📅 Upcoming Events (Next 30 Days)
Loading…
Notification Rules
Each rule maps an event type to a Teams channel webhook URL
Available Event Types
🎂
Anniversary Approaching
Policy anniversary ≤ 30 days — daily digest
🏦
Loan Renewal Due
Loan renewal ≤ 30 days — daily digest
📊
PSR Generated
Performance Summary Report completed
📎
Document Linked
New document linked via Egnyte
🔄
Status Changed
Policy or case status updated
📥
Carrier Data Ingested
Carrier CSV import completed
Loading…
Bot Configuration
Generated in Teams Admin when creating the outgoing webhook. Leave blank to keep current token.
Comma-separated list of Ledgr roles that can query the bot.
Bot is active
Bot Status
Loading…
Webhook URL:
Available Commands
status <policy> Policy status and current values
summary <client> Client overview — policies and loans
renewals Loan renewals due in 30 days
anniversaries Policy anniversaries in 30 days
psr <client> Latest PSR report status
help Show all available commands
Today
This Week
This Month
Notification History (Last 50)
Loading…

Airtable Connection

Configure, map, and sync your Airtable data into Ledgr

Not configured
Credentials
Generate at airtable.com/create/tokens with read access to your base.
Found in your Airtable base URL: airtable.com/appXXXX/…
Connection Status
Loading…
Base ID:
Last tested:

These mappings define how Airtable tables and fields map to Ledgr's data model. Auto-detected from your base — adjust as needed before running your first sync.

Sync Actions
Sync History Last 30 runs
TypeStatus CreatedUpdatedSkippedErrors StartedDuration
Loading…
Auto-Sync Schedule
Enable automatic sync
Ledgr will automatically sync with Airtable on your chosen schedule
About Incremental Sync

Incremental sync only imports records that changed since the last sync — much faster for routine updates.

Full sync re-imports every record. Use it after connecting a new base or if you suspect data drift.

Airtable's API is rate-limited at 5 requests/second. Large bases may take several minutes for a full sync.

Total Records
From Airtable
Stale Tables
Last Sync
Data Freshness by Table
TableTotal RecordsSynced from AirtableLast SyncFreshness
Loading health data…
Recent Import Errors
SyncTableRecord IDErrorAction
Loading…

Egnyte Connection

Configure your Egnyte DMS — browse folders, link documents, and auto-file reports

Status
Checking…
Domain
Connected As
Last Tested
Credentials
Enter just the subdomain or full hostname
Token is encrypted before storage — never exposed in the browser

HubSpot CRM

Sync contacts, create deals, and map Ledgr pipeline stages to HubSpot

Not configured
Credentials
HubSpot Private App tokens are recommended. Create one in HubSpot → Settings → Integrations → Private Apps.
Token is encrypted before storage — never exposed in the browser.
Connection Status
Loading…
Hub ID:
Portal:
Last tested:
Sync Actions

Notifications

Manage registered devices, notification preferences, and subscription status

VAPID Status
Checking…
Subscriptions
Browser Permission
Configuration

Push notifications are configured via VAPID keys on the server (VAPID_PUBLIC_KEY, VAPID_PRIVATE_KEY). When configured, users will see a notification prompt after 90 seconds on the app.

My Registered Devices
Loading devices…
Notification Preferences

Choose which types of notifications you want to receive. Turning off a category stops those alerts on all your registered devices.

Loading preferences…

Firm Branding

Intelligent brand import, full token control, safety validation, and versioned brand packs.

📤 Upload Logo

Upload your firm logo. Colors are extracted automatically — we'll suggest a full palette.

No logo

PNG, SVG, or JPEG · max 8 MB · Colors extracted client-side

🌐 Analyze Website

Enter your firm's website. We'll scrape CSS and meta tags for brand color signals.

✏️ Manual Entry

Already know your exact hex values? Skip the wizard and go straight to color controls.

Firm Identity

PDF headers, footers, and sidebar branding.

Shown on PDF cover pages.

Contacts

Clients, entities, and individuals associated with policies

All contacts
Name Type Stage Email Phone Policies Actions
Loading…

Policies

Insurance and investment policy records

All policies
Policy # Type Status Carrier Face Amount Cash Value Annual Premium Effective Date Actions
Loading…

PSR Reports

Annual Performance Summary Reports — generated PDFs for client review

Generated reports
Client Year Policies Status Completed Storage Actions
Loading…

Documents

Linked Egnyte documents across contacts, policies, and cases

Document Library
Filename Type Linked To Review Linked Date Actions
Loading…

Loans

Premium financing and collateral assignment loan records

All loans
Loan # Type Status Lender Balance Rate LTV Renewal Actions
Loading…

Sales Pipeline

Lead-to-close pipeline for new business prospects

Renewal Pipeline

Track loan renewals and policy anniversaries through your workflow

Overdue
Due 30d
Due 90d
Active
Escalated
Completed
LTV Alerts
Loading renewal pipeline…
Market Close
Track index close values, segment returns, and carrier close rules
IndexTickerFamilyLatest CloseLast Close DateOpen SegmentsCarriersSource
Record Monthly Close Value

For carriers with fixed monthly close dates (14th, 15th, 21st, etc.)

CarrierIndexRule TypeClose DayWeekend Adj.DescriptionSourceActions
Close Rule Patterns
Fixed 14th
JH, Pacific Life — 14th @4pm ET. Symetra: next business day
Fixed 15th
Lincoln (next bd), Nationwide / Prudential / Pan-American / Equitable (prev bd)
Bi-Monthly 10th/25th
Ameritas — funds sweep on 10th or 25th, prev bd if weekend
Monthiversary
Zurich, Penn Mutual, AIG, Global Atlantic, Allianz — policy anniversary day
3rd Friday
Securian — 3rd Friday of each month @4pm ET
Fixed 21st
National Life Group (LSW) — 21st; late premiums sweep next month
Query Policy Impact

My Tasks

CRM tasks assigned to or created by you

Loading tasks…

Carrier Data Hub

Manage carrier portal credentials, view carrier directory, and configure automated data retrieval.

Loading…

Firm Outlook

Annual macro, whole life, and universal life narrative used in PSR Page 1.

Year Macro Outlook Whole Life Universal Life Last Modified
Loading…
💡 Firm Outlooks are pulled automatically into PSR Page 1 when you generate a Performance Summary Report. A missing outlook for the review year will display a warning in the PSR wizard.
Activity

New Opportunity

Structures

Trusts, LLCs, corporations, and other legal ownership vehicles

All Structures
Name Type Linked Contacts Policies Status Actions
Loading…

Audit Log

System activity — logins, configuration changes, and key events

Activity feed
Time Event Actor Entity Type Entity ID Description IP
Loading…
🔐
Loading Security Center…

Connections

External integrations and data source configuration

Airtable
CRM data source — contacts, policies, carrier data
Sync contacts, policies, structures, and product data from your Airtable base into Ledgr. Credentials are configured securely via the Ledgr admin interface — no environment variables required.
Egnyte
Document management — PSR filing and document storage
Configure Egnyte credentials directly from Ledgr to browse folders, link documents to records, and auto-file PSRs.
Checking…
Microsoft Teams
Alerts and bot queries via incoming/outgoing webhooks
Send automated alerts to Teams channels for policy events, loan renewals, and PSR generation. Configure notification rules and optionally set up the Ledgr Bot for inbound queries from Teams.
HubSpot CRM
Contact sync and deal pipeline tracking
Checking…
Sync Ledgr contacts to HubSpot and map case pipeline stages to HubSpot deals. Credentials configured securely from the admin UI — no environment variables required.
Email BCC Logging
Auto-log emails to contact timelines via BCC
Coming Soon

BCC this address on any external email to auto-log it to Ledgr. Ledgr will match the email address against your contacts and attach it to their timeline automatically.

Loading…

Inbound email processing is coming in a future update. For now, use Log Email on any contact record to manually log emails.

CommandDeck Connector
Sync Ledgr state and events to your CommandDeck control plane
Open Connector →
Snapshot sync, event forwarding, capability manifest, operator mapping, and secure links. Requires COMMANDDECK_SYNC_KEY env var. Admin access only.
Microsoft SSO
Azure AD / Entra ID single sign-on for your team
Allow team members to sign in with their Microsoft/Azure AD credentials. New SSO users are auto-provisioned with read-only access; admins assign elevated roles.

Microsoft Entra ID SSO

Per-organisation single sign-on configuration

Loading…
Status & Control
SSO Status
Last SSO Login
Last Test
Session Timeout
Entra ID Credentials
Your organisation's Azure Active Directory tenant ID
Azure AD App Registration ID (optional — uses global config if blank)
Encrypted at rest. Enter new value to update.
Add this to your Azure AD app's Redirect URIs
How long SSO sessions last before requiring re-authentication
Azure AD Setup Instructions ▼ Show
SSO-Linked Users
Name Email Role Auth Method Last SSO Login Actions
Loading…
Pre-Provision Users

Add a Microsoft email here before the user's first SSO login to automatically assign them a specific role.

Email Role Status Provisioned Actions
Loading…

Subscription & Entitlements

Your organization's plan, feature access, and billing status

Current Plan Loading…
Billing Status
Users
PSRs Generated
Documents

Feature Access

Loading features…
Billing Details
Subscription Start
Next Renewal
Trial Ends
Monthly Price
Need changes?

To upgrade your plan, add users, or change billing details, contact your account representative or reach us at support@ledgr.com.

Custom Domain

Connect and verify your firm's domain so client-facing pages and portal URLs use your own domain.

Your Domains
Loading…
How Custom Domains Work

Adding your domain allows client-facing portal URLs (e.g., portal.yourfirm.com) to display under your brand. There are two verification methods:

  • TXT Record — Add a TXT record named _ledgr-verify.yourdomain.com with your verification token
  • CNAME Record — Point your subdomain to ledgr.commanddeck.dev

DNS changes typically propagate within a few minutes to 48 hours. Click Check Verification after making DNS changes.

Email Identity

Configure your firm's branded email sending identity for client communications.

Sending Identities
Loading…
DNS Setup Guide

To ensure deliverability and prevent your emails from being marked as spam, add these records to your domain's DNS:

Record Purpose Status
SPF — TXT on yourdomain.com Authorize Ledgr to send on your behalf
DKIM — TXT on ledgr._domainkey.yourdomain.com Cryptographically sign emails
DMARC — TXT on _dmarc.yourdomain.com Policy for email authentication failures

Click Check DNS Status on any identity to refresh verification status.

Client Portal

Manage portal access for your clients. Invite contacts, share documents, and track engagement.

Active Clients
Activated
Pending Invites
Total Doc Views
Portal Clients
Client Email Status Last Login Documents
Loading…
Shared Document Links
Title Client Views Expires Status
Loading…

My Submissions

Feature requests and bug reports you've submitted.

Loading…

Subscription Tiers

Manage the tiers offered to organizations. Feature flags are assigned per tier.

All tiers
Name Price Features Active
Loading…
Feature Flag Registry
Feature Key Display Name Required Tier Global
Loading…

System Health

Service status, sync health, error rates, and uptime across the platform.

🟢 All Systems Operational
API Server
Express.js — all endpoints responding
Operational
Database
PostgreSQL — queries responding normally
Operational
Authentication
JWT auth — login and session validation active
Operational
Airtable Sync
Per-org sync engine — check org details for individual status
Org-level
💡 Detailed infrastructure monitoring (error rates, response times, uptime SLA) will be available here as the platform matures.

Platform Metrics

Cross-platform aggregate metrics — organizations, users, policies, and revenue.

Loading platform metrics…

Feedback & Bug Reports

All feedback and bug reports submitted by users across all organizations.

All Submissions
Loading feedback…

Data Management

⚠️ Destructive operations. These actions permanently delete data and cannot be undone.

Current Data Volume
Loading record counts…
Reset Options
Clear All Business Data
Removes all contacts, policies, loans, households, premium history, and Airtable sync state. Preserves: users, org settings, connections config, carrier/product catalog.
Clear Specific Entity
Delete records from a single table only. Useful for targeted cleanup without wiping everything.
Reset History
Loading history…

Carriers

Manage insurance carriers and their portal details

All Carriers
Name Phone Email Website Portal AM Best Rating Products Active
Loading…

Lenders

Manage lending institutions and loan products

All Lenders
Name Phone Email Website Portal Loan Types Min Loan Active
Loading…

BGAs

Managing General Agents — field distribution partners

All BGAs
Name Phone Email Website Portal Carriers Active
Loading…

Advisor Groups

Independent advisory firms and producer groups

All Advisor Groups
Name Phone Email Website Notes Active
Loading…

Policy Changes

Scheduled operations: DB switches, RPUs, death benefit reductions, APL enables

Overdue
Due ≤ 30 Days
Due ≤ 90 Days
Scheduled
Loading…
Date ↕ Policy # Change Type ↕ Status ↕ Days ↕ Reduce To Vertical
Loading…

Illustration Requests

Request inforce illustrations from carriers and track renewal season status

Draft
Sent
Received
Under Review
Approved
Filed
Overdue
Due in 30d
Loading…
ClientPolicy #CarrierYearDue DateStatusActions
Loading…

Platform contacts are pre-loaded. Add org-level overrides to customize contacts for your firm.

Loading…
Renewal Season — Batch Request Generation
Policies with upcoming anniversaries that don't yet have an illustration request.
Loading…
Contact
Name
PSR Name
Email
Phone
Date of Birth
Current Age
SSN (last 4)
Gender
Tobacco
Health Class
Marital Status
State of Residence
Net Worth
Annual Income
Employer
Vertical
Client Since
Title
Firm / Company
Designations
NPN
Specialty
Linked Entity
Address
Egnyte Path
Notes

Loading…
Loading…
Loading…
Loading…
Loading…
Policy
Policy #
Status
Type
Carrier
Product
BGA
Face Amount
Annual Premium
Effective Date
Issue Date
Policy Anniversary
Illus. Rate
Current Values
Cash Value
Account Value
Death Benefit
Net at Risk
Contacts
Owning Structure
Notes

Loading…
Loading…
Loading…
Loading…
Loading…
Next Review Date
Loan Renewal Date
Premium Financed
Payment Mode
Premium Pay Years
Target Premium
Loading…
Uploaded Documents
Loading…
Loan
Balance
Rate
LTV
Status
Loan #
Lender
Loan Type
Rate Type
Rate Index
Spread (bps)
Original Amount
Max LTV
Origination Date
Maturity Date
Next Renewal
Renewal Count
Interest Freq.
Next Payment
Notes
Loading…
Recent transactions
Loading…
Loan Transactions
CURRENT BALANCE
INTEREST RATE
NEXT RENEWAL
DateTypeAmount Balance AfterRate ChangeNotes
Loading…
Rate & Balance Ledger (Snapshots)
DateRateBalanceAnnual ContributionLenderNotes
No snapshots yet
Structure
Name
Type
Status
Formation Date
Legal Jurisdiction
Tax ID / EIN
Notes

Loading…
Link Contact
Loading…
Link Policy

Log Activity

Suggest a Feature
📎 Click to attach a screenshot (PNG, JPG — max 5MB)
Report a Bug
📎 Click to attach a screenshot (PNG, JPG — max 5MB)
📞 Log Call
🤝 Log Meeting
📝 Add Note
✅ Create Task

Illustration Review

Review received illustrations against carrier checklists before filing.

Pending
In Progress
Passed
Rejected
Policy # Insured Carrier Year Status Lowpoint Received Actions
Loading…

Guide

Documentation and help articles for everything in Ledgr.

📖

Loading articles…