HTTP Callout into Flow Builder Without Code

In Spring 23, Salesforce introduces the new HTTP Callout (Beta) element in the flow builder to do integration without code. Now in winter ’24 Release it become Generally Available. You can Automate processes with external data by creating Flow Builder actions that call web-based service APIs using HTTP Callout. After you add the details of the API, Flow Builder generates a reusable action that you can use right away in Flow Builder and across Salesforce. Set up direct integrations as needed without code or a middleware service, such as Mulesoft.

HTTP Callout

in Spring 23 release With the new HTTP Callout (Beta) button from the action element, we can now make calls to external web services. HTTP Callout can fetch data from an external system into Flow Builder without using code. We can set up direct integrations as needed without having to work with a developer.

In Winter ’24 now we got all other http PUT, PATCH, and DELETE methods. Which give more context about HTTP callout parameters, validate JSON samples faster, and get more information about the external service registration with more organized sections of parameters.

HTTP Callout Demo

Before you configure an integration with HTTP Callout, you set up authentication in Setup > Named Credentials so that the external service can connect to the API.

Create an HTTP Callout in Flow

Now we have 5 different method to make a callout from flow builder 1) GET, 2) POST, 3) PATCH, 4) PUT, 5) DELETE.

MethodDescription
GETRetrieve data identified by a URL.
POSTCreate a resource or post data to the server
PATCHUpsert the data
PUTCreate or replace the resource sent in the request body.
DELETEDelete a resource identified by a URL

Let’s see how to create HTTP callout in flow without code.

1. HTTP Get Method

Let see how we can use HTTP get method in flow. For Demo We will use below API. Which will give a random joke every time.

https://official-joke-api.appspot.com/random_joke

Follow below step by step process to

#1. Create a permission set

Create a Permission Set for the people who need to use the HTTP Callout.

Setup-> Permission Set->New -> Provide details then Save.

API Callout Permission Set
API Callout Permission Set

Assign the permission set to yourself to test the flow.

#2. Create an External Credential

Create External Credential from Setup -> Named Credentials -> External Credentials -> New

For this Demo, we will use authentication API for that we will use custom. But you can also use OAuth2.0.

Create an External Credential in Salesforce

#3. Create an External Credential Principle

It is time to create the External Credential Principle.

Now click on new button under the principal section. Then click on save.

# 4. Create a Named Credential

This time we need to create the Named credential. In named credential you can specifies the URL of a endpoint and its required authentication parameters. For that follow Setup -> Named Credentials -> New step

Named Credential in Salesforce

Then save the named credential.

#5. Map External Credential Principle and Permission set

Now it a time to map your external credential principle with permission set. Open the permission set which you created in step 1.

Setup -> Permission Sets -> Select Permission set-> then click on “External Credential Principal Access”

Then click on Edit button to select the External Credential Principal.

#6. Create Salesforce Flow using “Create HTTP callout” element.

6.1. Create one screen flow in Salesforce to call Joke API and show the result.

6.2 After creating the Screen flow. Click on New Action and Select “Create HTTP Callout (Beta)” option to make callout.

Create HTTP Callout

6.3. Configure the New HTTP Callout Action and select the Named Credential which you just created

Configure the callout request details that the HTTP callout performs, which create an action that’s invocable in Salesforce.

Enter the URL endpoint for your request. To add URL path variables, place them in curly brackets. For example: /{city}. When you invoke this action in a flow, set input values for each path variable defined here.

Configure the HTTP Callout method. Select method as GET.

Configure the HTTP callout method

Then click on SAVE. Then you will get below error.

To finish configuration, provide a sample API response body. Click on New button.

Behind the screen, it creates a Dynamic Apex Class. Now Define the response name.

Now click on Done button.

6.4. Show response

6.5 Final Flow

#7. Test Salesforce Flow to check HTTP Callout

Now run the flow and see the result of http get call.

HTTP Callout in Flow without Code

Check below video for demo and implementation in 8 min.

YouTube video

What Next?

Are you new to Integration? Check out our Salesforce Integration Guide and learn different way to integration. Also check our Salesforce Integration Crash course.

Summary

I hope this post helped you to understand how can do HTTP Callout into Flow Builder Without Code using HTTP Callout (Beta).

Amit Chaudhary
Amit Chaudhary

Amit Chaudhary is Salesforce Application & System Architect and working on Salesforce Platform since 2010. He is Salesforce MVP since 2017 and have 17 Salesforce Certificates.

He is a active blogger and founder of Apex Hours.

Articles: 452

5 Comments

  1. Hello Amit, thanks for posting this. I am justfollowing this article blindly.May I ask where can I get the sample response?
    Regards,
    Lakshmi

  2. Admit, I’ve gone through the steps. The service I’m using has an Bearer authentication using an API Key. I can’t seem to connect to the service. Where would I put the API Key? Named Credentials? Principals?

  3. Hi Amit,
    Thank you for the post and solution. I’ve been attempting to create it in a demo org. After Step #5 (Map External Credential Principle and Permission set), I noticed under the Principals section of the External Credentials that the Authentication Status is set to “Not Configured” for my solution. Is there a way to get it authenticated/configured?

Leave a Reply

Your email address will not be published. Required fields are marked *