Skip to main content

Integrations

CRM connects to other products in The One Stack to create a seamless workflow from prospect to paying client. All integrations use the Bus event mesh or direct API calls with X-Integration-Key authentication.

CRM + PSA

The PSA integration is bidirectional — CRM pushes sales context to PSA, and PSA events flow back to CRM.

CRM → PSA

ActionWhat Happens
Company-to-client promotionWhen you promote a CRM company to a PSA client, the company, contacts, and contract details sync automatically
Deal-to-project creationA closed-won deal can trigger project creation in PSA
Pipeline contextPSA can display CRM pipeline data in a client sidebar widget
Activity feedPSA can pull CRM activity history for a company
Health scoreCompany health scores from CRM are visible in PSA
Quick quotesPSA users can create a CRM quote directly from the "Add Service" flow
E-Sign addendumsContract changes in PSA can trigger an e-sign addendum in CRM

PSA → CRM

EventWhat Happens in CRM
Contract signedOpportunity auto-closes as Won
Client status changeCompany status updates (e.g., churned)
Support satisfactionCSAT scores feed into company health scoring
Ticket activityVisible in the company activity timeline
ℹ️The PSA integration requires CRM_INTEGRATION_KEY and PSA_API_URL configured in both products. Contact your admin to verify the integration keys are set.

CRM + Books

When a deal closes, billing setup flows to Books:

ActionWhat Happens
Deal closes as WonClient billing setup can be initiated in Books
Contract valueDeal value and recurring revenue sync to Books for invoicing
Revenue dashboardCombined revenue data from CRM deals and Books invoices
Service mappingsCRM deal line items map to Books GL accounts

This ensures the financial side of a sale is handled without re-entering data.

CRM + Hub

Hub provides the identity layer for CRM:

CapabilityHow It Works
User identityCRM users authenticate through Hub SSO
Deal ownershipDeal owners map to Hub user accounts
PermissionsProduct-level and granular permissions come from Hub
Org rolesHub roles (Owner, Admin, Member, Viewer) determine CRM access level
Waffle menuUsers navigate to CRM from the Hub product switcher
Jarvis AICross-product AI assistant can query CRM data

CRM + Voice

The Voice integration adds phone capabilities to CRM:

FeatureDescription
Call loggingInbound and outbound calls via Voice are automatically logged to the contact's activity timeline
Call durationDuration is captured from the Voice system
Call recordingIf recording is enabled in Voice, the recording link appears in the CRM activity entry
Inbound routingIncoming calls can be matched to CRM contacts by phone number

CRM + Portal

Client portals bridge CRM and your clients:

FeatureDescription
White-labeled accessClients log in to a branded portal to see their CRM data
Feature togglesControl which CRM features are visible per portal (pipeline, marketing, e-sign, etc.)
Quote sharingQuotes and proposals can be shared via the portal
E-SignClients can sign documents through the portal
Custom domainsEach portal can have its own domain (e.g., clients.yourmsp.com)

CRM + M365 Email

Microsoft 365 email sync runs bidirectionally:

DirectionWhat Syncs
M365 → CRMEmails from your inbox and sent items are matched to CRM contacts by email address and logged to activity timelines
CRM → M365Emails sent from CRM sequences and campaigns are delivered via your connected mailbox

The sync runs every 5 minutes using Microsoft Graph delta queries (incremental — only new/changed messages). Auto-matching uses email address for contacts and email domain for companies. Free email domains (Gmail, Yahoo, Hotmail, etc.) are excluded from company matching.

💡Connect your mailbox in Settings > Email Sync to get the most value from CRM. Without email sync, you'll need to manually log email interactions.

Integration Architecture

All integrations between products use one of two patterns:

  1. Bus events — Asynchronous, event-driven communication for state changes (e.g., "deal closed," "contract signed"). The Bus SDK publishes events that subscribing products consume.
  2. Direct API calls — Synchronous requests using X-Integration-Key header authentication for real-time data (e.g., PSA fetching pipeline context for a sidebar widget).

Both patterns maintain tenant isolation — integration keys are scoped per organization.

Next Steps