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.
Method | Description |
GET | Retrieve data identified by a URL. |
POST | Create a resource or post data to the server |
PATCH | Upsert the data |
PUT | Create or replace the resource sent in the request body. |
DELETE | Delete 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.
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.
#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
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.
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.
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.
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).
Hello Amit, thanks for posting this. I am justfollowing this article blindly.May I ask where can I get the sample response?
Regards,
Lakshmi
You can get sample response for API.
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?
What are the limitations for flow to call API. so we can decide when to use flow or APEX callout.
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?
The article was very helpful. Want to get notified of new posts.
i’m getting the following error
I’m getting the following error, i’ve created the permission set and have added the Exernal credential access as well, any suggestion
Info
Error Occurred:
Callout failed for invocable action DemoJokeAPI.GetJoke. We couldn’t access the credential(s). You might not have the required permissions, or the external credential “DemoJokeAPI” might not exist.