I know there are a lot of potential solutions for the HTML-form-to-salesforce use case, but I am trying to understand what is involved w/ building a custom endpoint to accept form data, and what alternatives I should consider.
Background:
We are doing a major website redesign (Drupal). As part of the new design, we will have a simple email signup form in the footer on all pages.
We currently use FormAssembly for all of our web forms, which works very well for most of our needs, but cannot handle multiple forms per page (the FA support team has confirmed this is not feasible. We are looking at some hacks that might make it possible, but not a great solution).
Since the email form will be in the site footer on all pages, any page with a form will always have more than one form per page.
My current line of thinking is to look at using a different avenue to submit the email signup form to Salesforce, which would resolve the two-forms-per-page issue. For speed, I would just process the result to create a custom object, and use a flow on a time trigger or an async trigger to process the result (match on contact/lead else create new).
Ideas I'm Aware Of:
- Web to lead form
- Force.com site w visualforce page
- Force.com site w/ visual workflow
- Other apps (formstack, getFeedback, wufoo, etc)
- Iframes
- Salesforce Drupal Module
- Salesforce PHP SDK
What I would like to know: Is it possible to create an apex endpoint to which I can submit a form?
Do I need to still use a force.com site to open up the endpoint? If so, does that introduce any limits or considerations.
What are the key complexities involved with or without a force.com site (authentication, limits, error handling, etc).
What are other alternatives to consider (like Heroku or other things which I do not know much about)?
Thanks as always.