Contact Details Update Forms

I’d like to create forms that I can use both internally and to send to contacts to update a contact’s custom fields, but also have those fields pre-populated based off of

So, for example, new client submits a webform with contact details. I contact them, and am able to access a webform (I’m not sure how yet, maybe via email, via a note in their profile, etc) that has additional information needed to complete the intake process.

Once I submit that form, the contact’s details are updated.

Any suggestions on this?

1 Like

Hi Andrew,

I’m sure there are several ways to tackle this, but here are a couple ideas that may work.

If you primarily want contacts to be able to update their data.

First, change the Subcription Update form to include the fields you need. Go to Lists, then click the dropdown on the far right and select Advanced Settings. Go to the Public Pages tab and click Edit next to Subcription Updates.

To allow your contact to update their record, send them an email using the %UPDATELINK% personalization tag.

If you Primarily want an "Internal Form"
[Ok, this is a little trickier, but seems to work]

When you build a form with the form builder, you can get a link to that form. Right now, if you include parameters on that link, the form will prepopulate the fields. I say right now, because I’m not sure if this is a documented feature or not - maybe someone from AC can chime in.

Here’s an example - let’s assume that:

If I create a link that looks like this -
https://myapp.activehosted.com/f/10?email=my_email@test.com&firstname=Test

It will pull up the form with the field populated. I can then edit this form and save it.

The problem with this approach is you need to have the current data to populate the form fields. Here is one approach for tackling that:

  1. Use Zapier to push the fields you need to a Google Sheet whenever a contact is added or updated
  2. Create a formula in Google Sheets to build the link above
  3. Click on the link in Google Sheets to pull up the form

I’m sure there are plenty of scenarios that can expose shortcomings in this approach, but it seems to work.

HTH
Bill

2 Likes

Internal form was pretty much what I was looking at, I’m going to try and use method. It’s definitely a bit clunky, but it might just do the job.

Andrew,

Not sure how far along you are with this, but I was playing around this evening (I know, I need a life ) and I found a better way to do this using just AC and Zapier.

Basically, I create a zap that looks for a specific type of task to be added to a deal. Then, using Zapier, I create a new Deal task using the info from the task that triggered the zap (hope that makes sense). I can build the form link with parameters in the Task Note. The nice thing is, this link is now clickable in the task list, so it will bring up the form with fields pre-populated.

Hope that makes sense. I’m not sure how familiar you are with Zapier, so I wasn’t sure how much detail to go into. I probably should make a video and/or blog post - just so I can remember what I did next week .

I’m excited that you figured this out! I’m very familiar with Zapier, but still a bit lost. A quick screenflow or even just screenshots would be helpful.

I think I see what you’re doing there with the task note though, I may try that with the deal note or contact note or something along those lines!

Ok, so I need a life, too!

I love the idea of creating a link in the task note, that’s very helpful.

My only problem now is that URLs for pre-filled forms tend to be long, complex, and sometimes break when odd characters are entered and the URL is not encoded.

Unfortunately, none of the URL shortening apps have a Zapier integration. I’ve reached out to Bit.ly last week and requested that they join, but perhaps if more people asked, we’d have a better shot at them integrating up Zapier access :slight_smile:

So overall, it works, just needs polishing! Thank you for the idea.

I’m working on a short video, but you’re too fast for me . Just curious, on which side are you building the URL? I was building it on the Zapier side. Yes, it’s kind of a pain, but figured I’d only have to do it once that way - and probably will have the same challenges with encoding.

In my example, Step 1 Task Note is where I was storing the base URL for the form. Probably won’t do that going forward as it just adds complexity / increases the chances for error.

1 Like

I’m creating the URL in Zapier, similar to you. But I don’t understand what you’re doing where you’re using the Step 1 Task Note field. I’m using a full url, i.e.:

http://www.theform.com?firstname={ZapierFieldData}&email={AnotherZapierFieldData}

I’m really excited by this. I have a few different workflows that involve collecting information, and I can create new tasks with the a URL to the form to complete as the contact moves through the deal pipeline.

My triggers are going to vary, but right now, here’s an example workflow.

  1. Contact Fills out an activecampaign form on my website where I request name, email, phone, and a brief description of their problem. This Triggers a Zap.
  2. Contact is created.
  3. Deal is created for the contact.
  4. A task is created on that deal of the type “Complete Intake Form,” with a URL to a form with additional questions to be completed by an intake person.

Another trigger might come once I’ve done that intake form, and have done my conflict check, and need to create a new matter in my billing software. There’s a set of data that needed there. That will also be an AC form.

1 Like

In Step 1 - I was passing the “base” form URL via the task note. I was testing this out - not sure I will do it as it seems to complicate things. If I can get Camtasia to cooperate, I’ll post a quick video shortly

Ok, here is a quick and dirty video about how I’ve been doing this - http://www.screencast.com/t/bkL6iGwwU

