{"id":624,"date":"2026-11-07T10:48:49","date_gmt":"2026-11-07T15:48:49","guid":{"rendered":"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/how-to-build-a-multi-step-flow\/"},"modified":"2026-11-07T10:48:49","modified_gmt":"2026-11-07T15:48:49","slug":"how-to-build-a-multi-step-flow","status":"publish","type":"page","link":"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/how-to-build-a-multi-step-flow\/","title":{"rendered":"How to build a multi-step campaign flow"},"content":{"rendered":"\n<!--\n DMpro Help Center: How-To\n URL: https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/how-to-build-a-multi-step-flow\/\n-->\n<style>\n.kb-page{\n  --coral:#EE6055; --mint:#3DE8B7; --ink:#1A1A1A; --paper:#FAFAF7; --pen:#5F5E5A;\n  --yellow:#F8E170; --blue:#365eff; --line:#ececec;\n  font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;\n  color:var(--ink); line-height:1.62; max-width:840px; margin:0 auto; padding:0 20px 72px; box-sizing:border-box;\n}\n.kb-page *{box-sizing:border-box;}\n.kb-page a{color:var(--blue); text-decoration:none;}\n.kb-page a:hover{text-decoration:underline;}\n.kb-page .kb-crumb{font-size:13px; color:var(--pen); padding:26px 0 0; display:flex; gap:8px; flex-wrap:wrap; align-items:center;}\n.kb-page .kb-crumb a{color:var(--pen);}\n.kb-page .kb-crumb a:hover{color:var(--coral);}\n.kb-page .kb-crumb span{opacity:.5;}\n.kb-page .kb-head{padding:18px 0 6px;}\n.kb-page .kb-eyebrow{display:inline-block; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;\n  color:var(--coral); background:rgba(238,96,85,.1); padding:5px 12px; border-radius:999px; margin-bottom:14px;}\n.kb-page h1{font-size:clamp(26px,4vw,36px); line-height:1.15; margin:0 0 12px; font-weight:800; letter-spacing:-.02em;}\n.kb-page .kb-lead{font-size:17px; color:var(--pen); margin:0 0 8px;}\n.kb-page .kb-acc{margin-top:26px; border-top:1px solid var(--line);}\n.kb-page .kb-item{border-bottom:1px solid var(--line);}\n.kb-page .kb-q{width:100%; text-align:left; background:none; border:0; cursor:pointer; font:inherit; color:var(--ink);\n  display:flex; gap:14px; align-items:flex-start; padding:20px 4px; font-size:17px; font-weight:650;}\n.kb-page .kb-q:hover{color:var(--coral);}\n.kb-page .kb-q .kb-qi{flex:none; width:22px; height:22px; margin-top:1px; transition:transform .2s; color:var(--coral);}\n.kb-page .kb-item.open .kb-q .kb-qi{transform:rotate(45deg);}\n.kb-page .kb-q .kb-qt{flex:1;}\n.kb-page .kb-a{max-height:0; overflow:hidden; transition:max-height .3s ease;}\n.kb-page .kb-a-inner{padding:0 4px 22px 36px; font-size:15.5px; color:#33322f;}\n.kb-page .kb-a-inner p{margin:0 0 13px;}\n.kb-page .kb-a-inner ul,.kb-page .kb-a-inner ol{margin:0 0 13px; padding-left:20px;}\n.kb-page .kb-a-inner li{margin:0 0 7px;}\n.kb-page .kb-a-inner strong{color:var(--ink);}\n.kb-page .kb-a-inner h3{font-size:16px; font-weight:700; margin:20px 0 10px; color:var(--ink);}\n.kb-page .kb-a-inner code{background:var(--paper); padding:2px 6px; border-radius:4px; font-size:14px; font-family:\"SF Mono\",\"Menlo\",Consolas,monospace;}\n.kb-page .kb-a-inner blockquote{margin:0 0 13px; padding:12px 16px; background:var(--paper); border-left:3px solid var(--line); border-radius:0 8px 8px 0; color:var(--pen);}\n.kb-page .kb-a-inner .kb-tip{background:var(--paper); border-left:3px solid var(--mint); border-radius:8px; padding:12px 16px; margin:0 0 13px; font-size:14.5px;}\n.kb-page .kb-a-inner .kb-note{background:#fff8e6; border-left:3px solid var(--yellow); border-radius:8px; padding:12px 16px; margin:0 0 13px; font-size:14.5px;}\n.kb-page .kb-a-inner .kb-security{background:linear-gradient(135deg, #e5f3ec 0%, #d5eae0 100%); border-left:3px solid #2d8f5f; border-radius:8px; padding:14px 18px; margin:0 0 13px; font-size:14.5px; display:flex; gap:12px; align-items:flex-start;}\n.kb-page .kb-a-inner .kb-security-ico{flex:none; width:36px; height:36px; border-radius:8px; background:#2d8f5f; color:#fff; display:flex; align-items:center; justify-content:center; font-size:18px;}\n.kb-page .kb-a-inner .kb-security-body{flex:1;}\n.kb-page .kb-a-inner .kb-security-body strong{color:#1a5f3a; display:block; margin-bottom:2px;}\n.kb-page .kb-a-inner .kb-table-wrap{overflow-x:auto; margin:0 0 13px;}\n.kb-page .kb-a-inner .kb-table{width:100%; border-collapse:collapse; font-size:14px; border:1px solid var(--line); border-radius:8px; overflow:hidden;}\n.kb-page .kb-a-inner .kb-table th{background:var(--paper); font-weight:700; text-align:left; padding:10px 12px; border-bottom:1px solid var(--line);}\n.kb-page .kb-a-inner .kb-table td{padding:9px 12px; border-bottom:1px solid var(--line);}\n.kb-page .kb-a-inner .kb-table tr:last-child td{border-bottom:none;}\n.kb-page .kb-mockup{margin:22px auto 26px; max-width:640px; padding:22px; background:#f4f5f7; border-radius:16px; border:1px solid var(--line);}\n.kb-page .kb-mockup svg{width:100%; height:auto; display:block; border-radius:10px; box-shadow:0 4px 16px rgba(0,0,0,.08);}\n.kb-page .kb-mockup-caption{margin:12px 0 0; font-size:13px; color:var(--pen); text-align:center; font-style:italic;}\n.kb-page .kb-related{margin-top:40px; background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:22px 24px;}\n.kb-page .kb-related h2{font-size:15px; text-transform:uppercase; letter-spacing:.08em; color:var(--pen); margin:0 0 14px;}\n.kb-page .kb-related ul{list-style:none; margin:0; padding:0; display:grid; gap:10px;}\n.kb-page .kb-related a{display:flex; gap:8px; align-items:center; font-weight:600; font-size:15px;}\n.kb-page .kb-cta{margin-top:34px; background:var(--ink); color:#fff; border-radius:20px; padding:32px 28px; text-align:center;}\n.kb-page .kb-cta h3{margin:0 0 8px; font-size:21px; font-weight:800;}\n.kb-page .kb-cta p{margin:0 0 20px; color:#cfcfcf; font-size:15px;}\n.kb-page .kb-cta-btns{display:flex; gap:12px; justify-content:center; flex-wrap:wrap;}\n.kb-page .kb-btn{display:inline-flex; align-items:center; gap:8px; padding:13px 24px; border-radius:999px; font-weight:700; font-size:14px;}\n.kb-page .kb-btn svg{width:18px;height:18px;}\n.kb-page .kb-btn-coral{background:var(--coral); color:#fff;}\n.kb-page .kb-btn-coral:hover{background:#e2483b; text-decoration:none;}\n.kb-page .kb-btn-ghost{background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.3);}\n.kb-page .kb-btn-ghost:hover{border-color:#fff; text-decoration:none;}\n.kb-page .kb-back{display:inline-flex; align-items:center; gap:7px; margin-top:30px; font-weight:600; font-size:14px; color:var(--pen);}\n.kb-page .kb-back:hover{color:var(--coral);}\n.kb-page .kb-contact{margin:34px 0 0; min-height:790px;}\n\n.kb-page .kb-fig{margin:14px 0 18px;}\n.kb-page .kb-fig img{display:block; width:100%; height:auto; border:1px solid var(--line); border-radius:12px; box-shadow:0 6px 24px rgba(0,0,0,.08);}\n.kb-page .kb-fig figcaption{font-size:13px; color:var(--pen); margin-top:8px; text-align:center;}\n.kb-page .kb-demo{margin:22px 0 18px;}\n.kb-page .kb-demo-tag{display:inline-block; background:var(--coral); color:#fff; font-weight:700; font-size:12px; letter-spacing:.06em; text-transform:uppercase; padding:4px 10px; border-radius:999px; margin-bottom:8px;}\n\n.kb-page .kb-meta{display:flex; gap:10px; flex-wrap:wrap; margin:14px 0 0; font-size:13px; color:var(--pen);}\n.kb-page .kb-meta span{background:var(--paper); border:1px solid var(--line); padding:4px 12px; border-radius:999px;}\n.kb-page .kb-needs{margin:26px 0 8px; background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:18px 22px;}\n.kb-page .kb-needs h2{font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:var(--pen); margin:0 0 10px;}\n.kb-page .kb-needs ul{margin:0; padding-left:20px;} .kb-page .kb-needs li{margin:0 0 6px; font-size:15px;}\n.kb-page .kb-steps{margin:30px 0 0;}\n.kb-page .kb-step{display:flex; gap:18px; margin:0 0 34px;}\n.kb-page .kb-step-n{flex:none; width:38px; height:38px; border-radius:50%; background:var(--coral); color:#fff; font-weight:800; display:flex; align-items:center; justify-content:center; margin-top:2px;}\n.kb-page .kb-step-b{flex:1; min-width:0; font-size:16px; color:#33322f;}\n.kb-page .kb-step-b h2{font-size:20px; line-height:1.3; margin:4px 0 10px; font-weight:800; color:var(--ink); letter-spacing:-.01em;}\n.kb-page .kb-step-b p{margin:0 0 12px;} .kb-page .kb-step-b ul,.kb-page .kb-step-b ol{margin:0 0 12px; padding-left:22px;} .kb-page .kb-step-b li{margin:0 0 6px;}\n.kb-page .kb-step-b code{background:#f4f4f2; border:1px solid var(--line); padding:1px 6px; border-radius:4px; font-size:14px;}\n.kb-page .kb-step-b pre{background:#1a1a1a; color:#f4f4ef; border-radius:10px; padding:14px 16px; margin:0 0 13px; overflow-x:auto; font-size:13px; line-height:1.55;}\n.kb-page .kb-step-b pre code{background:none; border:0; padding:0; color:inherit; font-size:inherit; white-space:pre;}\n.kb-page .kb-step-b .kb-tip{background:var(--paper); border-left:3px solid var(--mint); border-radius:8px; padding:12px 16px; margin:0 0 13px; font-size:15px;}\n.kb-page .kb-step-b .kb-warn{background:#fff2f0; border-left:3px solid var(--coral); border-radius:8px; padding:12px 16px; margin:0 0 13px; font-size:15px;}\n.kb-page .kb-box{margin:34px 0 0; border:1px solid var(--line); border-radius:16px; padding:20px 24px; background:#fff;}\n.kb-page .kb-box h2{font-size:20px; margin:0 0 12px; font-weight:800;}\n.kb-page .kb-box ul{margin:0; padding-left:20px;} .kb-page .kb-box li{margin:0 0 8px;}\n.kb-page .kb-prob{border-top:1px solid var(--line); padding:12px 0;} .kb-page .kb-prob:first-of-type{border-top:0;}\n.kb-page .kb-prob summary{cursor:pointer; font-weight:700; list-style:none;} .kb-page .kb-prob summary::-webkit-details-marker{display:none;}\n.kb-page .kb-prob summary:before{content:'+'; color:var(--coral); font-weight:800; margin-right:10px;} .kb-page .kb-prob[open] summary:before{content:'\\\\2212';}\n.kb-page .kb-prob div{padding:8px 0 0 22px; font-size:15px;}\n.kb-page .kb-cards{display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:12px; list-style:none; margin:0; padding:0;}\n.kb-page .kb-cards a{display:block; border:1px solid var(--line); border-radius:12px; padding:14px 16px; font-weight:650; font-size:15px; color:var(--ink); background:#fff; height:100%;}\n.kb-page .kb-cards a:hover{border-color:var(--coral); text-decoration:none; color:var(--coral);}\n.kb-page .kb-cards small{display:block; font-weight:500; color:var(--pen); font-size:13px; margin-top:4px; line-height:1.4;}\n.kb-page .kb-hubsearch{width:100%; margin:18px 0 0; padding:14px 18px; border:1.5px solid var(--line); border-radius:14px; font-size:16px; font-family:inherit;}\n.kb-page .kb-hubsearch:focus{outline:none; border-color:var(--coral);}\n.kb-page .kb-hgroup{margin:34px 0 0;} .kb-page .kb-hgroup h2{font-size:22px; font-weight:800; margin:0 0 4px;} .kb-page .kb-hgroup p{margin:0 0 14px; color:var(--pen); font-size:15px;}\n.kb-page .kb-empty{display:none; color:var(--pen); margin:22px 0;}\n@media (max-width:560px){.kb-page .kb-step{gap:12px;}.kb-page .kb-step-n{width:32px;height:32px;font-size:14px;}}\n.kb-page .kb-notice{margin:18px 0 6px; padding:14px 18px; border-radius:12px; background:#fff8e1; border:1px solid #f3dd8a; font-size:15px;}\n.kb-page .kb-notice strong{color:#1A1A1A;}\n<\/style>\n\n<section class=\"kb-page\" id=\"kb-howto\">\n<nav class=\"kb-crumb\" aria-label=\"Breadcrumb\"><a href=\"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/\">Help Center<\/a><span>\/<\/span><a href=\"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/#how-to-guides\">How-To Guides<\/a><span>\/<\/span>How to build a multi-step campaign flow<\/nav>\n<header class=\"kb-head\"><span class=\"kb-eyebrow\">Campaigns<\/span><h1>How to build a multi-step campaign flow<\/h1><p class=\"kb-lead\">Go beyond a single DM: chain messages, buttons, branches, replies and delays into one conversation your fans can follow.<\/p><div class=\"kb-meta\"><span>7 steps<\/span><span>With screenshots<\/span><span>Updated October 2026<\/span><\/div><\/header>\n<div class=\"kb-needs\"><h2>Before you start<\/h2><ul><li>A campaign open in the builder with a trigger already set<\/li><li>A rough plan of the conversation, written on paper<\/li><\/ul><\/div>\n<div class=\"kb-steps\">\n<section class=\"kb-step\" id=\"step-1\"><div class=\"kb-step-n\">1<\/div><div class=\"kb-step-b\"><h2>Sketch the conversation first<\/h2><p>Write the flow as a short script before you touch the canvas. Example for an Instagram comment trigger with the keyword <code>GUIDE<\/code>:<\/p>\n<ol>\n<li>Fan comments <code>GUIDE<\/code>.<\/li>\n<li>DMpro sends a DM with two buttons: <em>Beginner<\/em> and <em>Advanced<\/em>.<\/li>\n<li>The fan taps one and gets the matching guide.<\/li>\n<li>DMpro asks for their email.<\/li>\n<li>Two hours later, DMpro asks if the guide helped.<\/li>\n<\/ol>\n<p>Each line becomes a block. The builder has a palette on the left, the canvas in the middle and a live preview on the right.<\/p><\/div><\/section>\n<section class=\"kb-step\" id=\"step-2\"><div class=\"kb-step-n\">2<\/div><div class=\"kb-step-b\"><h2>Start with the trigger and a first message<\/h2><p>Set your trigger (see the comment-to-DM guide) and add a <strong>Send DM<\/strong> step with a clear question and up to three buttons, for example <em>Which guide do you want?<\/em> with the buttons <em>Beginner<\/em> and <em>Advanced<\/em>. With a comment trigger, only one DM can sit straight after the trigger. Further messages come after the fan answers, which is what the next steps do.<\/p><\/div><\/section>\n<section class=\"kb-step\" id=\"step-3\"><div class=\"kb-step-n\">3<\/div><div class=\"kb-step-b\"><h2>Branch with Paths<\/h2><p>Add a <strong>Paths<\/strong> block. It lets the fan choose between two to five options, either by tapping a button or by typing a word, and each option connects to its own next step. The message just before Paths must give the fan something to choose, such as the buttons above. Connect <em>Beginner<\/em> to a <strong>Send DM<\/strong> with one link and <em>Advanced<\/em> to a <strong>Send DM<\/strong> with another.<\/p>\n<div class=\"kb-tip\">A Paths block needs at least two options, and each one needs to lead somewhere. Otherwise publishing is blocked.<\/div><\/div><\/section>\n<section class=\"kb-step\" id=\"step-4\"><div class=\"kb-step-n\">4<\/div><div class=\"kb-step-b\"><h2>Wait for a reply to collect an email or phone number<\/h2><p>Add a <strong>Wait for reply<\/strong> block when you want a single answer without branching. A message step has to come first so the fan knows what to answer, for example <em>What is your email so I can send you updates?<\/em> You can accept text, an email address or a phone number. What fans share is collected in <strong>Analytics<\/strong> under Shared emails and phone numbers.<\/p><\/div><\/section>\n<section class=\"kb-step\" id=\"step-5\"><div class=\"kb-step-n\">5<\/div><div class=\"kb-step-b\"><h2>Control timing with Delay and Frequency cap<\/h2><p>A <strong>Delay<\/strong> waits before the next step. It accepts 1 to 60 seconds, minutes or hours, or 1 to 15 days. A <strong>Frequency cap<\/strong> limits how often one fan can set the flow off.<\/p>\n<p>Be careful with long delays on Instagram. A DM can only go out within 24 hours of the fan&#8217;s last message, so a delay that pushes the message past that point will not be delivered unless the fan writes again.<\/p><\/div><\/section>\n<section class=\"kb-step\" id=\"step-6\"><div class=\"kb-step-n\">6<\/div><div class=\"kb-step-b\"><h2>Pick richer steps where they help<\/h2><p>Use <strong>Send cards<\/strong> for a product carousel (an image, a title and a tappable button per card), <strong>Send attachment<\/strong> for an image, video, audio file or PDF (it carries no caption or button), and <strong>Send to your app<\/strong> to post the event to a URL you control. <strong>AI Response<\/strong> lets AI answer in your voice from instructions you write, and it spends AI credits. <strong>Live agent<\/strong> hands the chat to your team in Chatgram and only appears when Chatgram is connected.<\/p><\/div><\/section>\n<section class=\"kb-step\" id=\"step-7\"><div class=\"kb-step-n\">7<\/div><div class=\"kb-step-b\"><h2>Test every path, then save or publish<\/h2><p>Use the live preview to walk each branch. Fix everything the validation banner lists, then save as a draft or publish.<\/p>\n<div class=\"kb-warn\">Publishing sends your whole flow to real fans, branches included. Test each path with a second account before you tell your audience about it.<\/div><\/div><\/section>\n<\/div>\n<div class=\"kb-box\"><h2>Tips<\/h2><ul><li>Keep each message short. Two short messages in a row read better than one wall of text.<\/li><li>A Send DM step can hold more than one message variant, which is handy for testing two versions of your wording.<\/li><\/ul><\/div>\n<div class=\"kb-box\"><h2>If something goes wrong<\/h2><details class=\"kb-prob\"><summary>Publishing is blocked because of my Paths block.<\/summary><div><p>A Paths block needs at least two options, each connected to a next step. Open the block, add the missing option and connect every branch.<\/p><\/div><\/details><details class=\"kb-prob\"><summary>A message in my flow arrived late.<\/summary><div><p>Open the canvas and check for a <strong>Delay<\/strong> block. Shorten or remove it if you want an instant reply.<\/p><\/div><\/details><details class=\"kb-prob\"><summary>The same fan cannot enter the flow again.<\/summary><div><p>A <strong>Frequency cap<\/strong> is limiting repeat entries. Raise the limit or the time window, or remove the cap.<\/p><\/div><\/details><details class=\"kb-prob\"><summary>The flow stopped because of an AI limit.<\/summary><div><p>AI Response uses your monthly AI credits (the Free plan includes $3 a month). When they run out, campaigns with AI steps pause. Check the credits card on <strong>Overview<\/strong>, wait for the reset, upgrade, or remove the AI step for now.<\/p><\/div><\/details><\/div>\n<div class=\"kb-box\"><h2>Related how-to guides<\/h2><ul class=\"kb-cards\"><li><a href=\"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/how-to-create-a-comment-to-dm-campaign\/\">How to create a comment-to-DM campaign on Instagram<\/a><\/li><li><a href=\"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/how-to-start-a-campaign-from-a-template\/\">How to start a campaign from a template<\/a><\/li><li><a href=\"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/how-to-publish-pause-or-archive-a-campaign\/\">How to publish, pause or archive a campaign<\/a><\/li><li><a href=\"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/how-to-export-shared-emails-and-phone-numbers\/\">How to export the emails and phone numbers fans share<\/a><\/li><li><a href=\"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/how-to-use-the-live-conversations-inbox\/\">How to use the live Conversations inbox<\/a><\/li><\/ul><\/div>\n<div class=\"kb-related\"><h2>Help Center articles<\/h2><ul><li><a href=\"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/campaign-builder\/\">Campaign Flow Builder &rarr;<\/a><\/li><li><a href=\"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/instagram\/\">Instagram Automation &rarr;<\/a><\/li><li><a href=\"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/troubleshooting\/\">Troubleshooting &rarr;<\/a><\/li><\/ul><\/div>\n<div class=\"kb-cta\">\n<h3>Still stuck? We&#8217;re happy to help.<\/h3>\n<p>Create your DMpro account, see pricing, or reach out to support directly.<\/p>\n<div class=\"kb-cta-btns\">\n<a class=\"kb-btn kb-btn-coral\" href=\"https:\/\/dmpro.brandid.app\/signin\">\n<svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewbox=\"0 0 24 24\"><path d=\"M5 12h14M12 5l7 7-7 7\"><\/path><\/svg>Create Free Account<\/a>\n<a class=\"kb-btn kb-btn-ghost\" href=\"https:\/\/dmpro.brandid.app\/\">\n<svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewbox=\"0 0 24 24\"><rect height=\"18\" rx=\"2\" width=\"18\" x=\"3\" y=\"4\"><\/rect><path d=\"M3 10h18\"><\/path><\/svg>See Plans<\/a>\n<a class=\"kb-btn kb-btn-ghost\" href=\"https:\/\/brandid.app\/contact-us\/\">\n<svg fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" viewbox=\"0 0 24 24\"><path d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"><\/path><\/svg>Contact Support<\/a>\n<\/div>\n<\/div>\n\n<a class=\"kb-back\" href=\"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/#how-to-guides\"><svg viewBox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"m15 18-6-6 6-6\"\/><\/svg>All how-to guides<\/a>\n<\/section>\n<script type=\"application\/ld+json\">{\"@context\": \"https:\/\/schema.org\", \"@type\": \"HowTo\", \"name\": \"How to build a multi-step campaign flow\", \"description\": \"Go beyond a single DM: chain messages, buttons, branches, replies and delays into one conversation your fans can follow.\", \"step\": [{\"@type\": \"HowToStep\", \"position\": 1, \"name\": \"Sketch the conversation first\", \"text\": \"Write the flow as a short script before you touch the canvas. Example for an Instagram comment trigger with the keyword GUIDE : Fan comments GUIDE . DMpro sends a DM with two buttons: Beginner and Advanced . The fan taps one and gets the matching guide. DMpro asks for their email. Two hours later, DMpro asks if the guide helped. Each line becomes a block. The builder has a palette on the left, the canvas in the middle and a live preview on the right.\", \"url\": \"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/how-to-build-a-multi-step-flow\/#step-1\"}, {\"@type\": \"HowToStep\", \"position\": 2, \"name\": \"Start with the trigger and a first message\", \"text\": \"Set your trigger (see the comment-to-DM guide) and add a Send DM step with a clear question and up to three buttons, for example Which guide do you want? with the buttons Beginner and Advanced . With a comment trigger, only one DM can sit straight after the trigger. Further messages come after the fan answers, which is what the next steps do.\", \"url\": \"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/how-to-build-a-multi-step-flow\/#step-2\"}, {\"@type\": \"HowToStep\", \"position\": 3, \"name\": \"Branch with Paths\", \"text\": \"Add a Paths block. It lets the fan choose between two to five options, either by tapping a button or by typing a word, and each option connects to its own next step. The message just before Paths must give the fan something to choose, such as the buttons above. Connect Beginner to a Send DM with one link and Advanced to a Send DM with another. A Paths block needs at least two options, and each one needs to lead somewhere. Otherwise publishing is blocked.\", \"url\": \"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/how-to-build-a-multi-step-flow\/#step-3\"}, {\"@type\": \"HowToStep\", \"position\": 4, \"name\": \"Wait for a reply to collect an email or phone number\", \"text\": \"Add a Wait for reply block when you want a single answer without branching. A message step has to come first so the fan knows what to answer, for example What is your email so I can send you updates? You can accept text, an email address or a phone number. What fans share is collected in Analytics under Shared emails and phone numbers.\", \"url\": \"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/how-to-build-a-multi-step-flow\/#step-4\"}, {\"@type\": \"HowToStep\", \"position\": 5, \"name\": \"Control timing with Delay and Frequency cap\", \"text\": \"A Delay waits before the next step. It accepts 1 to 60 seconds, minutes or hours, or 1 to 15 days. A Frequency cap limits how often one fan can set the flow off. Be careful with long delays on Instagram. A DM can only go out within 24 hours of the fan's last message, so a delay that pushes the message past that point will not be delivered unless the fan writes again.\", \"url\": \"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/how-to-build-a-multi-step-flow\/#step-5\"}, {\"@type\": \"HowToStep\", \"position\": 6, \"name\": \"Pick richer steps where they help\", \"text\": \"Use Send cards for a product carousel (an image, a title and a tappable button per card), Send attachment for an image, video, audio file or PDF (it carries no caption or button), and Send to your app to post the event to a URL you control. AI Response lets AI answer in your voice from instructions you write, and it spends AI credits. Live agent hands the chat to your team in Chatgram and only appears when Chatgram is connected.\", \"url\": \"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/how-to-build-a-multi-step-flow\/#step-6\"}, {\"@type\": \"HowToStep\", \"position\": 7, \"name\": \"Test every path, then save or publish\", \"text\": \"Use the live preview to walk each branch. Fix everything the validation banner lists, then save as a draft or publish. Publishing sends your whole flow to real fans, branches included. Test each path with a second account before you tell your audience about it.\", \"url\": \"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/how-to-build-a-multi-step-flow\/#step-7\"}]}<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Build a multi-step DMpro flow on Instagram: send a message with buttons, branch with Paths, collect an email, add a Delay and test it.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":585,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-624","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to build a multi-step campaign flow - DMpro Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/how-to-build-a-multi-step-flow\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to build a multi-step campaign flow - DMpro Blog\" \/>\n<meta property=\"og:description\" content=\"Build a multi-step DMpro flow on Instagram: send a message with buttons, branch with Paths, collect an email, add a Delay and test it.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/how-to-build-a-multi-step-flow\/\" \/>\n<meta property=\"og:site_name\" content=\"DMpro Blog\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/dmpro.brandid.app\\\/blog\\\/dmpro-knowledge-base\\\/how-to-build-a-multi-step-flow\\\/\",\"url\":\"https:\\\/\\\/dmpro.brandid.app\\\/blog\\\/dmpro-knowledge-base\\\/how-to-build-a-multi-step-flow\\\/\",\"name\":\"How to build a multi-step campaign flow - DMpro Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dmpro.brandid.app\\\/blog\\\/#website\"},\"datePublished\":\"2026-11-07T15:48:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/dmpro.brandid.app\\\/blog\\\/dmpro-knowledge-base\\\/how-to-build-a-multi-step-flow\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/dmpro.brandid.app\\\/blog\\\/dmpro-knowledge-base\\\/how-to-build-a-multi-step-flow\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/dmpro.brandid.app\\\/blog\\\/dmpro-knowledge-base\\\/how-to-build-a-multi-step-flow\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/dmpro.brandid.app\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DMpro Help Center\",\"item\":\"https:\\\/\\\/dmpro.brandid.app\\\/blog\\\/dmpro-knowledge-base\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"How to build a multi-step campaign flow\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/dmpro.brandid.app\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/dmpro.brandid.app\\\/blog\\\/\",\"name\":\"DMpro Blog\",\"description\":\"DM automation playbooks for Instagram, TikTok, WhatsApp, Telegram, Messenger and LinkedIn\",\"publisher\":{\"@id\":\"https:\\\/\\\/dmpro.brandid.app\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/dmpro.brandid.app\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/dmpro.brandid.app\\\/blog\\\/#organization\",\"name\":\"DMpro\",\"url\":\"https:\\\/\\\/dmpro.brandid.app\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/dmpro.brandid.app\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/dmpro.brandid.app\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/dmpro-icon-512.png\",\"contentUrl\":\"https:\\\/\\\/dmpro.brandid.app\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/dmpro-icon-512.png\",\"width\":512,\"height\":512,\"caption\":\"DMpro\"},\"image\":{\"@id\":\"https:\\\/\\\/dmpro.brandid.app\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.instagram.com\\\/brandid.creators\\\/\",\"https:\\\/\\\/brandid.app\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to build a multi-step campaign flow - DMpro Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/how-to-build-a-multi-step-flow\/","og_locale":"en_US","og_type":"article","og_title":"How to build a multi-step campaign flow - DMpro Blog","og_description":"Build a multi-step DMpro flow on Instagram: send a message with buttons, branch with Paths, collect an email, add a Delay and test it.","og_url":"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/how-to-build-a-multi-step-flow\/","og_site_name":"DMpro Blog","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/how-to-build-a-multi-step-flow\/","url":"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/how-to-build-a-multi-step-flow\/","name":"How to build a multi-step campaign flow - DMpro Blog","isPartOf":{"@id":"https:\/\/dmpro.brandid.app\/blog\/#website"},"datePublished":"2026-11-07T15:48:49+00:00","breadcrumb":{"@id":"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/how-to-build-a-multi-step-flow\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/how-to-build-a-multi-step-flow\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/how-to-build-a-multi-step-flow\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dmpro.brandid.app\/blog\/"},{"@type":"ListItem","position":2,"name":"DMpro Help Center","item":"https:\/\/dmpro.brandid.app\/blog\/dmpro-knowledge-base\/"},{"@type":"ListItem","position":3,"name":"How to build a multi-step campaign flow"}]},{"@type":"WebSite","@id":"https:\/\/dmpro.brandid.app\/blog\/#website","url":"https:\/\/dmpro.brandid.app\/blog\/","name":"DMpro Blog","description":"DM automation playbooks for Instagram, TikTok, WhatsApp, Telegram, Messenger and LinkedIn","publisher":{"@id":"https:\/\/dmpro.brandid.app\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dmpro.brandid.app\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/dmpro.brandid.app\/blog\/#organization","name":"DMpro","url":"https:\/\/dmpro.brandid.app\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dmpro.brandid.app\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/dmpro.brandid.app\/blog\/wp-content\/uploads\/2026\/09\/dmpro-icon-512.png","contentUrl":"https:\/\/dmpro.brandid.app\/blog\/wp-content\/uploads\/2026\/09\/dmpro-icon-512.png","width":512,"height":512,"caption":"DMpro"},"image":{"@id":"https:\/\/dmpro.brandid.app\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.instagram.com\/brandid.creators\/","https:\/\/brandid.app\/"]}]}},"_links":{"self":[{"href":"https:\/\/dmpro.brandid.app\/blog\/wp-json\/wp\/v2\/pages\/624","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dmpro.brandid.app\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dmpro.brandid.app\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dmpro.brandid.app\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dmpro.brandid.app\/blog\/wp-json\/wp\/v2\/comments?post=624"}],"version-history":[{"count":0,"href":"https:\/\/dmpro.brandid.app\/blog\/wp-json\/wp\/v2\/pages\/624\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/dmpro.brandid.app\/blog\/wp-json\/wp\/v2\/pages\/585"}],"wp:attachment":[{"href":"https:\/\/dmpro.brandid.app\/blog\/wp-json\/wp\/v2\/media?parent=624"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}