Using Profiles: Ask Your Members To Update Their Own Info

You can also do this trick with webforms.

One feature of PowerBase is the ability to send a personalized email to existing people in your database that allows them to update their own information using the Profile feature. Each person that you send this email to will have a special, unique link that is good for 7 days. When that link is clicked it opens the database in their browser with the fields of information within their contact record that you want them to update. If those fields contain information already, then that information will appear in their profile form and they can edit it if they wish.

Here’s how you can do this:

Update your permissions

Feel free to ask for help with this one - since it is not normally done. By default, we don't allow people to edit and view records using this method for security reasons. If you want to enable it, you must enable two permissions for anonymous users:

  • CiviCRM: profile edit
  • CiviCRM: profile view

Check your data

Make sure that the people you want to update their info in your database already have a record with at least an email addresses. I know, obvious, but still...

Create the Profile form

We have a full help file on creating profiles which explains all the ins and outs. For this profile, you can use the default values with the following exceptions:

  • Be sure that the "Used For" field has "Standalone Form or Directory" checked.
  • What to do upon duplicate match - "Update the matching contact"

NOTE if someone makes an error or the email gets forwarded to the wrong person, this will OVERWRITE the old information with the new, possibly, incorrect information. The safest way to manage this is to select "Allow duplicate contact to be created", but that means you will have to back and find the new records and dedupe your PowerBase. If you chose this option, make sure you pick a group for "Add new contacts to a Group?"

Additionally, as you add each field you want on the form:

  • Make sure that, when entering address fields, you select the SAME location type for each address component. Use "Home" if you want the home address. Use "Primary" if you want to overwrite whatever the default primary address type, which is usually set to "HOME".
  • Select "User and User Admin Only" for “Visibility"

Find out the ID of profile created

When you send the link of the profile form to contacts via email, you will need to know the ID profile you just created. To find the ID, click on Administer -> Customize -> CiviCRM Profile, then locate the ID number in ID column for the Profile Title of the profile you will be using.

Create the email

In your email, you will need to include the link to the profile form you want people to update, along with tokens. Tokens are place holders that will be replaced with information specific to the person receiving the email.

You may want to compose your email with:

• Use the "Insert Tokens" link to insert the First Name of the person if you want to personalize the email with the name of the person receiving the email. If you are sending an email to multiple people, you could start the email with "Dear {contact.first_name}" and each person will get an email with the token replaced with their first name.

• Use the "Insert Tokens" link to insert a token that is called Checksum and the Internal Contact ID. The combination using Checksum and the Internal Contact ID allows people to access to their record (in this case, via the profile form). You need to use the Checksum token inside a web address that you will create for your folks to click on. That web address will follow this convention:{contact.contact_id}&{contact.checksum} where N is the ID of the Profile you want to send them to.

  • First replace "SITE" with the name of your PowerBase
  • Replace N with the profile ID you found in step 3 above.
  • Then place the Internal Contact ID token and the Checksum token in their proper places in the link and you are good to go.

For example, if your profile form’s ID was number 12, then the link would look like: "{contact.contact_id}&{contact.checksum}"

Finish your email and when you send it out, each person will have a personalized link to their information in the database. This link will expire in 7 days.

When doing this for the first time, make a small group to use for testing. Make sure that your are NOT logged into PowerBase when you click on the link in the email. This will allow you to see the experience that your users will have.

Collecting and Managing Contact Information