Send HTTP request
The Send HTTP request action connects your workflow to a web server or URL and sends HTTP requests.
After Flow sends your HTTP request, it waits for a maximum of 30 seconds for an HTTP response code. If Flow hasn't received a response after 30 seconds, then it closes the connection to your app and it resends the request.
The Send HTTP request action contains the following fields.
|HTTP method||The method of HTTP request to send. The Send HTTP request action supports the following methods:
|URL||The URL of the server to which the HTTP request is sent.|
|Headers||The key and value pair for the HTTP request. Multiple key-value pairs can be entered.|
|Body||The content to be sent to the server.|
The Send HTTP request action can be used in any workflow.
Call the Shopify GraphQL Admin API
In this example, you will use Flow to edit a product title by calling the productUpdate API.
Before you begin, do the following:
Set up and install a Custom App that has the
write_productsscope. You will use the API Secret Key to call the API in this example.
Then, follow these steps in Flow:
- Choose the Product status updated trigger, which allows you to test this workflow by changing the status on a product.
- Add Send HTTP Request to your workflow and connect it to the trigger.
- Open the configuration panel by clicking the Send HTTP Request step.
- In the HTTP Method field, enter
- In the URL field, enter
https://YOUR-SHOP-DOMAIN.myshopify.com/admin/api/2023-01/graphql.jsonsubstituting your shop domain and desired API Version.
- In the Headers section, enter a Key of
X-Shopify-Access-Tokenand Value of
YOUR_API_SECRET_KEYthat you obtained in the first step.
- In the Headers section, enter a second header with Key of
Content-Typeand Value of
- In the Body section, enter the following:
- This code adds
-editedto the end of your title
- Spaces and newlines are meaningful to the Liquid editor, so avoid adding or removing spaces. Also, except for outputting Liquid, avoid collapsing brackets like
}}because they are reserved for Liquid variables.
- Configure the rest of the workflow and activate it.
- Test it by changing the status on a Product from Draft to Active or vice versa.
Call an External API
In this example workflow, a POST HTTP request is sent to a server when an order is paid.
The following table describes how Flow processes the HTTP response code after it receives a response.
|HTTP response code||How Flow processes the response code|
|2XX or 3XX Success||Flow marks the HTTP request as a success, and performs subsequent actions in the workflow.|
|429 or 5XX Error||Flow automatically retries the action for up to 24 hours until it receives a different response code or it times out.||Other response code||If your app returns a code that isn't described in this table or it times out while retrying actions, then Flow marks the HTTP request as failing. Subsequent workflow actions are not taken.|