New Release

HTTP Callout in Salesforce Summer 23 – POST (Beta) – 3/3

Now, you will build the flow you will host on the community (digital experience) site.

Important note: We will set this flow up to run at the System context without sharing under the Advanced Flow settings.

This simple flow gets an opportunity using the record Id as input and displays critical field values on the screen. Note that a decision is built to handle no or invalid recordId input.

Here is what the Display Text component looks like in the Screen Element.

Once you complete your flow and activate it, create a public community (digital experience) site and add your flow to the main page. Several steps must be followed to set up guest user access properly. We will not go into these steps in this post. Comment below if you need a follow-up post with detailed steps, please.

Once you set up your community, you can pass the recordId as a URL parameter to your flow to see the Opportunity record field values on your screen. You see the long URL in the browser address bar below.

Now, set up a simple record-triggered flow to populate the URL (long URL) field on the Opportunity record. Here is how you do it.

Now set up another record-triggered flow to send an email with the short URL to the owner of the record.

Your email action looks like this in Summer 23 (Yay!).

Your email body text template will look like this.

Your email will look can be seen in the image below. You may think it is silly to shorten the URL by looking at this since we can hide it in an HTML email. That is correct, however, the actual value add is when you need to text (SMS) the link. Short URL looks much better.

After debugging and activating all your flows, you can create a new Opportunity like the one below. Hint: Cloning and modifying a few field values work well when testing.

Voila: Your long URL and short URL are populated, and the email was sent to the record owner’s email inbox.

Enjoy

Note: These posts were written as a result of a collaboration between Josh Dayment and Andy Engin Utkan. I want to thank Josh Dayment for his relentless efforts and countless trials to get this demo to work.

Related Links:

Create HTTP Callout – POST 1/3

Create HTTP Callout – POST 2/3

Create HTTP Callout – GET

Standard
New Release

HTTP Callout in Salesforce Summer 23 – POST (Beta) – 2/3

In the flow builder, you must add an action element for the HTTP Callout.

Before you do that, let’s set up the Named Credential the Callout needs.

In setup, go to Named Credentials, select the second tab for the External Credentials, and click on New.

Set up your External Credential as follows.

Per Bit.ly API documentation, your header must pass the Access Token to the Bit.ly API. Generate your Access Token on Bit.ly, as seen below.

Your Access Token will be saved in Principals under Named Credentials. Set it up as follows.

Paste the Access Token form Bit.ly into the value field.

Now your Principle is ready to be used.

The Bit.ly API expects the Access Token to be passed in the header. This is the header section that you will need to set up.

Create your first custom header as follows.

One more custom header is needed. Set it up exactly like in the image below.

Now you are ready to complete your Named Credential setup.

Having set up all parameters the HTTP Callout needs, go to your flow to create the action. Insert an action element and click on “Create HTTP Callout”.

Give it a Name and choose the Named Credential you created. Click Next.

Set up the following parameters.

Get your example request and response JSON here: https://dev.bitly.com/docs/tutorials/shorten-customize-links/

Paste the JSON and click on Review. Hit Done.

Do the same thing for the response. This will create the Apex Defined Variables.

You should see two checkmarks after you click on Done above. Once you complete these steps, your HTTP Callout will be ready.

Now let’s set up the remaining flows and the community (digital experience) site.

Please continue to the third post by clicking here.

Related Links:

Create HTTP Callout – POST 1/3

Create HTTP Callout – POST 3/3

Create HTTP Callout – GET

Standard
New Release

HTTP Callout in Salesforce Summer 23 – POST (Beta) – 1/3

HTTP Callout in Spring 23 got many people excited. The blog post and the video by Josh Dayment and I drew quite some attention. We heard one criticism for this functionality: the solution was incomplete without the POST method.

With Summer 23, the Salesforce Flow Product Team not only moves the GET method to GA, but also gives us the POST method in Beta.

The use case we picked for this demo is based on a real-life client requirement. The client wants to shorten the long URL links before they send them to customers via email or text. Text (SMS) requirement is very important because we cannot hide the long URL behind a short label there since SMS does not support rich text. I don’t have texting set up in my preview Org, therefore, I will demo this using email.

The solution consists of many parts. The list is as follows:

  • Bit.ly is the service that supports an API with a POST method to shorten URLs. We will need an account with Bit.ly. The good thing is they allow us to use the service for free until we reach a certain number. (1)
  • A record-triggered flow with an async path that uses the HTTP callout to Bit.ly to shorten the URL (2)
  • A public digital experience (community) site that houses a screen flow to display the critical field values for the Opportunity (3)
  • A screen flow that runs at system context without sharing to show the critical Opportunity field values on the community site. (4)
  • A simple record-triggered flow to create the long URL on the record (this can also be a formula field) (5)
  • A simple record-triggered flow that generates the email with the short link. (6)

