ChatIQ
ChatIQ
Set up, launch, and manage Instagram and Facebook chat automation with ChatIQ.
Note: ChatIQ is a BETA app. Features and behavior may change.
What is ChatIQ?
ChatIQ is the SWAI app where you build AI-powered social chat automation for Instagram and Facebook. You design visual chatbot flows, manage contacts, send broadcasts, run drip sequences, and handle live DMs from one workspace.
You use it to:
- Automate DMs, comments, story replies, and Live comments
- Build visual chatbot flows (or generate them with AI)
- Connect Instagram and Facebook accounts
- Capture leads with comment-to-DM and Growth Tools
- Manage contacts with tags, custom fields, and segments
- Send broadcasts and timed sequences
- Monitor threads and step in as a human in Inbox
Main screens
| Screen | What it’s for |
|---|---|
| Flows | Create, edit, test, and publish chatbot flows |
| Templates | Start from pre-built flows (opened from Flows) |
| Inbox | Live chat for contact threads, human replies, and bot takeover |
| Contacts | CRM list: search, tags, segments, and contact details |
| Broadcasts | Send or schedule messages to many contacts |
| Sequences | Timed drip campaigns and enrollments |
| Analytics | Workspace stats, message volume, and flow performance |
| Growth | Comment-to-DM rules, match stats, and comment logs |
| Channels | Connect and sync Instagram and Facebook accounts |
| Settings | Workspace name, AI/messaging status, global keywords, tags, custom fields |
Note: Open ChatIQ from the SWAI Dashboard (Settings → Beta Apps → ChatIQ, or go to app.swai.ai/setting/beta-apps). The app uses your SWAI session — there is no separate sign-up inside ChatIQ.
Before you start
Complete these setup items before you expect automation to go live. You can create a Draft flow anytime; published automation needs at least one connected channel.
Checklist
Open ChatIQ from SWAI
Use Settings → Beta Apps → ChatIQ (or go to app.swai.ai/setting/beta-apps) in the SWAI Dashboard so you are signed in for the correct brand/workspace.Connect a channel
- In Channels, click Connect Channel and choose Instagram or Facebook.
- Authorize in the OAuth window.
- Click Sync so the account appears in ChatIQ.
- Confirm the channel shows Active (not Inactive).
Gemini AI (if you will use AI)
In Settings, confirm Gemini AI is configured. You need it for:- AI Response and AI Private Reply (DM) nodes
- Creating a flow from a natural-language description (New Flow → describe what it should do)
Tags and custom fields (optional but useful)
In Settings, create Tags and Custom fields you plan to use in flows, segments, and broadcasts.Global Keywords (optional)
Add workspace-wide keywords in Settings if you want fallback matching. Flow-specific triggers take priority over global keywords.
Important warnings
Warning: Draft flows do not run. Triggers only fire for Published flows.
Warning: Without an Active Instagram or Facebook channel, ChatIQ cannot send or receive messages.
Warning: After OAuth, if the account does not appear, click Sync. Connecting alone is not always enough.
Tip: Set up channels for the brand once, then reuse them across flows. Each Growth rule and many triggers still need you to pick the right channel.
Quick start
- Open Flows.
- Click New Flow.
- Choose how to create:
- Describe what the flow should do, then Create (AI builds a starting graph).
- Or Start from scratch for a blank Untitled Flow.
- Or open Templates and click Use Template.
- On the canvas, configure a Keyword Trigger (or another trigger type) and add message / logic / action nodes.
- Click Publish.
- Test by sending a matching DM, comment, story reply, or Live comment on the connected account.
- Watch the thread in Inbox. Use Resume bot if you take over as a human.
Note: New flows start as Draft. Only Published flows enroll contacts from triggers and send automated replies.
Flows
A flow is a visual chatbot graph: triggers start it, message nodes reply, logic nodes branch or wait, and action nodes update CRM or hand off to humans.
Flow statuses
| Status | Meaning |
|---|---|
| Draft | Saved but not live — triggers do not fire |
| Published | Live — matching events run this flow |
| Archived | Stored away; not active |
How to create a flow
| Method | When to use |
|---|---|
| New Flow → describe + Create | You want AI to draft the graph from a short description |
| New Flow → Start from scratch | You want a blank canvas |
| Templates → Use Template | You want a pre-built starting point (Comment, DM, Story, Live, and more) |
Builder overview
Drag nodes from the Nodes palette onto the canvas:
| Category | Nodes |
|---|---|
| Triggers | Keyword Trigger |
| Messages | Send Message, AI Response, Comment Reply, Private Reply (DM), AI Private Reply (DM) |
| Logic | Condition, Delay, A/B Split, Smart Delay |
| Actions | Add Tag, Remove Tag, Set Field, HTTP Request, Go To Flow, Human Takeover, Subscribe, Unsubscribe, Enroll in Sequence |
Send Message supports rich content such as text, images, buttons, quick replies, and carousels.
Must be done before you expect automation
- At least one Active channel
- A Published flow
- A configured trigger that matches how contacts will engage
- Message or AI nodes connected so the contact gets a reply
Tip: Use Version History after publishing so you can track published versions of a flow.
Triggers
A trigger decides how a contact starts a Published flow. Configure the type on the Keyword Trigger node.
| Trigger | What it does |
|---|---|
| Keyword | Contact sends a matching keyword in a DM |
| Button Click | Contact clicks a button (payload match) |
| Quick Reply | Contact taps a quick reply (payload match) |
| Welcome Message | Contact starts a conversation (first inbound) |
| Default Reply | No other trigger matches |
| Comment Keyword | Keyword appears in a post/reel comment |
| Story Reply | Keyword appears in an Instagram story reply |
| Live Comment | Keyword appears in a Live comment |
Keyword match types
| Match type | Behavior |
|---|---|
| Exact match | Message/comment equals the keyword |
| Contains | Keyword appears anywhere in the text |
| Starts with | Text begins with the keyword |
Priority and scoping
- Flow triggers win over Global Keywords in Settings.
- Triggers can be scoped to a channel or left workspace-wide, depending on how you configure them.
- For post-specific comment automation, use Growth rules (optional Specific Post IDs) in addition to or instead of a generic Comment Keyword trigger.
Warning: If two published flows could match the same keyword, review which flow is Published and how match types overlap — unexpected replies usually come from a broader Contains match or a Default Reply.
Tip: Use Exact match for campaign keywords (for example
PRICE) and Contains when you want natural language variants.
Channels
On Channels you connect the social accounts ChatIQ can message.
| Channel | What you connect | Typical use |
|---|---|---|
| Brand Instagram account | DMs, comments, story replies, Live comments | |
| Brand Facebook Page | DMs and comments |
Rules to remember
- Connect Instagram and/or Facebook via Connect Channel, then Sync.
- Toggle Active / Inactive when you need to pause a channel without disconnecting.
- Use Copy DM link for deep links (
ig.me/m.mestyle) you can share or put in posts. - ChatIQ’s connect UI is Instagram and Facebook only. Some templates mention collecting a phone number or handing someone off to WhatsApp in the message text — that is not a ChatIQ channel connection.
Where to manage channels
| Need | Where |
|---|---|
| Connect / Sync Instagram or Facebook | Channels |
| Test messaging connectivity | Settings → Social messaging → Test & Sync Channels |
Warning: Empty channel lists or “connect a channel” prompts on Flows usually mean the brand has not finished Connect + Sync — fix it in Channels, then return to the flow.
Working in Inbox
Inbox is your live chat across connected channels.
Common tasks
- Find a conversation — Use the list and filters (all, open, closed, snoozed).
- Read the thread — See inbound and outbound messages for that contact.
- Reply as a human — Send a message yourself on the conversation’s channel.
- Pause AI / take over — When a flow hits Human Takeover, the thread shows Bot paused. Reply yourself, then click Resume bot to turn automation back on.
- Assign — Use Assign to... to set an agent name on the conversation.
- Close / Snooze / Reopen — Manage conversation status as you work the queue.
- Contact info — Open the side panel for tags, fields, and channel identity.
Conversation statuses
| Status | Meaning |
|---|---|
| open | Active thread that needs attention or is ongoing |
| snoozed | Temporarily out of the main queue |
| closed | Finished / archived from the open list |
Tip: If automation stops unexpectedly, check whether the conversation shows Bot paused. Click Resume bot (Resume automation) after you finish helping.
Warning: Message status may show Delivered or Failed. Failed sends usually mean channel/token issues — Sync the channel and confirm it is Active.
Contacts, tags, fields, and segments
Contacts
Contacts are created automatically when people message or comment on a connected channel.
On Contacts you can:
- Search by name or email
- Filter by tags
- Build a Segment with advanced filters
- Open a contact for channels, tags, custom fields, and related conversations
Subscribed controls whether a contact is included in default broadcast audiences. Flows can Subscribe or Unsubscribe contacts with action nodes.
Tags and custom fields
Create these in Settings:
| Item | Used for |
|---|---|
| Tags | Labels in flows, segments, and contact filters |
| Custom fields | CRM attributes (name + slug) for Set Field, conditions, and segments |
Segments
Shared filters for Contacts and Broadcasts:
| Filter | Examples |
|---|---|
| Has tag / Missing tag | Tag membership |
| Custom field | equals, does not equal, contains, greater than, less than |
| Platform | Instagram, Facebook, and other platform values on the contact |
| Subscribed | Yes / No |
| Last interaction | before / after a date |
Combine filters with AND / OR, and add filter groups when you need more complex audiences.
Warning: Broadcasts without a segment default to all subscribed contacts. Use segments (or unsubscribe contacts) when you want a narrower audience.
Broadcasts
Broadcasts send one message to many contacts at once.
Workflow
- Open Broadcasts → Create Broadcast.
- Name the broadcast.
- Optionally enable Target specific contacts and build a segment.
- Write the Message.
- Choose:
- Send Now
- Schedule
- Save Draft
Broadcast statuses
| Status | Meaning |
|---|---|
| Draft | Not sent yet |
| Scheduled | Waiting for the scheduled time |
| Sending | Currently sending |
| Completed | Finished |
| Cancelled | Stopped / cancelled |
Metrics on a broadcast include Recipients, Sent, Delivered, and Failed.
Tip: Preview your segment on Contacts first so you know who will receive the message.
Sequences
Sequences are drip campaigns: ordered steps that send over time.
Sequence steps
| Step | What it does |
|---|---|
| Message (Send Message) | Sends a message to the enrolled contact |
| Wait | Delays the next step (minutes-based timing in the editor) |
Sequence statuses
| Status | Meaning |
|---|---|
| Draft | Not enrolling / not running |
| Active | Can enroll contacts and run steps |
| Paused | Temporarily stopped |
Use Activate / Pause on the sequence editor. Only Active sequences accept new enrollments from the UI.
How contacts enroll
- Enroll in Sequence action node inside a flow
- Enroll contact on the sequence’s enrollments panel (when the sequence is Active)
Enrollment statuses
| Status | Meaning |
|---|---|
| Active | Currently moving through steps |
| Completed | Finished the sequence |
| Cancelled | Stopped (manually or by the system) |
You can Cancel enrollment for a contact who should stop receiving sequence messages.
Note: Sequences are scheduled steps, not free-form live chat. For conversational AI, use a Flow with AI Response nodes and manage replies in Inbox.
Growth Tools
Growth is where you manage Comment-to-DM rules for lead capture and engagement.
Create a comment rule
- Open Growth → New Comment Rule.
- Set:
- Channel
- Response Flow (the flow that should run)
- Keywords (comma-separated)
- Match Type (Contains / Exact match / Starts with)
- Public Reply (optional public comment reply)
- Specific Post IDs (optional — limit to certain posts)
- Create Rule.
Rules can be Active or Paused. You can Edit, Pause, Activate, or Delete a rule.
Stats and logs
Growth shows:
- Comments Processed
- Keywords Matched
- DMs Sent
- Conversion Rate
- Recent Activity (author, comment, matched keyword, DM result, time)
Tip: Pair a Growth rule with a flow that uses Private Reply (DM) or AI Private Reply (DM) so commenters get a private follow-up.
Warning: The response flow should be Published, and the channel must be Active, or matches will not produce DMs.
Analytics
Analytics monitors workspace performance.
| Control / metric | Meaning |
|---|---|
| Last 7 days / 30 days / 90 days | Time range for charts and totals |
| Total Flows | Flows in the workspace |
| Total Contacts | Contacts in the CRM |
| Messages Sent | Outbound volume in range |
| Messages Failed | Failed outbound sends in range |
You will also see flow performance (starts, completions, drop-off), contact growth, and message volume over time.
Tip: If Messages Failed spikes, Sync channels and check Inbox threads marked Failed before changing flow content.
Settings
Settings covers workspace-wide configuration.
| Section | What it’s for |
|---|---|
| General | Workspace name |
| Social messaging | Messaging API status; Test & Sync Channels |
| Gemini AI | Whether AI nodes and AI flow creation are available |
| Global Keywords | Workspace-wide keywords (lower priority than flow triggers) |
| Tags | Labels for flows, segments, and filters |
| Custom fields | Field definitions for Set Field nodes and segments |
Note: Messaging and Gemini keys are managed for the app environment (not entered per brand in ChatIQ). If Settings shows they are not configured, contact your SWAI admin.
Templates
From Flows, open Templates to browse builtin and saved starters.
Filters
All, Comment, DM, Story, Live, Grow followers, Engage, Drive traffic, Saved
Badges you may see: Saved, Popular, AI.
Typical uses
- Welcome / FAQ / lead capture for DMs
- Auto-DM links from comments
- Story and Live engagement
- Collect a phone number into CRM (message content — not an SMS channel)
- Message copy that points people to WhatsApp (handoff text — not a ChatIQ WhatsApp connect)
Click Use Template, customize the canvas, then Publish.
You can also Save Flow as Template from a flow you like.
Common warnings and troubleshooting
I can’t open ChatIQ
Warning: You may see Authentication failed or a message about an invalid/expired embed token. Close the tab and open ChatIQ again from the SWAI Dashboard (Settings → Beta Apps → ChatIQ, or go to app.swai.ai/setting/beta-apps).
My flow doesn’t reply
Check:
- Flow status is Published (not Draft or Archived)
- Channel is Active and recently Synced
- Trigger type matches the event (DM keyword vs Comment Keyword vs Story Reply vs Live Comment)
- Match type is not too strict (try Contains while testing)
- Conversation is not Bot paused in Inbox
- No other published flow is stealing the match (Default Reply / broader keywords)
I can’t connect a channel
- Open Channels → Connect Channel.
- Finish OAuth for Instagram or Facebook.
- Click Sync.
- Confirm the account shows Active.
- If it still fails, use Settings → Test & Sync Channels.
AI nodes / AI Create don’t work
Confirm Gemini AI shows as configured in Settings. If not, ask your SWAI admin to enable Gemini for the ChatIQ environment.
Broadcast went to the wrong people
- Broadcasts with no segment target all subscribed contacts.
- Build a segment with tags / fields / platform filters before Send Now.
- Use Unsubscribe in flows (or mark contacts unsubscribed) for people who should not get blasts.
Comment-to-DM isn’t sending
- Growth rule is Active.
- Keywords and match type match the comment.
- Specific Post IDs (if set) include the post that received the comment.
- Response Flow is Published.
- Channel is Active.
- Check Growth Recent Activity for match and DM results.
Story Reply or Live Comment doesn’t fire
- Use trigger type Story Reply or Live Comment (not only Keyword).
- Confirm you are testing on Instagram (story replies) or a Live session that ChatIQ’s connected account can see.
- Publish the flow after changing the trigger.
- Prefer a simple keyword and Contains while testing.
Human takeover stuck / bot won’t continue
- Open the conversation in Inbox.
- Confirm it shows Bot paused.
- Click Resume bot.
- Send a new inbound message if needed to continue the flow.
Contact missing from broadcasts or sequences
- Contact may be unsubscribed.
- Contact may lack the channel identity needed to message them.
- Sequence must be Active to enroll.
- For sequence steps, the contact needs a reachable channel on the connected platform.
Number / WhatsApp / SMS expectations
ChatIQ connects Instagram and Facebook only. Templates that mention SMS lists or WhatsApp are about collecting info or sending handoff links inside DMs — they do not add those as ChatIQ channels.
Glossary
| Term | Meaning |
|---|---|
| Workspace | Your brand’s ChatIQ space for flows, contacts, and channels |
| Channel | A connected Instagram or Facebook account |
| Flow | Visual chatbot automation graph |
| Node | A step on the canvas (trigger, message, logic, or action) |
| Trigger | Event that starts a Published flow |
| Keyword / match type | Text rule with Exact match, Contains, or Starts with |
| Draft / Published / Archived | Flow lifecycle |
| Template | Pre-built flow starter |
| AI Flow create | Natural-language description → generated flow (New Flow) |
| AI Response | Gemini-powered DM reply with conversation context |
| AI Private Reply (DM) | Gemini-powered private reply after a comment |
| Comment Reply | Public reply on a comment |
| Private Reply (DM) | Comment-triggered private Instagram/Facebook DM |
| Human Takeover | Pause automation so a human agent can reply |
| Resume bot | Re-enable automation after takeover |
| Inbox / Conversation | Live chat thread with a contact |
| Open / Snoozed / Closed | Conversation status |
| Contact | Person who messaged or commented |
| Tag | Label for segmentation and conditions |
| Custom field | CRM attribute on contacts (name + slug) |
| Segment | Filter rules for contacts and broadcasts |
| Subscribed | Opt-in state used by broadcasts and Subscribe/Unsubscribe nodes |
| Broadcast | One-shot or scheduled message to many contacts |
| Sequence / Enrollment | Timed drip campaign and a contact’s membership in it |
| Smart Delay | Wait for a user reply or a timeout |
| A/B Split | Random path split by traffic weight |
| Growth / Comment rule | Keyword rule that runs a flow from comments |
| Global Keywords | Workspace-wide keywords (lower priority than flow triggers) |
| Payload | Value matched for Button Click or Quick Reply |
| Go To Flow | Jump to another flow (optional return-after) |
| HTTP Request | Call an external API from a flow |
Need more help?
If something still fails after the checklist above:
- Confirm the flow is Published and the channel shows Active.
- Confirm the contact engaged on the connected Instagram/Facebook account.
- Check Inbox (Bot paused? Failed send?) and Growth Recent Activity for comment rules.
- Contact your SWAI admin or support with the workspace/brand, flow name, channel, trigger type, and what you expected to happen.