Skip to main content

Eloqua

Eloqua Integration Guide

Overview

This guide explains how to connect Bridged with Oracle Eloqua to sync contacts, accounts, and engagement data. The integration supports reading profiles from Eloqua for activation and broadcasting, as well as writing qualified leads and conversation outcomes back to Eloqua.

Oracle Eloqua provides REST APIs for real-time operations and a Bulk API for large data volumes .

Prerequisites

Before starting, ensure you have:

  • An Oracle Eloqua account with API access enabled

  • An Eloqua user with Administrator or AppCloud Developer permissions

  • The Eloqua Company Name (site name), which is the subdomain in your Eloqua URL (e.g., companyname in https://companyname.eloqua.com)

  • The Eloqua objects and fields you wish to read from or write to (e.g., contacts, custom objects)

Connection Methods

Bridged supports two connection methods for Eloqua:

Method

Best for

Setup complexity

OAuth 2.0 (Preferred)

Production integrations, secure, supports refresh tokens

Medium

Basic Authentication

Legacy setups, internal tools

Low

Recommendation: OAuth 2.0 is the preferred method for production integrations. Basic authentication is supported as a fallback for legacy scenarios .

Step 1: Create an App in Eloqua (OAuth 2.0)

To use OAuth 2.0 authentication, you must register an application with Oracle Eloqua .

  1. Log in to your Eloqua instance as an Administrator.

  2. Navigate to SettingsAppCloud Developer (gear icon in the top right).

  3. Click Create App.

  4. Complete the required fields:

    • Name: Bridged Integration

    • Description: Integration with Bridged for lead and conversation sync

    • Icon: Optional

  5. Under Lifecycle Setup, configure as needed (default settings are acceptable).

  6. Under Authentication to Eloqua:

    • OAuth Callback URL: https://gateway.bridged.media/auth/eloqua/callback

  7. Click Save.

  8. After saving, scroll down to the Authentication to Eloqua section and record:

    • API Client ID (Consumer Key)

    • API Client Secret (Consumer Secret)

Important: Store the Client Secret securely. You will not be able to retrieve it again.

Step 2: Configure Bridged to Connect to Eloqua

  1. Log in to your Bridged dashboard.

  2. Navigate to the Integrations section in your Bridged dashboard. If you do not see this section, contact support@bridged.media.

  3. Click EloquaConnect Account.

  4. Choose your authentication method:

Option A: OAuth 2.0 (Preferred)

Eloqua supports three OAuth 2.0 flows. Bridged uses the Authorization Code grant, which is recommended for most applications .

  1. Enter your Company Name (site name from your Eloqua URL).

  2. Enter your Client ID and Client Secret from Step 1.

  3. Click Connect with Eloqua.

  4. You will be redirected to Eloqua's login page (login.eloqua.com).

  5. Enter your Eloqua credentials and grant access to the Bridged app.

  6. You will be redirected back to Bridged.

OAuth Token Details :

  • Access Token expires in 8 hours

  • Refresh Token expires in 1 year

  • Authorization Code expires in 60 seconds

Bridged automatically handles token refresh using the refresh token.

Option B: Basic Authentication

Note: Basic authentication requires your Eloqua company name, username, and password. This method is less secure than OAuth 2.0 and is provided for legacy compatibility.

  1. Enter your Company Name (e.g., companyname from https://companyname.eloqua.com)

  2. Enter your Username in the format: CompanyName\UserName

  3. Enter your Password

  4. Click Connect

Step 3: Configure Sync Settings

Once connected, configure the following:

Setting

Options

Description

Objects to sync

Contacts, Custom Objects, Accounts

Choose which Eloqua objects Bridged can access

Sync direction

Read only, Write only, Read + Write

Define data flow

Field mapping

Custom

Map Eloqua fields to Bridged profile attributes

Sync frequency

Real-time (webhooks), Hourly, Daily

Determines how often data is pulled

Bulk sync limit: Each bulk operation is limited to 50 records per request. For larger datasets, Bridged automatically paginates through multiple requests.

Bulk API Considerations

Eloqua's Bulk API has the following limits :

Limit Type

Value

Exports per hour

2,000

Imports per hour

2,000

Sync actions per hour

4,000

Export records per request

50,000 maximum

Import request size

32 MB maximum

Import definition fields

100 fields maximum

Export definition fields

250 fields maximum

Bridged automatically respects these limits and queues requests when approaching rate thresholds.

Step 4: Configure Webhooks for Real-time Sync (Optional)

Eloqua supports outbound webhooks that can send real-time notifications when contacts are created or updated .

To configure a webhook in Eloqua:

  1. In Eloqua, navigate to SettingsApps.

  2. Open the Webhook app.

  3. Click Create Webhook.

  4. Configure the webhook:

    • Webhook Name: Bridged Real-time Sync

    • Request Type: POST

    • Webhook Type: Outbound

    • Webhook URL: https://gateway.bridged.media/webhooks/eloqua

    • Eloqua Object: Contact (or your desired object)

  5. Configure Authorization (if required):

    • None (default)

    • Basic Auth: Username and password

    • Bearer Token: Access token

    • API Key: Key-value pair

  6. Optionally configure Headers and JSON Payload.

  7. Select a test contact record and click Test to verify the connection.

    • A 2xx response is required before the webhook can be used .

  8. Save the webhook configuration.

After configuration, you can use the webhook in Eloqua programs or campaigns to trigger real-time syncs to Bridged .

Step 5: Test the Integration

  1. In Bridged, go to IntegrationsEloquaTest Connection.

  2. Confirm that a test contact can be read from Eloqua.

  3. Create a test contact in Eloqua and verify it appears in Bridged (if reading is enabled).

  4. In Bridged, mark a test contact as "qualified" and verify it writes back to Eloqua.

Using the Eloqua REST API for Testing

You can verify your integration by making a test API call using the access token :

bash

curl --request GET \
  --url "https://{companyname}.eloqua.com/api/rest/2.0/assets/contacts?limit=10" \
  --header "Authorization: Bearer {access_token}"

Common Use Cases

Playbook

Direction

Description

Activation

Read

Pull contact list from Eloqua to broadcast WhatsApp messages

Qualification Agent

Read + Write

Read historical engagement, score contact, write score back to Eloqua

Nurture & Conversion

Write

Log conversation outcomes and qualified contacts to Eloqua

Rate Limiting & Performance

  • Rate limits depend on your Eloqua plan, not on Bridged. Refer to Oracle documentation for your specific API call limits.

  • Bulk operations: Maximum 50 records per request.

  • For large data volumes, use Eloqua's Bulk API which supports up to 50,000 records per export .

Security & Permissions

  • Bridged supports OAuth 2.0 (preferred) and Basic Authentication.

  • OAuth 2.0 access tokens expire after 8 hours; refresh tokens expire after 1 year .

  • Credentials are encrypted and never stored in plain text.

  • All API calls are made over TLS 1.2+.

  • You can revoke access at any time from Eloqua AppCloud DeveloperYour AppDelete App or revoke tokens.

Troubleshooting Authentication Errors

Error Code

Description

Solution

2500

Unknown error

Retry the request or contact support

2501

Unknown token

Obtain a new access token

2502

Unknown site ID

Verify your company name/site name

401

Unauthorized

Check credentials and token validity

Troubleshooting

Issue

Likely cause

Solution

Connection fails

Invalid company name or credentials

Verify company name format and OAuth credentials

No data appears

Field mapping incorrect

Check that Eloqua field names match Bridged profile attributes

Write fails

Missing write permissions

Ensure the Eloqua user has appropriate permissions

Bulk operation fails

Exceeds 50 record limit

Split your data into batches of 50 records or fewer

Rate limiting (429)

Too many API calls

Reduce sync frequency; Bulk API has higher limits

Authentication errors (401)

Expired OAuth token

Bridged automatically refreshes; check if refresh token is valid

Webhook not working

Configuration or network issue

Test the webhook in Eloqua; verify callback URL is accessible

"API_CLIENT_ID" not found

App not properly registered

Revisit Step 1 and ensure app is saved correctly

Support

For integration support, contact your Bridged account manager or email support@bridged.media