The issue that we would like to retroactively associate previously-closed opportunities that are already existing in the system with campaigns.

We would like this process to run through the Opportunity Influence feature, rather than manually associating the opportunity(close date before the date associated). Any Idea ?

NOTE: You can configure influential campaigns to be automatically added to opportunities. When automatic association is enabled, influential campaigns are added to opportunities when a campaign is related to a contact that is assigned a contact role on an opportunity prior to the close date of the opportunity. For example, if you have an email campaign with a member who is assigned a contact role on an open opportunity, the email campaign will be added to the Campaign Influence related list for that opportunity.

  • Does the contact status need to be set to replied? Commented May 26, 2020 at 17:48

1 Answer 1


Which version of campaign influence are you referring to? The original campaign influence (now known as campaign influence 1.0) or customizable campaign influence?

Per the docs, The original Campaign influence is not available via the API, which makes it hard to do much of anything with it.

The Campaign Influence object is not available via the API and therefore it is not possible to directly insert new or update existing campaign influence records.

The article above has a workaround that uses the primary campaign lookup field on opportunity to set campaign influence. As far as I know that is the only way to add campaign influence, other than via the UI or automatic association.

Customizable campaign influence does have API access, and can be added retroactively. Per the docs, you would need to create a model, and then use triggers / processes to apply the model.

To implement a custom influence attribution model, first add a model in Setup with a few clicks. Then create a set of triggers and processes that add campaign influence records and assign them to the model.

I think a batch job might be best for retroactive purposes, but did not see any specific information, beyond whats available in the SOAP API docs

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .