Integrations

Connect SugarCRM

Connect SugarCRM with an integration user — on-premise instances included. Turn leads, contacts and opportunities into attributed conversions, and write LeadJourney leads back into Sugar.

Connecting SugarCRM turns CRM events – new leads, new contacts, new and updated opportunities – into LeadJourney conversions, automatically attributed to the campaign, ad set and ad that earned them. Closed Won deals carry their amount as revenue, and the same screen can push LeadJourney leads back into Sugar.

What the connection covers

  • 9 triggers across Leads, Contacts and Opportunities.
  • Closed Won opportunities arrive with their amount as revenue.
  • Send back: LeadJourney clicks, leads and conversions written into Sugar as a Lead or Contact.
  • Sugar Cloud and on-premise both work – you paste whatever host your instance is served from.

Before you start

  • An integration user that logs in with a SugarCRM password (see step 2).
  • Your instance URL – e.g. https://your-company.sugarondemand.com, or your own host.
  • A SugarCRM admin for one setup step: registering the API platform.
  • Tracking is live – see Install the tracking script.
  • At least one conversion type to map onto – see Events & the Events Manager.

No app marketplace login

SugarCRM has no central OAuth app, and every instance is its own host. So instead of signing in, you paste the instance URL and an integration user's credentials. LeadJourney logs in once to check them before saving anything.

Where to find it

Open Settings → Apps, or go to app.leadjourney.io/settings?slug=apps, and click the SugarCRM card (or use ?slug=apps&app=sugarcrm).

The SugarCRM connect screen under Settings → Apps

Step by step

Register the API platform in Sugar

In SugarCRM, go to Admin → Configure API Platforms, add a platform named leadjourney and save.

Don't use the “base” platform

Sugar refuses logins on a platform it doesn't know, so this step is not optional. And using base would sign the integration user out of the Sugar web app every time LeadJourney logs in. A platform of its own keeps the two apart.

Create the integration user

Create (or pick) a user that logs in with a SugarCRM password – single-sign-on-only users can't use the API.

  • Make it an admin if you want LeadJourney to create the Web Logic Hooks for you.
  • Otherwise give it a role that can read and edit Leads, Contacts and Opportunities, and you'll paste the hook URLs yourself in step 5.

A dedicated integration user is best: LeadJourney reads and writes with that user's permissions.

In Admin → Studio, add a TextField named lj_click_id to Leads and Contacts – Sugar stores it as lj_click_id_c – and fill it from your website form or Web-to-Lead form.

With that field, conversions attribute to the exact ad click. Without it, LeadJourney falls back to matching on email or phone – see Read and store the click ID.

Connect from LeadJourney

On the Connect your SugarCRM instance card, fill in:

  • Instance URL – the address you open SugarCRM at. On-premise instances work too; paste whatever host and path your Sugar is served from.
  • Username and Password – the integration user from step 2.
  • API platform – leadjourney, matching what you registered in step 1.

Your password is stored encrypted, which is what lets the connection survive Sugar's 14-day token expiry without you reconnecting.

Custom OAuth key (optional)

Custom OAuth key holds a Client ID and Client secret. Leave them alone unless your admin created a key under Admin → OAuth Keys – the default sugar client is what most instances use.

Set up the Web Logic Hooks

After you connect, LeadJourney creates one Web Logic Hook per module (Leads, Contacts, Opportunities). If the integration user isn't an admin, LeadJourney shows you the URLs to paste under Admin → Web Logic Hooks instead.

Events arrive a minute or two after the save

Sugar sends its hooks when its cron runs, not the instant a record is saved. A small delay is normal and nothing is lost.

Add a trigger and confirm the mapping

In the Triggers panel, click Add trigger, pick the LeadJourney Event this Sugar record should record (e.g. WonClient), then the Sugar event that fires it. The dialog then opens the usual three tabs:

  • Receive Data – Find latest data loads the most recent records; pick one and continue.
  • Configure Mapping – map the record onto Email, Name, First name, Last name, Phone, click_id, Revenue and Currency, plus any of your custom fields. Point click_id at lj_click_id_c.
  • Filtering (optional) – conditions so the trigger only fires on matching records, e.g. sales_stage equals Closed Won.

Click Save & Continue.

Send data back to SugarCRM

The Send to SugarCRM panel writes LeadJourney clicks, leads and conversions into Sugar. Click + Add destination, then choose:

  1. The Sugar record: Lead (Leads) or Contact (Contacts).
  2. When this happens: the LeadJourney event, optionally narrowed to one conversion type.
  3. Write mode: Create always creates, Update only updates an existing match and skips if there is none, Upsert updates the matching record or creates it.
  4. Map fields: the Sugar field and the LeadJourney value to send.

Each destination row has Pause / Resume, Edit and Delete, and Sync history lists every delivery with its status and a Retry button.

Troubleshooting

The login is rejected when saving

Three usual causes: the API platform isn't registered under Admin → Configure API Platforms, the user is single-sign-on only (no Sugar password, so no API access), or the instance URL is wrong. LeadJourney checks the credentials before saving, so this fails immediately rather than later.

The integration user keeps getting signed out of Sugar

The API platform is set to base. Register leadjourney under Admin → Configure API Platforms and change the field on the connection.

No events arrive

Check the Web Logic Hooks. If the integration user is not an admin, LeadJourney can't create them – paste the URLs it shows you under Admin → Web Logic Hooks. Also remember Sugar only sends hooks when its cron runs.

Records arrive but aren't attributed to a campaign

Check that the tracking script is live, that your records carry the click ID in lj_click_id_c and the trigger maps click_id to it, and that the trigger is Active. Email and phone are the fallback – see Missing leads.

Common questions