dibales.ai - Instagram icon

dibales.ai - Instagram

Send Instagram DMs (text, button templates with multi-level menu routing, quick replies, or media attachments) via the dibales.ai public API.

Message → Send Buttons

AI-generated

Summary

Sends an Instagram button-template DM (up to 3 buttons) via the dibales.ai public API, and also routes inbound postback taps to a per-button output port so multi-level menus can be built by chaining Send Buttons nodes.

Inputs

  • Recipient Mode (required) — 'User ID (Direct Message)' (default) addresses a DM by IGSID; 'Comment ID (Private Reply)' sends a private reply to a comment's author. Use Comment ID only at the entry of a comment-triggered flow.
  • Recipient (User ID) (required) — IGSID of the recipient (shown in user mode). Defaults to an expression that auto-extracts the sender from the upstream event; if left empty, the node falls back to auto-detection and errors if nothing is found.
  • Recipient Comment ID (required) — Comment ID for the private reply (shown in comment mode). Defaults to an expression extracting it from the upstream comment event; errors if empty and undetectable.
  • Text (required) — Body text shown above the buttons (max 640 chars per the field description). Errors if empty.
  • Buttons (required) — Up to 3 buttons, each with a Title (max 20 chars), a Type (Postback or Web URL), and a URL (required for Web URL, must be http/https). At least one button is required to send. Each Postback button creates an output port; Web URL buttons do not.

Output shape

One output port per Postback button (labelled with the button title). The send step itself emits no items. Items appear on a port only when a button-tap (postback or quick-reply) event arrives for this node.

Three modes per input item: SEND (initial event, or item carrying a _routed marker) calls POST /instagram/messages/buttons and emits nothing. ROUTE (inbound postback payload dbl_{nodeId}_{index} matches this node) emits the original item on the matching button's port with a _routed object ({from, btnIndex, title}) and _forward removed. FORWARD (payload belongs to a descendant Send Buttons/Send Text reachable through one of this node's outputs) re-emits the item on that output with _forward: true. Undecodable, stale or unrelated payloads are silently dropped. If all buttons are Web URL, the node has zero outputs. API errors throw a NodeApiError with the backend's message and code.

Examples

Example 1: Welcome menu after a DM keyword match

Recipient Mode: User ID (default expression); Text: 'How can I help?'; Buttons: Postback 'Pricing', Postback 'Support', Web URL 'Website' → https://example.com. Wire 'Pricing' and 'Support' ports to follow-up nodes.

Example 2: Private reply to a comment with a menu

Recipient Mode: Comment ID (Private Reply); default comment ID expression; Text: 'Thanks for commenting! Pick an option:'; one or more Postback buttons.

Example 3: Multi-level menu

Wire a postback button port of the first Send Buttons into a second Send Buttons set to User ID mode; the second node sends its sub-menu when the first routes the tap to it.

Links

Discussion