Not Updating of "Lead Source" field


I have a problem when integrating with InfusionSoft. Namely, with the update of the “Lead Source” field. This field can only be filled once. When you continue to update this field does not change. We need the ability to update this field using the API. Here is an example of our query:
{ "lead_source_id": 19 }

Could you specify the reason for this?
For us, the ability to update this field is critical.
Thank you!

Hi @Yaroslav_Petuk, I wasn’t able to reproduce the unexpected behavior you described. When you have a moment, would you reply with the details and body of the request and the status code and body of the response? Thanks


I know what you’re referring to. I came across this in a project and the solution is to create a action set and set the leadsourse id to zero (0) and then call the leadsource assignment again.

The Leadsource field is created to once set not be changed. The reason is that this field can be set through many different means. The purpose of this field is to have the data on the source of the lead. Since a contact is only ever able to originate from one place the first time all other times are recurrences this field will remain the same after being set. The only way to change this field is if a user manually logs into Infusionsoft and edits the Leadsource field. This must be an intentional action because there was a mistake on how the contact originally interacted with the company.

This feature allows API integrations, campaigns, Follow-up sequences, Action sets and other automation to set the leadsource specifically for a source. If the contact is already in the system the original data or original source of the lead will not be lost if the leadsource is set to something specific for the way people come into Infusoinsoft (Example: If they come through web form A I want the Lead source to be formA. If they come from B then it will be formB. if they fill out both I still want to know where they originally came from).

Hi, @JonSmith,

So one of the issues that were not planned for with leadsource involves opportunities (there are others but I’ve seen this come up with clients a number of times). When an opp record is created, it takes on the leadsource assigned to the contact (ie it is not opp specific) and if the leadsource on the contact is changed, then every opp record on the contact changes to that new leadsource as well. This happened for a number of reasons starting with only intending for one opp per contact. As clients see the use cases of having more than one marketing at a time and potential sales from different sources, leadsource needs to be individually assigned on the opp level, not just a single one for a contact.

So, for example, a client schedules with us off of our website. We then create an opp for that followup and closing as well as know/like/trust marketing. But then they find a FB ad for one of our products. That too becomes a distinct opp record and must be managed independently of the other. We have to use my code solution for this as IS cannot reasonably manage opps individually.

Then there is the case where opps can track and provide valuable enumerations for work flow of the product (think orders, onboarding, fulfillment etc). Now we have three or four opps running all in different stages. Since campaign builder can’t distinguish these apart, a code solution is necessary. So in light of this and other factors, having only the leadsource available once on a contact really isn’t practical.

Just wanted to illustrate the use cases as we have come across this many times and have solved for it but the leadsource is still a short coming regardless.

The Table Schema doc for the Contact record should be updated to remove ‘edit’ as an option for LeadSourceId and Leadsource fields.