When building a Flow, you must define a terminal screen — a screen that signifies the logical end of the user journey. If you forget to do this, you'll run into this error:

MISSING_TERMINAL_SCREEN  

Terminal screen is required but not provided.  

At least one terminal screen must exist in a Flow.

TL;DR

Add at least one screen with "terminal": true in your Flow. This marks the end of the Flow, allowing it to terminate properly.

What’s Going Wrong?

Here’s what’s likely wrong in your Flow JSON:

{
  "version": "2.1",
  "screens": [
    {
      "id": "screenA",
      "title": "Screen Title",
      "layout": {
        "type": "SingleColumnLayout",
        "children": [..]
      }
    }
  ]
}

Notice there’s no "terminal": true. This makes the Flow incomplete — the system doesn’t know where or how to exit.

How to Fix It

Just add "terminal": true to at least one screen. For example:

{
  "id": "screenA",
  "title": "Thanks",
  "terminal": true,
  "layout": {
    "type": "SingleColumnLayout",
    "children": [..]
  }
}

Why It Matters

Flows without a terminal screen will never resolve or hand off correctly. Whether you're ending with a thank-you message or just handing back control, always define your termination point.

Keep this simple rule in mind: Every Flow needs a way out.

For more troubleshooting insights related to WhatsApp Business API, check out heltar.com/blogs.