There is a conflict between the way that the new Inbound Webhook Triggers identify contacts and the Allow Duplicate Contacts setting.
I'm trying to allow a contact to receive multiple "Estimates" on a "Ticket" before assigning the opportunity to the user whose estimate was accepted.
A contact can have multiple tickets and can receive multiple estimates on each ticket before the opportunity is assigned. Because there's no way to put one contact into the same workflow, I have to use the Allow Duplicate Contacts setting to allow multiple tickets. Then, updating an Opportunity becomes impossible because I can't select the Opportunity associated with the correct Contact.
There are two (real) (maybe three) ways to fix this:
  1. Allow the Inbound Webhook Trigger to identify the contact by their ID.
  2. Create an Array type of Custom Field (or "Custom Objects")
  3. Create Custom Fields on Opportunities (not recommended)*
I think that allowing a
parameter on the Inbound Webhook Trigger itself would be the easiest and most intuitive way to do it.
* by allowing Multiple Opportunities, you can create one Opportunity per "Estimate" and then sort the ticket out manually, but this eliminates the potential for automation, since Workflows operate on Contacts, not Opportunities. It will also select an arbitrary contact each time, which creates further confusion, eliminating the potential for a Contact to have multiple Tickets with Estimates.