Is there a way to send a 'form' to your Contacts (not registered as Users), get their reply and update their respective contact record based on the replies. Has anyone done this before? Till now I have, 1) create a public site with 2) a visualforce page accessing a visual workflow screen as form which 3) updates the contact record 3) Send site URL through email manually.

Thank you

  • 1
    And you question would be? Sounds to me like you have it working...Just need to figure out your process for sending the URL or place it on your website or whatever
    – Eric
    Jan 7 '17 at 22:01

Your approach is fine, but site guest user does not have update permission on contact, so your flow will need to write to a custom object and you can use process builder or autolaunched flow to update contact record.

I wrote up a post around using flows as a replacement for stay in touch that is similar to what you are doing


Note that I do not know if this approach violates Salesforce terms of use, since it bypasses the restriction on site guest user updating contact, so keep that in mind.

  • Thanks Gorav, I actually was thinking about the guest user permissions too. Great that you have tackled this using a temporary object. Would you mind me asking, if not this method, is there any alternate way to capture responses from public users and store it on their contact record?
    – KLab
    Jan 8 '17 at 17:04
  • Apps like formAssembly, getFeedback, etc make it very easy, at a cost. You might be able to use web to case w visual workflow, but not sure if you can pass contactId as a hidden field to w2c. If you want to build your own form, then you need to build a custom Apex rest endpoint that the form can post to. We ended up going that route for a few forms, so we could use native Drupal translation functionality, and use formAssembly for most other forms.
    – gorav
    Jan 8 '17 at 20:16

According to me the best way is -

  1. Create a visualforce page as form.
  2. Host that page on your public site.
  3. Create a button on the contact detail page that will shoot the email for that particular record.
  4. You should have an email template pointing to that public site url and should have the contact id or any unique id that will identify the contact to which the response will be recorded.
  5. The #3 and #4 will be linked thru an another visualforce page which will be responsible to shoot email (the controller of this visualforce page will select the email template that you created in #4).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.