# Follow-ups

Follow-ups let your text agent proactively reach out when a user stops responding. Instead of letting conversations go cold, the agent sends a reminder message after a configured period of silence — keeping leads warm and conversations active without any manual intervention.

You can configure up to **3 follow-ups per agent**, each with its own delay and message type.

***

## Where to find it

Follow-ups are configured inside the **Settings** tab of your text agent, under the **Follow-ups** accordion in the left panel.

***

## Supported channels

Follow-ups are currently supported on **WhatsApp** channels.

> **⚠️ Note:** WhatsApp enforces a **24-hour messaging window** — follow-ups will not be sent more than 24 hours after the user's last message.

***

## Enabling follow-ups

Open the **Follow-ups** accordion and toggle **Enable follow-ups** on.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-92897957675732df07a5df276e120a91193f5762%2Ffollowups-static-message.png?alt=media" alt="Follow-ups section showing Enable toggle, Follow-up 1 card with Delay and Type fields, and Add follow-up button"><figcaption></figcaption></figure>

Once enabled, click **+ Add follow-up** to create your first reminder.

***

## Configuring a follow-up

Each follow-up card has three fields:

### Delay

Set how long the agent waits after the user's **last message** before sending the follow-up.

* Enter a number and choose the unit: **min** (minutes) or **hrs** (hours)
* Minimum: 5 minutes — Maximum: 1440 minutes (24 hours)
* Delays are measured from the **last inbound user message**, not from the previous follow-up

> **💡 Example:** If you set Follow-up 1 to 30 min and Follow-up 2 to 2 hrs, both timers start from the moment the user last replied — not sequentially.

***

### Type

Choose how the message content is generated:

| Type                 | Description                                                 |
| -------------------- | ----------------------------------------------------------- |
| **Static message**   | A fixed text you write in advance                           |
| **AI-generated**     | A message generated by the agent's AI using a custom prompt |
| **External webhook** | Your own endpoint generates and returns the message         |

***

#### Static message

Write the exact text the agent will send.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-92897957675732df07a5df276e120a91193f5762%2Ffollowups-static-message.png?alt=media" alt="Follow-up configured with Static message type showing the Message textarea"><figcaption></figcaption></figure>

Enter the message in the **Message** field. Keep it friendly and conversational — a short, natural check-in works best.

**Examples:**

> *"Hey! Just checking in — did you have any questions I can help with?"*

> *"Hi there! Still thinking things over? I'm here if you need anything."*

***

#### AI-generated

The agent generates a fresh follow-up message each time, using the conversation context and a custom guidance prompt you provide.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-b64b6923507542453f7dedc8026cabc11f933853%2Ffollowups-ai-generated.png?alt=media" alt="Follow-up configured with AI-generated type showing the AI prompt textarea"><figcaption></figcaption></figure>

Enter guidance in the **AI prompt** field. The agent will use this alongside the conversation history to craft a contextual, natural-sounding message.

**Examples:**

> *"Send a warm, friendly reminder referencing what the user was asking about. End with an open question."*

> *"Write a brief follow-up in a helpful tone. Keep it under 2 sentences."*

***

#### External webhook

Your own service generates the message and returns it to the agent.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-ec135723f438bb9edd9831e5d20948391500f805%2Ffollowups-external-webhook.png?alt=media" alt="Follow-up configured with External webhook type showing the Webhook URL input"><figcaption></figcaption></figure>

Enter the **Webhook URL** (must begin with `https://`). The agent sends a `POST` request to your endpoint containing:

```json
{
  "conversation_id": "...",
  "agent_id": "...",
  "channel_type": "twilio_whatsapp",
  "follow_up_count": 1,
  "variables": { ... }
}
```

The response body is used as the follow-up message text. If the request fails or times out, the follow-up is skipped silently.

***

## Adding multiple follow-ups

Click **+ Add follow-up** to add a second or third reminder. You can configure up to **3 follow-ups** per agent.

Each follow-up should have a longer delay than the previous one to form a natural cadence. For example:

| Follow-up   | Delay  | Type           |
| ----------- | ------ | -------------- |
| Follow-up 1 | 30 min | Static message |
| Follow-up 2 | 2 hrs  | AI-generated   |
| Follow-up 3 | 12 hrs | Static message |

To remove a follow-up, click the **trash icon** on its card.

***

## How the timer resets

Any inbound message from the user **resets all follow-up timers to zero**. If the user replies to a follow-up, the sequence starts over — no duplicate messages are sent for interactions that are already active.

***

## Saving your configuration

Click **Save Agent** (top right) after making changes. New follow-up settings take effect on the next conversation that becomes inactive after saving.
