Integration actions connect a scenario to the tools you use outside Inrō: booking software, your Shopify store, your CRM, Meta's ad platform, and any external API. You'll find them all in the Integrations section of the step picker.
Most of these actions stay greyed out until the matching integration is connected, and they show a Pro tag in the builder. Connect the tool first (see its setup article), then the action becomes available.
Calendly link
Sends a Calendly scheduling link as a DM card, then waits for the contact to book and branches on the result.
Requires: Calendly connected. See Calendly: Send Booking Links to Your Contacts.
Pick which Calendly event type to offer and set how long to wait for a booking. The action branches two ways: When contact books a meeting and If contact hasn't booked after your set time. Because the booking is the more useful path, it fires even if the wait already expired.
For how the booking branch works inside a flow, see Conversion Actions: Links, Payments, Bookings & Surveys.
Shopify link
Sends a carousel of product cards in the DM, each with a button that links to the product page or straight to checkout.
Requires: Shopify connected. See Shopify: Connect Your Store and Send Product Links.
Choose how products are picked: a manual selection, a collection, a tag, or a free-text query (which can use variables, so you can search based on what the contact said). Set the button to open the product page or a direct checkout, and add an optional discount code. The full setup and source options are in the Shopify article.
Eventbrite link
Sends a card with an event name, date, and a View Event button, then waits and branches on whether the contact registers.
Requires: Eventbrite connected (private token).
Enter the Event ID of the Eventbrite event you want to share and set the wait window. The action branches When contact registers to the event and If contact hasn't registered after your set time.
⚠️ The Eventbrite link action is in early access and is hidden from the step picker for most accounts right now. If you don't see it, it isn't available on your account yet.
Send HTTP request
Calls any external URL mid-flow: an API, a webhook endpoint, a CRM, or any service that accepts requests.
Set the method (GET, POST, PATCH, PUT, or DELETE), the URL, any headers, and a body. You can insert contact and trigger variables into the URL, headers, and body with the (x) button. The action branches If request is successful and If request fails, and it saves the response so later steps can use it.
This is the most flexible integration action. For full setup, response handling, and examples, see HTTP Requests: Connect Inrō to Any External API.
Send email
Sends an email from inside a scenario, separate from the Instagram DM.
Set one or more recipient addresses, a subject, and the message body. The body accepts Markdown, which Inrō converts to formatted HTML, and you can add cc, bcc, a reply-to address, and attachments. Addresses, subject, and content all support variables, so you can email a contact's saved address or notify your own team when a contact reaches a step.
Meta Conversion event
Sends a conversion event (like Purchase or Lead) to the Meta Conversions API so the result is attributed to your Instagram ads.
Requires: Meta Conversions API connected. See Meta Conversions API: Track Conversions from Instagram.
Pick the event name that matches the moment (for example, fire Purchase right after a payment confirms). Place the action as close as you can to the real conversion step for the most accurate attribution.
Eleven Labs audio
Generates a spoken voice message from text and sends it as a native audio DM.
Requires: ElevenLabs connected.
Type your message (up to about 480 characters), pick a voice, and generate a preview to hear it before saving. Inrō creates the audio ahead of time and sends that clip when the action runs, regenerating it if you change the text or voice.
⚠️ Eleven Labs audio is in early access and is hidden from the step picker for most accounts. If you don't see it, it isn't available on your account yet.
Upsert HighLevel Contact
Creates or updates a contact in your GoHighLevel (HighLevel) CRM, pushing Inrō data out to the CRM.
Requires: HighLevel connected (API key + Location ID).
Build a list of field mappings: each row is a HighLevel field name (like firstName, email, or a custom field) paired with an Inrō value (like {{contact.email}}). Both the field name and the value accept variables, so you decide exactly which Inrō data lands in which CRM field. This action runs in the background and doesn't send anything to the contact, so there's no message to edit.
🐾 Netsuke's Tips
Use Send HTTP request with a POST to a Make webhook as a low-code bridge to almost any tool: Google Sheets, Notion, HubSpot, ActiveCampaign. If Make has a connector, you don't need a native integration.
Always put something in the If request fails branch of an HTTP request. At minimum, add the contact to a "Webhook error" folder so you can spot the ones whose data didn't go through.
For Meta Conversion events, place the action right after the confirmation step, not at the end of a long flow. The closer to the real conversion, the more accurate your attribution.
Use the Eleven Labs audio preview before saving. A small change in punctuation can noticeably change the cadence of the generated voice.
What's next?
With the actions covered, the next thing to understand is how triggers control when and for whom your scenarios run. See Triggers: The Complete Reference.






