Our company is testing out a chat software from Olark. The objective is to create leads from interested prospects. The initial frustration is that while the chat software can create a lead, it doesn't assign it an owner. The chat sourced lead record, with owner is null, then kicks off our lead assignment rules, then our lead assignment round-robin engine, and assigns the lead to a sales rep other than the rep who was the chat operator. The rep that receives the lead then loses the lead, and loses a turn in the round-robin rotation.
My initial attempted solution was to add in a new lead assignment rule, one that used the dedicated Lead Source value ("Live Chat") to route to a lead queue. This didn't work. Not sure why. The value "Live Chat" is not an actual picklist value for Lead Source and is generated by the Olark API. I don't know if lead assignment rules must use defined pciklist values.
I then ran a query on the LeadHistory object from the Dev Console:
SELECT Id, LeadId, Field, OldValue, NewValue,CreatedDate FROM LeadHistory WHERE LeadId = '00Qj000000IE4FW'
What I find puzzling is that the lead is created, then the record ownerAssignment changes from the name of the user that should own the record (OldValue - purple box in image) to the queue that kicks off the round-robin trigger (NewValue - blue box in image). The lead assignment rule is supposed to fire when the lead status = "new" and the lead owner is null, with the result that the lead owner is assigned to the Unassigned owner queue. Does the presence of and OldValue for FieldName ownerAssignment mean that owner is null?
What is ownerAssignment and how is it different than Owner? If the ownerAssignment value is "John Doe" does that mean that the Owner is null? What recommendations are there to edit/modify lead assignment rules to prevent assignment to the Unassigned queue?
I could see how a trigger could intercept the lead record before insert, but trying to think of point and click solution first. I tried with Olark support to have them write the lead record using the chat operator (using a lookup to the user record), but they are unwilling/unable and suggested a trigger.
Any suggestions welcome. Thanks.