Create Checklists in Intercom
Create and manage Intercom Checklists for guided in-app setup flows with auto-completion tracking
Instructions
Create Checklists in Intercom
Prerequisites
- Intercom account with Messenger configured (Essential plan or higher)
- User properties and events flowing into Intercom (see
intercom-user-properties) - Product Tours add-on if linking checklist steps to tours
Steps
-
Understand checklist mechanics. Intercom Checklists are persistent in-app task lists that appear inside the Messenger widget. Each checklist has 3-15 steps. Steps can auto-complete based on user data events, or require manual user clicks. Checklists persist across sessions and show progress (e.g., "3 of 6 complete"). They are ideal for multi-step setup wizards where users may complete steps across multiple sessions.
-
Create a checklist via the Intercom API. Use the Intercom REST API to create a new checklist programmatically. Intercom does not expose a public REST endpoint for checklist CRUD -- use the Intercom dashboard to create the checklist, then trigger it programmatically via the JavaScript API:
// Trigger a specific checklist by ID Intercom('startChecklist', CHECKLIST_ID);Alternatively, set audience rules in the Intercom dashboard to auto-show the checklist to users matching a segment (e.g.,
signed_up_atwithin last 7 days ANDsetup_completedis false). -
Define checklist steps. Each step needs:
- Title: Short action label (e.g., "Connect your data source")
- Description: 1-2 sentences explaining what to do and why
- Action type: One of:
- Link: Opens a URL (use deep links into your app, e.g.,
/settings/integrations) - Open article: Opens an Intercom Help Center article
- Start tour: Launches a Product Tour (see
intercom-product-tours) - No action: Informational step, auto-completes on event
- Link: Opens a URL (use deep links into your app, e.g.,
- Auto-completion rule: Tie to a user event or data attribute. Example: step "Connect your data source" auto-completes when the Intercom user attribute
integration_connectedbecomestrue. Set this in the checklist step configuration under "Mark as complete when."
-
Configure auto-completion via user data. For each step that should auto-complete, ensure your app sends the corresponding event or updates the user attribute in Intercom. Use the Intercom JavaScript SDK:
// Update user attribute when they complete an action Intercom('update', { integration_connected: true, setup_step_3_completed_at: new Date().toISOString() });Or use the Intercom REST API from your backend:
POST https://api.intercom.io/contacts/{id} Authorization: Bearer {token} Content-Type: application/json { "custom_attributes": { "integration_connected": true } }When the attribute matches the auto-completion rule, Intercom checks off that step in the user's checklist.
-
Segment checklists by persona. Create multiple checklists for different user types. Use Intercom's audience rules to show the right checklist based on user properties:
- Rule:
persona_typeequalstechnical_builder-> show "Developer Setup" checklist - Rule:
persona_typeequalsteam_lead-> show "Team Setup" checklist - Rule:
persona_typeequalssolo_creator-> show "Quick Start" checklist Each persona gets only the steps relevant to their setup path.
- Rule:
-
Track checklist engagement. Intercom fires events when users interact with checklists. Forward these to PostHog for funnel analysis:
// Listen for checklist events and forward to PostHog // Intercom does not expose granular checklist JS callbacks directly. // Instead, track step completions via the same user attribute updates // you use for auto-completion: posthog.capture('wizard_step_completed', { step_name: 'connect_data_source', step_number: 3, checklist_id: CHECKLIST_ID, persona_type: userPersona }); -
Handle checklist completion. When all steps are complete, trigger a celebration moment and next action:
// Check if all setup steps complete Intercom('update', { setup_wizard_completed: true, setup_wizard_completed_at: new Date().toISOString() }); // Show a congratulations in-app message (configure in Intercom) // Trigger: setup_wizard_completed = true AND setup_wizard_celebrated != trueUse
intercom-in-app-messagesto show a completion banner that suggests the next high-value action. -
Shareable checklist links. Generate a shareable checklist link from the Intercom dashboard for use in onboarding emails. Include the link in Loops email sequences so users can access their checklist from email:
https://app.intercom.com/checklist/{checklist_link_id}This opens the checklist in the Messenger widget on your site.
Error Handling
- Checklist not showing: Verify the user matches the audience rules. Check that Intercom Messenger is loaded on the page. Confirm the user's
signed_up_atand other filter attributes are set correctly. - Steps not auto-completing: Verify the user attribute is updating in Intercom. Check the auto-completion rule matches the exact attribute name and expected value. Use Intercom's "Test as user" feature to debug.
- Multiple checklists conflicting: Intercom shows one checklist at a time. If a user matches multiple checklist audiences, Intercom shows the most recently created one. Use mutually exclusive audience rules to prevent overlap.
Tool Alternatives
- Appcues (appcues.com): Checklist and onboarding flow builder with no-code editor. API for programmatic control. Starts at $249/mo.
- UserGuiding (userguiding.com): In-app checklists with auto-completion. Starts at $69/mo.
- Userpilot (userpilot.com): Checklist widget with analytics. Starts at $249/mo.
- Chameleon (chameleon.io): Launchers (checklist-like widgets) with deep targeting. Starts at $279/mo.
- CommandBar (commandbar.com): AI-powered checklists and nudges. Usage-based pricing.