And a few custom fields on the Opportunity object: URL (long) and Short URL text fields and a Short URL Requested checkbox field.

First, we go to Bit.ly to create a free account. They have API documentation available. However, I cannot say the documentation is very clear. Here is the relevant settings page we need to create the access token for the API.

*I wiped my values from the screenshot; you will need to copy yours by going to this screen.

We will come back to this later.

Let’s walk you through the flow that will execute the HTTP Callout.

Create these custom fields on the Opportunity object:

URL (Text)

Short URL (Text)

Short URL Requested (Checkbox)

Then create the HTTP callout async record-triggered flow.

This is how the flow looks after it is completed.

Set up the start element as follows.

Build an assignment element to assign field values. You will assign the input parameters Bit.ly API needs to the Apex defined variable that the “Create HTTP Callout” builder provides us. Initially, enter a fixed URL here, such as SalesforceBreak.com, until you can get the flow to work without issues.

Get your group Id from Bit.ly from your browser address bar when you display this screen here.

The only input parameter that the callout action needs is the Apex defined variable.

The short URL is again inside an Apex defined variable under 2XX>link. We will update this value to the short URL custom field of the Opportunity record.

But you can do all this after properly creating your HTTP callout action. And that requires a few steps.

Read the next post to learn how the HTTP Callout action is set up.

Please continue to the second post by clicking here.

Related links:

Create HTTP Callout – POST 2/3

Create HTTP Callout – POST 3/3

Create HTTP Callout – GET

Standard
Flow Tips Newsletter, Uncategorized

Winter 23 Flow Formula Editor – Salesforce Flow Tips Newsletter

Hello folks,

Let’s get started with the Winter 23 Flow enhancements, shall we? Who doesn’t like to save time and effort?

One of the biggest improvements is the formula resource editor with the instant syntax check button.

This functionality first came for the start element and the collection filter in the previous releases. Now we get the same editor across the board in the flow builder.

No more writing a formula, saving the flow, and crossing your fingers hoping it won’t yield an error message.

You can check for errors as you build your formula on the same screen using the Syntax Check button.

One disclaimer is that I saw some inconsistent behavior in my preview Dev Org:

Some of the collection filter formulas I built that I thought should pass, did not pass the syntax check. But we still have time until the release. I am sure it will be ready by then.

Now content announcements:

  • I am super excited that my session proposal has been accepted for Florida Dreamin’ 2022. I will be presenting there for the third year in a row. My session is titled: “Flow Design & Mapping: From Idea to the Flow Canvas“. It will be super interesting, I promise you. Come and see it: Register for the event here.
  • Last week, I presented the new Winter 23 Flow functionality at a virtual Jacksonville Salesforce Saturday event. I tried out the new enhancements live and recorded the event. Watch Winter 23 Flow Features – Salesforce Saturday here.

Enjoy.

P.S. Originally published on 08/30/2022.

Read the previous issue of the newsletter here.

Subscribe to the weekly educational Salesforce Flow Tips newsletter here.

Standard
Flow Tips Newsletter

New Features of Summer 22 (continued) – Salesforce Flow Tips Newsletter

Hello folks,

Summer 22 is arriving soon, and the second part of my quick tour is here.

In the last issue of the newsletter, I showed you a few changes that will be released soon. Let’s continue.

Screen flow enhancements:

1-Collapsible headings for sections: We received the functionality of multicolumn sections in screen flows a few releases ago, and I love them. With this release, we get a header, which makes the section collapsible.

2-Dynamic Forms (Fields – Still Beta) supports Name and Address Fields: Fields functionality is a very promising functionality that now supports Name (Salutation, First Name, Last Name) and a full Address. I don’t understand why this is still in beta, though.

3-Dynamic Forms Address automatically populates address: When you combine the new Address field with the Google Typehead functionality, you give the user the power to populate the address fields automatically.

Some other notable enhancements:

1-Orchestrations are deployable via change sets now.

2-Associated flows can be opened from within the Orchestration via a link.

3-You can order triggered Orchestrations with Flow Trigger Explorer exactly as you do with flows.

I want to add that dragging items on the Flow Trigger Explorer changes your flow’s running order parameter setting. The screen shows you a confirmation screen explaining the change.

The big news of this release is the addition of the No-Code Flow Testing (Beta), though. I am super excited about this, but I will take my time to review it before going into more detail.

I am heading to Texas Dreamin’. I will present there on the Flow Trigger Explorer and the Orchestrator. Come to my session if you will be there. If you won’t be there, no worries; I will present similar content soon virtually. Stay tuned.

Enjoy.

P.S. Originally published on 04/26/2022.

Read the previous issue of the newsletter here.

Read the next issue of the newsletter here.

Subscribe to the weekly educational Salesforce Flow Tips newsletter here.

Standard
Flow Tips Newsletter

