Currently, if a custom opportunity field is used in a form, it automatically creates a new opportunity. While there are use cases for this, I have far more use cases for updating an existing opportunity.
Example: I have an electrician client with a form his engineers use to update paperwork. The form works off a trigger link. What he wanted to happen was for the opportunity to be updated in the specified pipeline stage. But instead, it creates a new opportunity.
I have tried creating an automation with the trigger being the form submission, but this updates the new opportunity, not the existing one.
I cannot prevent duplicate opportunities as the client has a lot of return customers. "Allow duplicate opportunities" should actually be called "Allow multiple opportunities". I don't think anybody wants truly duplicate opportunities, they want multiple opportunities against the same contact, with the ability to decide whether a form or automation should create a new opportunity or update an existing one.
Any automation that sends forms to opportunities would also require the current opportunity to be updated.
I was so excited to see opportunity-level custom fields be released, but they're still not quite there. There is still too much reliance on storing data against the contact.