You need to sign in to do that
Don't have an account?
Baguiar2
Converted lead to match an account Id
Hi,
I have pretty much the trigger working, but when the lead is converted and it creates the contact, I need the Contact created to have the same account ID that is on the "acctmatch" list on the trigger. What is happening now is that the conversion is creating a new account and NOT assigning the created Contact to the acctmatch[0].id that i want.
Pretty much, do NOT create a new account and assign the created contact from the conversion, to the Account from the acctmatch SOQL. here is the code:
trigger LeadConvert on Lead (after insert,after update) { Set<Id> recordIds = new Set<Id>(); List<String> LeadNames = new List<String>{}; List<String> Leaddomain = new List<String>{}; Set<id> acctId = new Set<id>{}; for(Lead myLead: Trigger.new){ if((myLead.isconverted==false) && (myLead.convertme__c == True) && (myLead.status <> 'Unqualified') && (mylead.email <> Null) && (mylead.autodomain__c <> null) ) { recordIds.add(myLead.id); Leaddomain.add(myLead.autodomain__c); Account[] acctmatch = [Select id, name, domain__c from account where domain__c in :Leaddomain]; IF (acctmatch.size() > 0){ acctId.add(acctmatch[0].id); Database.LeadConvert lc = new database.LeadConvert(); lc.setLeadId(myLead.Id); lc.convertedStatus = 'Qualified'; //Database.ConvertLead(lc,true); lc.setDoNotCreateOpportunity(true); Database.LeadConvertResult lcr = Database.convertLead(lc); System.assert(lcr.isSuccess()); if (myLead.IsConverted) { // Assign the value from the Lead to Contact Contact con = [SELECT Id FROM Contact WHERE Contact.Id = :mylead.ConvertedContactId]; con.Accountid = acctmatch[0].id; update con; } } } } }
Thanks! almost there.. ;)
sorry.. quick fix..
just add
lc.accountid = acctmatch[0].id;
and remove all the