> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replyify.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Follow-up

> Schedule a new follow-up email

## Body Parameters

<ParamField body="due_at" type="string" required>
  ISO 8601 scheduled send time. **Must be in the future** (at least 1 minute from now).
</ParamField>

<ParamField body="contact_id" type="string" required>
  The contact to send the follow-up to
</ParamField>

<ParamField body="client_id" type="string" required>
  The client account (used for AI context and connection routing)
</ParamField>

<ParamField body="reply_id" type="string">
  Link to an existing reply thread (optional for manually created follow-ups)
</ParamField>

<ParamField body="action" type="string" default="follow_up_message">
  Follow-up type: `follow_up_message` or `linkedin_message`
</ParamField>

<ParamField body="notes" type="string">
  Internal notes to guide AI generation. These are not sent to the contact.
</ParamField>

<ParamField body="draft_message" type="string">
  The email content to send. If omitted, AI will generate the message before the scheduled time.
</ParamField>

## Response

Returns the created follow-up object.

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST "https://app.replyify.ai/api/follow-ups" \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "contact_id": "contact_abc123",
      "client_id": "client_xyz789",
      "due_at": "2025-02-01T10:00:00Z",
      "notes": "Follow up on pricing discussion from last week",
      "action": "follow_up_message"
    }'
  ```

  ```javascript Node.js theme={null}
  const response = await fetch("https://app.replyify.ai/api/follow-ups", {
    method: "POST",
    headers: {
      Authorization: "Bearer YOUR_API_KEY",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      contact_id: "contact_abc123",
      client_id: "client_xyz789",
      due_at: "2025-02-01T10:00:00Z",
      notes: "Follow up on pricing discussion",
    }),
  });
  ```
</CodeGroup>

<Warning>
  The `due_at` must be in the future. Creating follow-ups with past dates returns a `400` error.
</Warning>

<Info>
  If no `draft_message` is provided, AI will automatically generate the message before the scheduled send time. This consumes 1 AI credit for generation + 1 for sending = 2 credits total.
</Info>
