# Close recipes

> Text leads from your own number when they reach a status, and log the conversation on the lead.

Three recipes for Close. Each names its trigger and the BlueBot step, lists the fields to map and says how to test it with your own number before anyone else gets a text.

## How Close connects

- **[Zapier](https://usebluebot.com/docs/zapier)**: BlueBot’s Zapier app has a Send Text action and instant triggers for incoming texts and every change of state.
- **[API](https://usebluebot.com/docs/api)**: Your own code calls BlueBot’s REST API and listens to its signed webhooks.

## Text leads when their status changes

| Part             | What it is                            |
| ---------------- | ------------------------------------- |
| Trigger          | When a lead’s status changes in Close |
| Action           | BlueBot’s **Send Text** action        |
| Connects through | [Zapier](https://usebluebot.com/docs/zapier)                |

### Steps

1. Start a Zap with Close’s trigger for a lead status change.
2. Add a Filter by Zapier step for the status you care about, such as Qualified.
3. Add BlueBot’s Send Text action and map the contact’s phone number to To.

### Map the fields

| BlueBot field                | Map it to                                                                                                                                  |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| To                           | The person’s mobile number from Close. US numbers can leave off the +1.                                                                    |
| Text                         | Hi {{first_name}}, thanks for the call today. I’ll send the pricing we talked about by Friday.                                           |
| `{{first_name}}` in the text | Close’s first name field.                                                                                                                  |
| Metadata                     | `source` set to `close`, and `record_id` set to the record’s id, so the status and reply webhooks for this text can find the record again. |
| Service                      | Auto, the default: iMessage when the person uses it, otherwise SMS through your iPhone.                                                    |

### Test it

Put your own number in **To** and press **Test step**. A text arrives on your phone from your own number, and Zapier shows the message BlueBot returned with `state: "queued"`. Then map Close’s field back into **To** and turn the Zap on.

## Log the conversation on the lead

| Part             | What it is                                                                                  |
| ---------------- | ------------------------------------------------------------------------------------------- |
| Trigger          | A text comes in or is delivered (BlueBot’s message.received and message.delivered webhooks) |
| Action           | Close acts on what BlueBot reports                                                          |
| Connects through | [API](https://usebluebot.com/docs/api)                                                                            |

### Steps

1. Point BlueBot webhooks for message.received and message.delivered at your own endpoint.
2. Find the lead in Close by the phone number through Close’s API.
3. Add each text to the lead as a note.

### Map the fields

| From BlueBot          | Into Close                                                                                |
| --------------------- | ----------------------------------------------------------------------------------------- |
| `data.state`          | `sent`, `delivered`, `read`, `failed` or `expired`, for a field or a filter.              |
| `data.metadata`       | The `record_id` you sent with the text, to find the record it was for.                    |
| `data.failure.reason` | Why a failed text didn’t go: `not_on_imessage`, `messages_refused` or `file_unavailable`. |
| `data.to`             | Who the text was for.                                                                     |

### Test it

Send one text to your own number, then look for the event. To try the step without sending anything, `POST /v1/webhooks/{id}/test` sends an example of any event type to your webhook.

## Text yourself when a lead replies

| Part             | What it is                                    |
| ---------------- | --------------------------------------------- |
| Trigger          | BlueBot’s New Incoming Text trigger in Zapier |
| Action           | BlueBot’s **Send Text** action                |
| Connects through | [Zapier](https://usebluebot.com/docs/zapier)                        |

### Steps

1. Start a Zap with BlueBot’s New Incoming Text trigger.
2. Find the lead in Close by the sender’s number.
3. Add BlueBot’s Send Text action with your own number in To and the lead’s name and reply in Text.

### Map the fields

| BlueBot field               | Map it to                                                                                                                                  |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| To                          | The person’s mobile number from Close. US numbers can leave off the +1.                                                                    |
| Text                        | {{lead_name}} replied: “{{message}}”                                                                                                   |
| `{{lead_name}}` in the text | Close’s lead name field.                                                                                                                   |
| `{{message}}` in the text   | Close’s message field.                                                                                                                     |
| Metadata                    | `source` set to `close`, and `record_id` set to the record’s id, so the status and reply webhooks for this text can find the record again. |
| Service                     | Auto, the default: iMessage when the person uses it, otherwise SMS through your iPhone.                                                    |

### Test it

Put your own number in **To** and press **Test step**. A text arrives on your phone from your own number, and Zapier shows the message BlueBot returned with `state: "queued"`. Then map Close’s field back into **To** and turn the Zap on.

## Before you turn it on

- Text only people who asked to hear from you. Anyone who replies STOP goes on your stop list, and BlueBot cancels texts to them. [Stop words](https://usebluebot.com/docs/concepts/stop-words)
- A text that can’t go yet waits with a hold rather than failing: quiet hours, your Mac away, a daily limit. [Holds](https://usebluebot.com/docs/concepts/holds)
- [Close with BlueBot](https://usebluebot.com/integrations/close) on the integrations page says what else the two do together.
