Eloqua + Salesforce
Connect Eloqua and Salesforce to Keep Marketing and Sales on the Same Page
Automate data sync between your marketing automation and CRM so campaigns actually connect to revenue.

Why integrate Eloqua and Salesforce?
Eloqua runs your demand generation and nurture programs. Salesforce runs your pipeline and customer relationships. When these two systems don't talk to each other, marketing-qualified leads stall before reaching sales, campaign attribution falls apart, and reps work with incomplete contact data. Connecting Eloqua and Salesforce through tray.ai creates a continuous, bidirectional data loop that keeps both teams working from the same information and cuts the time from first touch to closed deal.
Automate & integrate Eloqua & Salesforce
Use case
Automatic Lead Handoff from Eloqua to Salesforce
When a prospect hits a defined lead score threshold or completes a key action in Eloqua — like submitting a demo request — tray.ai automatically creates or updates a Lead or Contact record in Salesforce and routes it to the right sales rep or queue. Hot prospects get actioned within minutes, not days.
Use case
Bidirectional Contact and Lead Sync
When a sales rep updates a phone number, title, or account association in Salesforce, those changes are reflected back in Eloqua so future campaign sends use accurate information. New contacts created in Salesforce can also be automatically enrolled into relevant Eloqua nurture programs.
Use case
Eloqua Campaign Response Synced to Salesforce Campaigns
Eloqua campaign engagement — email opens, clicks, form fills, event registrations — gets mirrored as Campaign Member records or activity history in Salesforce. Sales reps get a full picture of a prospect's marketing journey without leaving their CRM, and marketing managers can tie Salesforce pipeline and revenue data back to specific Eloqua campaigns.
Use case
Lead Score Updates Pushed to Salesforce in Real Time
As prospects engage with marketing content, Eloqua's lead scoring engine continuously updates scores. tray.ai pushes these changes to a custom field on the Salesforce Lead or Contact record, so reps can sort and filter by marketing engagement and managers can build score-based automation and alerts inside Salesforce.
Use case
Closed-Won Opportunity Data Synced Back to Eloqua
When a deal is marked Closed-Won in Salesforce, tray.ai automatically updates the corresponding Eloqua contact record, adds them to a customer segment, and removes them from active acquisition programs. No more sending prospect-focused emails to existing customers, and onboarding or upsell campaigns can start immediately.
Use case
Account-Level Data Enrichment for ABM Programs
For account-based marketing, tray.ai syncs Salesforce Account data — industry, revenue, employee count, account owner — into Eloqua to power dynamic content, segmentation, and personalized email programs. Account-level updates in Salesforce propagate to Eloqua in near real time so ABM targeting stays accurate.
Use case
Salesforce Opportunity Stage Changes Trigger Eloqua Nurture Enrollment
As opportunities move through pipeline stages in Salesforce, tray.ai can enroll or unenroll the associated contact in targeted Eloqua nurture tracks. A prospect entering the Evaluation stage can automatically receive a tailored case study series; a stalled opportunity can trigger a re-engagement campaign — all without manual marketing operations work.
Get started with Eloqua & Salesforce integration today
Eloqua & Salesforce Challenges
What challenges are there when working with Eloqua & Salesforce and how will using Tray.ai help?
Challenge
Avoiding Duplicate Records Across Both Platforms
Eloqua and Salesforce can independently create records for the same person — an Eloqua form fill generating a new contact at the same time a sales rep manually enters a lead in Salesforce. Without deduplication logic at the integration layer, you end up with duplicate records, split engagement history, and unreliable reporting.
How Tray.ai Can Help:
tray.ai's workflow logic supports configurable deduplication rules that check for existing records by email address or custom keys before creating new entries. Matching logic can be tailored to your organization's data governance standards, merging field values from both sources or routing potential duplicates to a review queue rather than creating conflicting records automatically.
Challenge
Managing Bidirectional Sync Without Infinite Update Loops
When Eloqua updates a record and pushes it to Salesforce, and Salesforce then triggers a change event that pushes back to Eloqua, integrations can get stuck in an infinite loop of updates. It's a common and costly problem in bidirectional CRM-to-marketing automation integrations.
How Tray.ai Can Help:
tray.ai workflows can be designed with loop-prevention logic — writing a sync timestamp or source flag to updated records and checking that flag before processing inbound changes. Each change gets processed exactly once, and loops are structurally prevented rather than papered over with rate limits or timeouts.
Challenge
Field Mapping and Schema Differences Between Eloqua and Salesforce
Eloqua and Salesforce use different data models, object types, and field naming conventions. Mapping fields between platforms — especially custom fields, picklist values, and multi-select options — requires careful configuration that can break whenever either system's schema changes.
How Tray.ai Can Help:
tray.ai provides a visual data mapper and JSON transformation tools that make field mapping between Eloqua and Salesforce explicit, auditable, and easy to update. When fields change in either system, you update the mapping in the tray.ai workflow rather than rebuilding the integration from scratch. Transformation logic handles data type conversion and value normalization automatically.
Challenge
Handling Eloqua API Rate Limits During High-Volume Syncs
Eloqua's REST and Bulk APIs enforce rate limits and concurrent request restrictions that can cause syncs to fail or throttle during large batch operations — syncing tens of thousands of contacts after a major campaign or trade show list import, for example.
How Tray.ai Can Help:
tray.ai's workflow engine supports built-in retry logic, rate limit awareness, and chunked batch processing. Large syncs are broken into configurable page sizes, processed with delays between batches, and automatically retried with exponential backoff on rate limit errors. High-volume operations complete reliably without manual intervention or data loss.
Challenge
Maintaining Sync Integrity Across Salesforce's Object Model
Salesforce treats Leads, Contacts, and Accounts as distinct object types, and the Lead-to-Contact conversion process can break integration mappings that only target one object type. Eloqua contacts matched to Salesforce Leads may become orphaned after conversion, causing gaps in campaign attribution and nurture program logic.
How Tray.ai Can Help:
tray.ai workflows can include conditional logic that checks whether a Salesforce record is a Lead or a converted Contact, routing updates to the correct object type and re-linking Eloqua contacts to the new Salesforce Contact or Account record after conversion. The integration stays accurate across the full Salesforce Lead lifecycle without manual remediation.
Start using our pre-built Eloqua & Salesforce templates today
Start from scratch or use one of our pre-built Eloqua & Salesforce templates to quickly solve your most common use cases.
Eloqua & Salesforce Templates
Find pre-built Eloqua & Salesforce solutions for common use cases
Template
Eloqua Lead Score Threshold to Salesforce Lead Creation
Monitors Eloqua contact lead scores on a schedule and automatically creates a new Lead record in Salesforce — or updates an existing one — when the score crosses a defined threshold, assigning the record to the correct sales owner based on territory rules.
Steps:
- Poll Eloqua on a defined schedule for contacts that have crossed the lead score threshold since the last run
- Check Salesforce for an existing Lead or Contact record matching the Eloqua contact email address
- Create a new Salesforce Lead if no match exists, or update the existing record with the latest score and engagement data, then trigger lead assignment notification
Connectors Used: Eloqua, Salesforce
Template
Salesforce Closed-Won to Eloqua Customer Segment Sync
Listens for Opportunity Stage Changed to Closed-Won events in Salesforce and automatically updates the linked Eloqua contact's profile, removes them from active prospect campaigns, and adds them to a designated customer segment for post-sale marketing.
Steps:
- Trigger on a Salesforce Opportunity record update where Stage equals Closed-Won
- Retrieve the Primary Contact linked to the Opportunity from Salesforce
- Update the matching Eloqua contact record with a customer flag, remove them from prospect campaign membership, and add them to the customer segment or program
Connectors Used: Salesforce, Eloqua
Template
Bidirectional Eloqua-Salesforce Contact Data Sync
Runs on a recurring schedule to reconcile contact and lead records between Eloqua and Salesforce, pushing field-level updates in both directions and using configurable conflict resolution logic to determine which system's data takes precedence.
Steps:
- Fetch recently modified contacts from both Eloqua and Salesforce within the sync window using last-modified timestamps
- Apply field mapping and conflict resolution rules to determine the authoritative value for each changed field
- Write updates back to whichever system holds the older value, logging all changes to a sync audit trail
Connectors Used: Eloqua, Salesforce
Template
Eloqua Form Submission to Salesforce Campaign Member
When a contact submits a form in Eloqua — a webinar registration, content download, or contact request — this template creates or updates a Salesforce Campaign Member record, associating the contact's response with the corresponding Salesforce Campaign for revenue attribution reporting.
Steps:
- Trigger when a form submission event fires in Eloqua, capturing form data and contact identity
- Look up or create the Contact or Lead record in Salesforce using the submitted email address
- Add or update the Salesforce Campaign Member record for the matched Campaign, setting the member status to reflect the form submission type
Connectors Used: Eloqua, Salesforce
Template
Salesforce New Contact to Eloqua Program Enrollment
Detects newly created Contact or Lead records in Salesforce and automatically creates or updates the corresponding Eloqua contact, adding CRM data and enrolling it in the appropriate Eloqua nurture program based on attributes like lead source, industry, or product interest.
Steps:
- Trigger on Salesforce Lead or Contact creation event or poll for new records on a schedule
- Map Salesforce field values — including lead source, account industry, and assigned rep — to the Eloqua contact schema
- Create the Eloqua contact and enroll them in the segment or program that matches the mapped attribute criteria
Connectors Used: Salesforce, Eloqua
Template
Eloqua Email Engagement Activity Log to Salesforce
Syncs Eloqua email engagement events — opens, clicks, bounces, and unsubscribes — to the Activity or Task history on the corresponding Salesforce Contact or Lead record, giving sales reps a chronological view of marketing interactions without leaving Salesforce.
Steps:
- Poll Eloqua Email Activity API on a scheduled interval for new engagement events since the last sync
- Match each activity to the corresponding Salesforce Contact or Lead record via email address lookup
- Create a Salesforce Task or log a custom Activity record for each engagement event, including campaign name, email subject, event type, and timestamp
Connectors Used: Eloqua, Salesforce