Skip to the page

Recipes

Attio recipes

Text people as records change in Attio, and keep the replies with the record.

Two recipes for Attio. 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 Attio connects

  • Zapier: BlueBot’s Zapier app has a Send Text action and instant triggers for incoming texts and every change of state.
  • API: Your own code calls BlueBot’s REST API and listens to its signed webhooks.

Text when a record changes

PartWhat it is
TriggerWhen a record is updated in Attio
ActionBlueBot’s Send Text action
Connects throughZapier

Steps

  1. Start a Zap with Attio’s trigger for an updated record.
  2. Add a Filter by Zapier step for the change you care about, such as a deal reaching the stage you text about.
  3. Add BlueBot’s Send Text action and map the person’s phone number to To.

Map the fields

BlueBot fieldMap it to
ToThe person’s mobile number from Attio. US numbers can leave off the +1.
TextHi {{first_name}}, you’re all set. Your onboarding call is next, and I’ll text you a time tomorrow.
{{first_name}} in the textAttio’s first name field.
Metadatasource set to attio, and record_id set to the record’s id, so the status and reply webhooks for this text can find the record again.
ServiceAuto, 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 Attio’s field back into To and turn the Zap on.

Keep replies on the record

PartWhat it is
TriggerA text comes in (BlueBot’s message.received webhook)
ActionA webhook for message.received starts it, and Attio takes the text
Connects throughAPI

Steps

  1. Point a BlueBot webhook for message.received at your own endpoint.
  2. Find the person in Attio by the sender’s number through Attio’s API.
  3. Add the reply to their record as a note.

Map the fields

From BlueBotInto Attio
data.fromThe phone number to find the person by in Attio. It’s in E.164 (+15555550123); search by the last 10 digits if Attio stores numbers another way.
data.textThe words, for a note, a row or a message. Null when the person sent only a picture.
data.received_atWhen it came in, in UTC.
data.filesPictures and voice memos. Each url works for an hour, so copy a file you want to keep.
data.chat_idSet when the text came in a group chat; null for a one-to-one text.

Test it

Run bluebot listen --forward-to http://localhost:3000/webhooks, then text your BlueBot number from another phone. The CLI forwards the event to your handler, signed. BlueBot copies texts from people you’ve texted through it, unless you set Which chats to copy to Everything.

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
  • A text that can’t go yet waits with a hold rather than failing: quiet hours, your Mac away, a daily limit. Holds
  • Attio with BlueBot on the integrations page says what else the two do together.