I’ll be making a better one for my blog, but hopefully this will help some.

Beautiful, thank you. I’m using a different trigger, but the Action part of the Zap is the same. Very useful!

Also, your tip on “Inspect” was something I needed. It wasn’t easy for me to find the ID values for the task types. Thanks!

We’re close here! The problem I’m running into now is that AC gives certain custom fields a field name of “field” where x is a unique number. If I put that in the query string, that field is not auto populating. So auto population only works on system (the default) fields.

So the link you provided above works, but if I add a textarea field to my URL, the text area does not populate. https://myapp.activehosted.com/f/10?email=my_email@test.com&firstname=Test&field[14]=(some URL encoded text)

Hi Andrew,

I added a few test fields and couldn’t duplicate the field[x] format. Quick question, can you edit the Personalization Tag for that field (and then use that tag in your URL)?

That worked!

I didn’t expect that to work because the personalization tags are not in the HTML, but after testing, it does seem to work!

(Here’s a screenshot of the code for one of the textarea fields)

1 Like

That’s great! Thanks for letting me know, I’ll put that one in my AC notebook

1 Like

Ok, so after a month, I’ve got a bit of feedback.

  1. When you have many form fields, it can cause some REALLY long URLs to appear within the feed on a deal’s page. They were really too long to be useful to me. Right now, Zapier does not integrate with any URL shorteners, so I had to install the open source software at yourls.org to shorten my URLs. Works much better now.
  2. Now that it’s more useful, I’m discovering more problems :slight_smile: One problem is that forms are tied to email addresses, so you can’t use a form to change a contact’s email address.
  3. A second problem is that the form data isn’t pulled from the contact’s record, it’s recorded in the URL. I was creating the URL when the deal is created, but the problem with that is that it’s using the contact’s data as it’s entered at that time. It isn’t pulling the contact’s current data. So if a contact record is updated manually, and you go to click the link to use the form, then you’ll lose that manual update.

Thanks for sharing your feedback. I can see how those types of problems can arise.

I’m not sure if we can do much more other than writing some code that works with the API. I’ve been trying to avoid that as it’s not my main skill set and I know how much time I burn when I do stuff like that . I’m hoping there will be something in the new contact record release that might be of help. I believe I’m “in line” for that but haven’t seen it yet.

Hi Rebar
I was trying to use your first proposal, as what I want is asking contact to complete/update some of their data. I already have his/her name and email.

Your proposal sound nice to me. I describe it in my own words, and highlight where I am getting lost.

I have found the Subcription Update form and beingn able to add the fields I need to it.
I can design a nice e-mail to the contact telling them why we are requesting additional information, and if they agree they can do two things (any of them is good for me, and preferred the second)
a) Either they can click into a button that will send to a page with the Subcription Update form.
b) We can show the suscription Update form in the e-mail body.

I have the following problems:
I´m unable to find the Subcription Update form URL
I don’t know how/whwere to use the %UPDATELINK% personalization tag. And I have been looking intensively for tit.

Any suggestion on this. Is there any documentation available to read? (all I found is too generic)

It looks like they may have moved the subscription update form. Look at the bottom of this thread for directions to access it - https://community.activecampaign.com/t/changing-update-details-form/499/4

To add the %UPDATELINK% to an email, first click on the “Personalization” button in the email builder. Then:

HTH,

Bill

Thank you very much for your information.

I’m afraid I didn’t make the proper question.

Let me provide some background in order to have a clearer view of what I need.

It’s a I have contact that has described himself with a subset of data: The name and the email.

But for our purposes we need additionally the phone number.

For that reason we build an automation that sends the contact a nice email informing that we need his phone number, why we need it and how we will use it. If he agrees with that we ask him to provide us with the phone number.

In order to do that what I want is that the email has a button. If the customer clicks on it, will display a new page of the browser with a form that has the already collected information from him, allow him to introduce his phone and update his information.

What have I tried?

1.- To use a custom defined form. The problem with it is that, from an automation, I was unable to provide the form with the customer currently available information in order to display it in the form.

2.- To use the “Subscription update” process from the “Integration settings for list”. The East with this process is that the initiative to launch it comes from the contact. This was not the case as I need to take the initiative myself. I am the one that needs to send the customer the email. So I discarded this approach.

3.- to use only a small piece of his “Subscription update” process: to use only the “Form to update subscription”.

What I did was to Design the “Form to update subscription” using the tools available in the system.

Once done that I created the automation with an email that includes button with the following instruction: Provide phone

And it worked nicely. The contact received the email, he can click on the button. Then a new page was displayed in the browser with the form already fulfilled with the contact data but the Phone number. He may provide the phone number and then update all his information.

It has only one issue. If the customer is subscribed to several lists, then I have no control which form is displayed. It can be the “Form to update subscription” of any of the lists.

Any suggestions on how can I ensure from an automation that the “Form to update subscription” displayed is the one belonging to the list I need?

Very grateful in advance for any advice.