Is there a good, fast, cheap solution for web forms?

transportationchoices

Transportation Choices used a web designer to make their Salesforce Web-to-Lead form all fancy.

QUESTION: How can I make the simplest, cheapest “contact us” web form that will generate a new lead record in Salesforce and that people would actually want to use?

BACKGROUND RESEARCH: I’ve tested Salesforce’s web-to-lead many times in free Google Sites, but research indicates most nonprofits are using WordPress.

HYPOTHESIS: A WordPress site and Salesforce’s ancient web-to-lead form will get the job done.

WEBINAR PLUG: Tomorrow Get Started with Engagement:  Build Web Forms. Tue, Apr 14, 2020 9:00 AM – 10:00 AM PDT Continue reading →

Delete Opportunity Contact Roles for Deceased Contacts

Cover image of fictional book

Don’t forget to handle your technical debt in the afterlife.

Question: When a contact dies, how can you use Flow to delete their Opportunity Contact Roles for open opportunities? Answer: With a Loop!

Here’s the unmanaged package.

Use common sense. Install and test thoroughly in a sandbox! You’re deleting records! I made it really quickly and did not test thoroughly!

Here are the requirements as posted by Ashlynn on the Power of Us Hub:

“I am trying to set up an autolaunched flow to remove Opportunity Contact Roles from open opportunities with deceased contacts. (For example, we are soliciting a major gift from a couple, and one of them passes away before the donation is received.) I have successfully configured a process to remove the deceased contact from acknowledgement for that gift when it comes in, but for the sake of clean data I would like to also automatically remove their OCR from the opportunity record. I am coming up with ‘unhandled faults’ and hoping since this is only my 2nd flow ever that someone will be able to see an obvious error with my configuration.

Continue reading →

How to Include an Unsubscribe Link, Revised

Install now from the AppExchange.

Allow Recipients to Unsubscribe From All Email Sent via Salesforce

View demo.

When the recipient clicks to unsubscribe, a flow will look for all contacts and leads who have this as their preferred email address (if you’re in Nonprofit Success Pack) or in the Email field. All contacts or leads who meet that requirement will be marked “Email Opt Out.”  The email address owner will receive one confirmation email immediately.

Please try this in your sandbox, developer org or Trailhead playground first! 

Learn why you should consider including an unsubscribe link. 

Instructions

Thanks to improvements to Flow in Summer ’20 this app is now much easier to install! You should know how to modify a page layout and a profile, create or modify an email template, and use a sandbox. You will install a package that contains Flow and Process Builder, but you don’t need to know how to use them.

Follow along with this worksheet while you’re setting up the app.

Watch the video and/or read the instructions below.

First step: install the app from appExchange.

Second step: Set up My Domain. Instructions here from Trailhead.

Create a Site

  • (Setup -> User Interface -> Sites and Domains -> Sites)
  • Create a new Site.
  • If you don’t have a Site domain, you’ll need to set one up. You may want to use the same domain as your “My” domain.
  • Label: Make the label the name of your organization or whomever the confirmation email should appear from. I will put “Ugly Dog Adoption Agency” and the unsubscribe confirmation email will appear from “Ugly Dog Adoption Agency Site Guest User.”
  • Site Name: Unsubscribe (so internally you know what this is about).
  • Site Contact: Defaults to your user.
  • Click Active.
  • Active Site Home Page: find the Visualforce page Unsubscribe.
  • A default web address does not need to be specified.
  • Save.
  • Copy and save the Site URL for use in a later step.

Modify the Flow for Summer ’20

  • Open Unsubscribe Part 1 Flow. 
    • Modify the variable OrganizationName (not a Summer ’20 update).
      • To do so, click on Manager in the left column under “Toolbox.”
      • Click on OrganizationName.
      • Replace “our organization” under default value with the name of your organization. This will appear in the confirmation email and on the flow screens.
  • Click Save As.
  • Click Show Advanced.
  • Under “How to Run the Flow,” select System Context without Sharing–Access All Data. Click Save. Click Activate. (This step is required after Summer ’20).

Set Up Email Templates

The package contains a folder of classic email templates called Unsubscribe.

Classic Email Templates

  • Unsubscribe Contact HTML Template
  • Unsubscribe Link VF Contacts Template
  • Unsubscribe Link VF Leads Template

Open the email templates and find the instructions for modifying the unsubscribe link to work for your site. The HTML template does not work for email addresses that include special characters like plus signs, so I’d recommend using the Visualforce (VF) email templates if you can.

Lightning Email Templates

Lightning email templates cannot be included in packages at this time, so you’ll need to create your own.

  • Search for Email Templates in your AppLauncher.
  • Create a new email template.
  • Name it whatever you like.
  • In Related Entity Type choose Contact.
  • Click on the button Source and paste in this HTML
