Salesforce Integration
Sync contacts and deals between MailTrixy and Salesforce CRM.
Setup
- Admin configures OAuth: Admin → Settings → Integrations → Salesforce. Enter Connected App Consumer Key and Consumer Secret from Salesforce Setup.
- User connects: Go to Settings → Integrations → click Connect on Salesforce. You will be redirected to Salesforce to authorize access.
- Sync starts: Once connected, contacts and deals sync automatically.
Features
- Contact Sync: Pull contacts from Salesforce into MailTrixy
- Deal Sync: Push deals from MailTrixy to Salesforce as Opportunities
- Two-way: Changes in either system are reflected
- Manual Sync: Click "Sync Now" in Settings → Integrations
Creating a Salesforce Connected App
- Log in to Salesforce → Setup → App Manager → New Connected App
- Enable OAuth Settings
- Set Callback URL to:
https://yourdomain.com/oauth/salesforce/callback - Select scopes:
api,refresh_token,offline_access - Copy the Consumer Key and Consumer Secret to MailTrixy admin settings
Salesforce Card in the Inbox
When the Salesforce integration is active AND the conversation's contact email matches a Salesforce Contact, a Salesforce card appears in the right-side details panel of that conversation.
How to see it:
- Open a conversation.
- Click the right-panel toggle in the top-right of the conversation header.
- The Salesforce card appears below the Contact card (and below the HubSpot and Stripe cards if those also match).
What the card shows:
- Account name — the Salesforce Account the contact belongs to.
- Title & Lead source — if populated on the Contact.
- Opportunities — up to 5 recent opportunities on the Account, each with name, stage, amount, and a pill: Won / Lost / Open.
- "Open in Salesforce" — deep-link to the Contact record in your Salesforce org using the saved
salesforce_instance_url.
When the card does NOT appear:
- Salesforce integration is not connected for the workspace.
- The contact has no email.
- The contact's email is not in your Salesforce Contacts (checked by an exact-match SOQL
WHERE Email = '…'). - The Salesforce access token is expired and cannot be refreshed — reconnect the integration.
Caching: the card is cached per-email for 5 minutes to avoid hitting Salesforce API limits. Two SOQL calls are made per lookup: one for the Contact, one for the Account's Opportunities.