# Tally recipes

> Post Tally’s webhook to a Text Hook and every submission becomes a text.

Three recipes for Tally. 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 Tally connects

- **[Text Hook](https://usebluebot.com/docs/text-hooks)**: A Text Hook is a BlueBot address the app posts its own webhook to. You map its fields to a recipient and a template, and each post becomes a text.
- **[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.

## Text people who submit a form

| Part             | What it is                                          |
| ---------------- | --------------------------------------------------- |
| Trigger          | Tally’s webhook for a new submission                |
| Action           | A BlueBot **Text Hook** turns each post into a text |
| Connects through | [Text Hook](https://usebluebot.com/docs/text-hooks)                       |

### Steps

1. Make a Text Hook in BlueBot and copy its address.
2. Add the address as a webhook on your Tally form.
3. Submit a test, then pick the phone and name fields from the payload BlueBot kept.
4. Write the template, and every submission becomes a text from your number.

### Map the fields

| Text Hook setting | Set it to                                                                                                   |
| ----------------- | ----------------------------------------------------------------------------------------------------------- |
| Recipient         | The field in Tally’s post that holds the person’s phone number, written as a path such as `{{body.phone}}`. |
| Text              | Hi {{body.first_name}}, thanks for applying! I’ll read your answers tonight and text you tomorrow.        |
| Metadata          | `source` set to `tally`. BlueBot adds the hook’s id by itself.                                              |

### Test it

Post a sample to the hook’s address with your own number in the phone field, as below. A text arrives on your phone, and the hook’s page lists the post.

```bash title="A test post shaped like Tally’s"
curl -X POST "https://usebluebot.com/h/YOUR_HOOK_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"phone":"+15555550123","first_name":"Maria"}'
```

## Follow up until they answer

| Part             | What it is                                          |
| ---------------- | --------------------------------------------------- |
| Trigger          | Tally’s webhook for a new submission                |
| Action           | A BlueBot **Text Hook** turns each post into a text |
| Connects through | [Text Hook](https://usebluebot.com/docs/text-hooks)                       |

### Steps

1. Make a sequence in BlueBot with two or three texts a few days apart.
2. Set your Text Hook to enroll each person in that sequence.
3. BlueBot stops the sequence for anyone who replies or texts STOP.

### Map the fields

| Text Hook setting | Set it to                                                                                                          |
| ----------------- | ------------------------------------------------------------------------------------------------------------------ |
| Recipient         | The field in Tally’s post that holds the person’s phone number, written as a path such as `{{body.phone}}`.        |
| Text              | Hi {{body.first_name}}, just making sure you saw my last text. Do you still want to talk about your application? |
| Metadata          | `source` set to `tally`. BlueBot adds the hook’s id by itself.                                                     |

### Test it

Post a sample to the hook’s address with your own number in the phone field, as below. A text arrives on your phone, and the hook’s page lists the post.

```bash title="A test post shaped like Tally’s"
curl -X POST "https://usebluebot.com/h/YOUR_HOOK_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"phone":"+15555550123","first_name":"Maria"}'
```

## Text yourself each submission

| Part             | What it is                              |
| ---------------- | --------------------------------------- |
| Trigger          | When a Tally form gets a new submission |
| Action           | BlueBot’s **Send Text** action          |
| Connects through | [Zapier](https://usebluebot.com/docs/zapier)                  |

### Steps

1. Start a Zap with Tally’s trigger for a new form response.
2. Add BlueBot’s Send Text action with your own number in To.
3. Put the answers you care about in Text.

### Map the fields

| BlueBot field          | Map it to                                                                                                                                  |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| To                     | The person’s mobile number from Tally. US numbers can leave off the +1.                                                                    |
| Text                   | New application from {{name}}: {{role}}.                                                                                               |
| `{{name}}` in the text | Tally’s name field.                                                                                                                        |
| `{{role}}` in the text | Tally’s role field.                                                                                                                        |
| Metadata               | `source` set to `tally`, 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 Tally’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)
- [Tally with BlueBot](https://usebluebot.com/integrations/tally) on the integrations page says what else the two do together.