3 New Features of Summer 22 – Salesforce Flow Tips Newsletter

Hello folks,

Summer 22 is arriving soon, and I am here to give you a quick tour of the new functionality coming your way.

But before I do that, I would like to share that I wrote a brand new post for Salesforce Ben. It was published a week ago, and it is still the number one post on the site. Please read my post titled “7 Foundational Skills Before Learning Salesforce Flows” here.

The format of this post will include pictures more than words. Let me show you screenshots of what is coming. This release is loaded again with flow enhancements:

1-Flow Trigger Explorer supports manual reordering of triggered flows. You can create a new flow right from this dialogue. This action will prefill the start element for you. RT Orchestrations are also supported, which I have not seen or tested yet. When you open Flow Details and Versions on the right-side panel, you see all flow versions. You can open each version via a link and activate the version you want on this side panel. This functionality is better than the existing alternative in my humble opinion.

2-RT Automation got some serious love in this release. Now we can build complex formulas in our start entry criteria. Let me test and tell you how debugging works later. We get assistance via field and function pickers when building the formula. You can go crazy now with field values, prior field values, and functions.

The formula builder checks syntax similar to the formula field builder of the object manager. If you are sloppy with your work, you will get a red error message when you check syntax via this button. The formula resource builder did not get any love though, as far as I know.

3-Low-code flow testing comes to life. On your flow canvas, you will see a “View Tests” button on the upper right side. You will have to agree to the terms when you click on it because the functionality is in beta as of Summer 22. Then, you click create, and you start building your test.

I played around with the test builder a little bit. Disclaimer: I don’t know anything about the functionality. I saw this error message very frequently. At least for now, I can easily say this functionality deserved the beta badge.

Next week, I will continue my preview with the new screen flow functionality.

Enjoy.

P.S. Originally published on 04/18/2022.

Read the previous issue of the newsletter here.

Read the next issue of the newsletter here.

Subscribe to the weekly educational Salesforce Flow Tips newsletter here.

Standard
Flow Tips Newsletter

Top 6 Spring 22 Features – Salesforce Flow Tips Newsletter

Hello folks,

Let’s talk about the new goodies hidden in the Salesforce Spring 22 release notes for flow.

First of all, let me point out that when you go to the release notes, you need to click on “Einstein Automate” to find flows. Weird, right? I know.

Here is my top 6 list:

1. First place goes to the Flow Trigger Explorer and the run order setting: You can now Visualize All Your Record-Triggered Flows in One Place with Flow Trigger Explorer and Define the Run Order of Record-Triggered Flows for an Object.

2. Second place goes to the Flow Orchestrator: Declaratively build sophisticated business processes that involve multiple people over multiple stages with multiple flows. Display orchestrated work items to assignees on relevant record pages. I will dive into this in one of the future issues of the newsletter. This feature is now generally available. 

3. The bronze medal goes to the Migrate to Flow Tool (Beta): It’s time to begin the transition to using Flow Builder, the future of low-code automation. Use the Migrate to Flow tool to convert your workflow rules into flows. Although I personally don’t recommend resorting to this solution more than you need to, it eliminates the possibility of refactoring and optimization.

4. Auto-Layout: Finally generally available now. Building flows and aligning elements are easier with auto-layout. Elements on the canvas are spaced, connected, and aligned automatically, saving you time and keeping your canvas neatly organized. Auto-layout is now the default canvas layout for flows.

5. Filter Items into a Collection in Flow Builder: This is huge for sophisticated flows with multiple loops. Now you can filter unwanted data from your collections in Flow Builder. Use the Collection Filter element to select a collection and define conditions. When the flow runs, the element outputs a collection with only the items that meet those conditions, leaving your original collection intact.

6. Generate Choice Options from Record Collections and use existing record collections to generate collection-based choices in a flow: Collection choice sets prevent the need to duplicate the results of a Get Records element, a component, or an action. Combine number 5 and number 6, and you can make exciting flow designs. I cannot wait to play with this.

Nice touch award: Track Flows in Browser Tabs. A flow’s name and version now appear on your browser tab titles, so you can quickly scan your workspace and find your flow.

Promising artist: Make Custom Screen Components React to Other Components on the Same Flow Screen (Pilot) Design a flow screen with custom screen components that respond to updates on the same screen, and reduce the number of screens for a user to navigate through.

Flow Trigger Explorer

If you would like to learn more about the flow Trigger Explorer, read the previous issue of the newsletter here.

Exciting News: I will be one of your judges at FlowFest. FlowFest is an exciting flow competition. Join to have fun and win prizes. Read the announcement on my LinkedIn profile here.

Enjoy

P.S. Originally published on 01/24/2022.

Read the previous issue of the newsletter here.

Read the next issue of the newsletter here.

Subscribe to the weekly educational Salesforce Flow Tips newsletter here.

Standard