Mailjet + Salesforce
Sync Mailjet and Salesforce for Smarter Email Marketing and Sales Alignment
Automate email campaign data between Mailjet and Salesforce so your sales and marketing teams are always working from the same numbers.

Why integrate Mailjet and Salesforce?
Mailjet and Salesforce do very different jobs — one runs your email campaigns, the other tracks every customer relationship you have. When they don't talk to each other, marketing sends campaigns blind to what sales knows, and sales follows up without knowing which emails a prospect has opened or ignored. Connecting Mailjet with Salesforce on tray.ai closes that gap, so campaign activity and CRM records stay in sync automatically.
Automate & integrate Mailjet & Salesforce
Use case
Sync New Salesforce Leads to Mailjet Contact Lists Automatically
When a new lead is created in Salesforce — from a web form, an event, or a sales rep — that contact is instantly added to the right Mailjet list or segment based on lead source, industry, or lifecycle stage. No manual CSV exports, no delay before nurture campaigns start.
Use case
Update Salesforce Lead and Contact Records with Mailjet Engagement Data
Every time a contact opens, clicks, bounces, or unsubscribes from a Mailjet campaign, that event gets written back to the matching Salesforce record as an activity, task, or custom field update. Sales reps can see exactly which emails a prospect engaged with and when, so follow-up is informed rather than guesswork.
Use case
Trigger Mailjet Campaigns When Salesforce Opportunity Stages Change
As deals move through the Salesforce pipeline, Mailjet emails fire automatically to match each stage — a welcome email when an opportunity is created, a proposal follow-up when it hits Negotiation, an onboarding sequence when it reaches Closed Won. Prospects and customers get timely, relevant messages without anyone manually scheduling sends.
Use case
Manage Email Opt-Outs and Unsubscribes Across Both Platforms
When a contact unsubscribes from a Mailjet campaign, that preference immediately shows up in Salesforce. If a Salesforce record is marked email opt-out, the contact gets suppressed in Mailjet. The sync runs both directions, so there's no window where a contact could get an email they've already said they don't want.
Use case
Enrich Salesforce Accounts with Mailjet Campaign Performance Metrics
Aggregate Mailjet campaign stats — open rates, click-through rates, bounce rates — and write them back to Salesforce at the account or campaign level. Marketing and sales leadership can report on email performance alongside pipeline data without switching tabs or reconciling exports by hand.
Use case
Automatically Remove or Update Mailjet Contacts When Salesforce Records Change
When a Salesforce lead converts to a contact, gets merged with a duplicate, or is marked disqualified, the matching Mailjet contact is automatically updated, moved to the right list, or pulled from active campaigns. Mailjet lists stay clean without anyone running manual audits.
Use case
Create Salesforce Campaigns from Mailjet Sends for Closed-Loop Reporting
Each time a Mailjet campaign goes out, a matching Salesforce Campaign record is created and populated with campaign metadata. As recipients engage, their responses are logged as Campaign Members in Salesforce, so you can trace email activity all the way through to pipeline and revenue.
Get started with Mailjet & Salesforce integration today
Mailjet & Salesforce Challenges
What challenges are there when working with Mailjet & Salesforce and how will using Tray.ai help?
Challenge
Matching Records Across Systems with No Shared Identifier
Mailjet uses email address as its primary contact identifier. Salesforce uses its own internal record IDs. There's no native shared key, so syncing engagement data can result in failed lookups, duplicate records, or events that can't be tied to the right Salesforce lead or contact.
How Tray.ai Can Help:
tray.ai matches records across systems using email address as the lookup key when querying Salesforce via SOQL. It also handles the common case where one email matches both a lead and a contact — you define which takes priority, and the platform routes accordingly without custom code.
Challenge
Handling Mailjet Webhook Volume at Scale
A large Mailjet campaign can fire thousands of webhook events — opens, clicks, bounces — in minutes. Without queue management, that volume can hit Salesforce API rate limits fast, leaving gaps in your engagement data.
How Tray.ai Can Help:
tray.ai's workflow engine handles high-throughput event processing with built-in support for Salesforce API governor limits. Events can be batched, queued, and processed with configurable concurrency controls, so engagement data flows into Salesforce reliably even when a big campaign goes out.
Challenge
Keeping Mailjet Segments in Sync with Dynamic Salesforce Data
Salesforce data is always changing — lead scores shift, opportunity stages update, account segments evolve. Keeping Mailjet contact lists accurate against that moving target isn't something you can manage with point-in-time exports.
How Tray.ai Can Help:
tray.ai uses event-driven triggers on Salesforce record changes to update Mailjet contact list memberships in real time as CRM data shifts. You define segmentation rules using tray.ai's conditional logic and map them directly to Mailjet list assignments — no manual intervention needed.
Challenge
Ensuring GDPR and CAN-SPAM Compliance Across Both Platforms
Managing consent and opt-out preferences in Mailjet and Salesforce separately is a compliance problem waiting to happen. If an unsubscribe in one platform doesn't reach the other fast enough, that contact might get an email they explicitly opted out of — and that has real regulatory consequences.
How Tray.ai Can Help:
tray.ai syncs opt-out and suppression data between Mailjet and Salesforce in real time using webhook-triggered workflows that fire within seconds of a preference change. Every sync operation is logged within tray.ai, giving you a defensible audit trail and full visibility into when and how consent data was updated.
Challenge
Avoiding Duplicate Contacts When Leads Convert in Salesforce
When a Salesforce lead converts to a contact, both records can briefly share the same email address. If that's not handled correctly, Mailjet may receive duplicate update signals, or the person ends up on the wrong lists and gets contradictory email sequences.
How Tray.ai Can Help:
tray.ai workflows detect lead conversion events in Salesforce and run a deduplication and list management sequence in Mailjet — removing the lead-stage list membership, updating contact properties to reflect the converted status, and enrolling the new contact in the right customer-stage Mailjet segment, all in a single automated workflow.
Start using our pre-built Mailjet & Salesforce templates today
Start from scratch or use one of our pre-built Mailjet & Salesforce templates to quickly solve your most common use cases.
Mailjet & Salesforce Templates
Find pre-built Mailjet & Salesforce solutions for common use cases
Template
Add New Salesforce Leads to Mailjet Contact Lists
Automatically adds every new Salesforce lead to the right Mailjet contact list or segment, using Salesforce field values to determine list assignment and passing lead properties to Mailjet for personalization.
Steps:
- Trigger when a new Lead record is created in Salesforce
- Map Salesforce lead fields (name, email, company, lead source) to Mailjet contact properties
- Add the contact to the appropriate Mailjet list based on Salesforce field values using conditional logic
Connectors Used: Salesforce, Mailjet
Template
Write Mailjet Email Engagement Back to Salesforce Activity History
Listens for Mailjet campaign events — opens, clicks, bounces, and unsubscribes — and logs each one as an activity or task on the matching Salesforce lead or contact record, so the CRM timeline stays complete and sales reps stay informed.
Steps:
- Trigger on Mailjet webhook events for open, click, bounce, or unsubscribe
- Look up the matching Salesforce lead or contact record by email address
- Create a Salesforce activity or update a custom engagement field with the event details and timestamp
Connectors Used: Mailjet, Salesforce
Template
Trigger Mailjet Emails on Salesforce Opportunity Stage Changes
Watches Salesforce opportunities for stage changes and sends a matching Mailjet email personalized with opportunity and account data, so prospects get timely, relevant messages at every stage of the sales cycle.
Steps:
- Trigger when an Opportunity record's Stage field is updated in Salesforce
- Retrieve related Contact and Account details from Salesforce to personalize the email
- Send a stage-specific Mailjet email template to the opportunity's primary contact
Connectors Used: Salesforce, Mailjet
Template
Bidirectional Opt-Out Sync Between Mailjet and Salesforce
Keeps unsubscribe and opt-out preferences in sync between Mailjet and Salesforce in real time. When a contact opts out in either system, the matching record in the other platform is updated immediately so no non-compliant emails go out.
Steps:
- Trigger on Mailjet unsubscribe webhook event or Salesforce field update for Email Opt Out
- Identify the matching record in the other platform using email address as the unique key
- Update the opt-out or suppression status in the target platform to reflect the latest preference
Connectors Used: Mailjet, Salesforce
Template
Create Salesforce Campaign Records from Mailjet Campaign Sends
When a Mailjet campaign is sent, this template creates a Salesforce Campaign record, fills it with Mailjet campaign metadata, and adds engaged recipients as Campaign Members based on their open and click activity.
Steps:
- Trigger when a Mailjet campaign send completes via webhook or scheduled polling
- Create a new Salesforce Campaign record with campaign name, send date, and Mailjet campaign ID
- Add Mailjet recipients who opened or clicked as Campaign Members in Salesforce with their response status
Connectors Used: Mailjet, Salesforce
Template
Sync Salesforce Contact Updates to Mailjet Contact Properties
When fields on a Salesforce contact or lead record change — job title, phone number, lifecycle stage — the matching Mailjet contact properties update automatically, so personalization data stays accurate in both places.
Steps:
- Trigger when a Salesforce Contact or Lead record is updated on specified fields
- Check whether the contact already exists in Mailjet by email address
- Update the Mailjet contact properties with the latest values from the Salesforce record
Connectors Used: Salesforce, Mailjet