<a href="http://INSERTYOURDOMAINHERE/Unsubscribe?recordId={{{Recipient.Id}}}&Email={{{Recipient.Email}}}">Click here to unsubscribe from all emails from our organization.</a>
  • Modify the HTML of the link above by changing this part:
    INSERTYOURDOMAINHERE to the Site URL you saved earlier.
  • Change “our organization” to the name of your organization.
  • Write the rest of the email, including a subject and save.

Modify or Remove the Confirmation Email

To remove the confirmation email all together, follow the instructions here.

To modify the content:

  • To change only the phrase “our organization,” see the instructions above under “Modify the Flow for Summer ’20.”
  • To change the rest of the email body:
    • Open Unsubscribe Part 1 Flow.
    • Click on Manager in the left column under “Toolbox.”
    • Click on PlainTextEmailBody under “Formulas.”
    • Modify the formula.
  • Click Save As.
  • Click Show Advanced.
  • Under “How to Run the Flow,” select System Context without Sharing–Access All Data. Click Save. Click Activate.

Test It Out

  • In your sandbox, make sure Email Deliverability is turned on.
    • Go to setup. Search for “Deliverability.”
    • Set the access level to “All email.”
    • Be very careful if you are using a sandbox with real data – do you have any automated processes that are now going to start firing off emails like crazy? Remember to turn off email deliverability when you’re done testing.
  • Optional: Edit your Contact and Lead page layouts.
    • Add the Email Opt Out field.
    • Add the Unsubscribe related list. You may want to add other fields here like Unsubscribe EmailCreated DateStatus
  • Create a contact with your email address.
  • TEST IT!
    • Send an email to that contact (using the template you created) to test it. Make sure the contact has “Email Opt Out” unchecked.
    • When you click the link it should look like this.

The next page should look like this.

  • Look for that confirmation email.
  • Open the contact record and confirm the following:
    • Email opt out is now checked
  • There is a new related Unsubscribe record and Status = “Unsubscribed.”

A Glorious NPSP Day Seattle

npspday

“Next step in our : The meta-peeps create some organized chaos: What’s unknown in @SalesforceOrg‘s NPSP, at .” Photo &Tweet from @BRCTweets (Barbara Christensen)

Both years I’ve attended NPSP we’ve had incredible weather so the idea of a unhandled sunshine error is not applicable to this magical day.

MOOD of the room: Excited, happy, energized, grateful to be part of this amazing supportive community.

KUDOS: Ryan Ozimek and Katie Fadden are delightful facilitators! Megan and everyone at 501 Commons pulled this off flawlessly the day after Give Big! Congrats to Crystal on the birth of her new baby girl! So much !!!

STRAIGHT TALK: In this segment of the programming, we brought the elephant to the center of the room and talked about the .org acquisition. As a .org employee, I just want to make it clear that the opinions below are those of other folks who attended, some of which I might share, but they by no means reflect any official stance of Salesforce:

  • We want .org or .com to say “IT’S GOING TO BE OKAY. YOU DON’T NEED TO WORRY.”

Continue reading →

Printable Donor Profile

Sometimes as a Salesforce admin I’ve been asked to do things which just seem ridiculously old school, not very efficient and may involve actual paper. When I cannot convince someone to click through a few screens, instead of printing or having an email sent to them, it gets my admin panties all in a bunch.  (Wouldn’t that be cool, to have actual admin panties?!)

Sexy Sys Admin Women's Boy Brief

Not actually surprised that these exist! Thanks Cafe Press Canada!

But when working with a nonprofit, you gotta just let it go. And that is how this printable donor profile came into being.

My pro bono client: The Cedar River Clinics, which are fantastic, independent reproductive & LGBTQ health clinics in Renton, Seattle, and Tacoma.

My task:  Create a one-page document with important donor information.  The development director will print the doc and hand it to the executive director to review before she calls a major donor.  Continue reading →

When to Include an Unsubscribe Link

The benefits of sending email directly from Salesforce are that you can automate when they go out, you can send up to 5,000 emails per day, and email templates are really simple to set up.

woman using white smartphone on front of table

Dear Asses and Donkeys Trust, I no longer want to receive your email. XOXO, Belinda

But any time you’re emailing groups of people, you should be mindful of the requirements of the CAN-SPAM law (which I just learned isn’t called the “Canned Spam” law). CAN-SPAM requires that emails, in certain scenarios, provide an option for the recipient to unsubscribe.

I am writing to you on my personal blog as a puzzle-solving Salesforce admin, not a Salesforce employee. Your decisions around unsubscribe options can have legal implications for your organization so please do not take anything from this post as legal guidance or means to make your communications legally compliant.  That decision is between you and your lawyers.

Continue reading →