# Send HTTP Request

The **Send HTTP Request** action lets you connect Zaapi with any external app or service that supports webhooks or APIs.\
It’s a powerful way to automate actions outside Zaapi — like sending data to Slack, Google Sheets, or your internal systems — whenever something happens in a Flow.

With this action, Zaapi sends a **request** to a specified **URL**, passing along any information you choose (like a customer’s name, message content, or chat link).\
The receiving app can then use that data to trigger its own workflow.

For example, you can use the Send HTTP Request action to:

* Notify your team in Slack when a complaint message is received
* Send new leads to a CRM or Google Sheet
* Trigger a workflow in another tool when a customer completes a survey

### Supported methods

You can choose from the following HTTP methods depending on what your integration needs:

* **POST** – Send data to another service (most common)
* **GET** – Retrieve data from another service
* **PUT / PATCH** – Update data in another system
* **DELETE** – Remove data from another system

### Body and headers

You can include data in your request by adding key-value pairs in the **Body** (as JSON or Table format).\
If the receiving app requires specific headers — like `Content-Type: application/json` or authentication tokens — you can add those under **Add headers**.

***

### Example Use Cases - Alert Complaints in Slack

If your support team uses Slack to stay on top of urgent issues, you can automatically send a Slack notification whenever a customer sends a complaint message in Zaapi. This helps your team act quickly and follow up directly from the chat.

In this guide, we’ll show you how to:

* Detect complaint-related messages in Zaapi
* Send a Slack notification to alert your team
* Include a link so the team can jump straight into the chat

***

#### Step 1: Create a Slack Workflow with a Webhook

First, you’ll need to create a **Slack workflow** that can receive information from Zaapi through a webhook.

1. Go to your Slack workspace and open the **Workflow Builder**.
2. Click **Create workflow** → name it something like “Complaint Alert.”
3. Choose **From a webhook** as the trigger.
4. Slack will generate a **Webhook URL** — copy it (you will paste this into Zaapi later).
   1. ![](/files/bdNqYv5si1urZsYjYmew)
5. Under **Data variables**, set up two variables:
   * `name` (customer name)
   * `url` (Zaapi conversation link)

Your example HTTP body should look like this:

```json
{
  "name": "Example Name",
  "url": "https://app.zaapi.com/conversations/example"
}
```

***

#### Step 2: Add a Message to Post in Slack

Next, define what Slack should do when it receives the webhook.

1. Add a step to **Send a message to a channel**.
2. Choose the Slack channel (e.g. `#support-alerts`).
3. Write your alert message. Ensure you use the same variables that you set in the previous step (i.e {name} and {url}). For example:

   ```
   {name} has sent a complaint. Please take action.
   ```
4. Add a button so your team can go straight to the conversation:
   * Label: **Go to conversation**
   * Behaviour: **Open link**
   * URL: `{url}`

This will create a message in Slack like:

> **John Doe** has sent a complaint. Please take action.\
> \[Go to conversation]

<figure><img src="/files/YG3v2iF6zGqyMEbKlgle" alt=""><figcaption></figcaption></figure>

***

#### Step 3: Build the Flow in Zaapi

Now let’s create the automation inside Zaapi.

1. Go to **Flow Builder** in your Zaapi workspace.
2. Create a new Flow and name it something like “Complaint Alert to Slack.”
3. Add the following blocks:

   **① Message received**\
   Trigger: When a customer sends you a new message.\
   Channels: Select the chat channels you want to monitor.

   **② Message content**\
   Add a condition to check if the message contains complaint-related keywords.\
   Example: `Contains one of: complaint, refund, issue, not happy, angry`.

   **③ Send HTTP request**\
   Method: **POST**\
   URL: Paste your Slack webhook URL.\
   Headers: You can leave this empty\
   Body (Table):\
   \- name: select the <mark style="background-color:yellow;">{Full Name}</mark> variable\
   \- url: select the <mark style="background-color:yellow;">{Conversation URL}</mark> variable

<figure><img src="/files/4EMvZtZerBQbY4DlJVMy" alt=""><figcaption></figcaption></figure>

```json
{
  "name": "{{ Full Name }}",
  "url": "{{ Conversation URL }}"
}
```

That’s it!\
Whenever a message containing one of your complaint keywords is received, Zaapi will automatically send a POST request to Slack — triggering the workflow and sending the alert


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.zaapi.com/flow-builder/action-nodes/send-http-request.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
