> ## Documentation Index
> Fetch the complete documentation index at: https://fliqr.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Common Flow Builder errors and solutions

> Fix the most common Fliqr AI Flow Builder and delivery errors for Messenger, Instagram, WhatsApp, email, SMS, External Request, and integrations.

When a Flow step fails, open **Settings → Logs** (or the delivery / error log for the contact) and match the message below. Most issues are empty content, messaging windows, template parameters, or a disconnected channel.

<Tip>
  Also see [Channel errors](/docs/troubleshooting/channel-errors) for connection and authorization problems outside the Flow canvas.
</Tip>

## Messenger and Instagram

<AccordionGroup>
  <Accordion title="(#100) Message cannot be empty">
    A Message block is empty, or a placeholder like `{{Response}}` has no value.

    **Fix:** Ensure every Message block has text or a valid attachment, and that custom fields used in the message are set before the block runs.
  </Accordion>

  <Accordion title="(#10) Message sent outside the allowed window">
    You are messaging outside Meta’s 24-hour customer care window, or previewing a Flow while outside that window.

    **Fix:** Have the contact message the bot again, then retry. For proactive outreach, use an approved message tag / OTN where applicable.
  </Accordion>

  <Accordion title="Reconnect Messenger / Instagram">
    Delivery fails until the channel is re-authorized.

    **Fix:** Go to **Settings → Channels** and reconnect Messenger or Instagram.
  </Accordion>

  <Accordion title="(#10) Another app is controlling this thread">
    Another Facebook app owns the conversation (Handover Protocol).

    **Fix:** Make the Fliqr AI app the **primary receiver** on the Facebook Page handover settings. Move the chat out of live chat / “done” on both the Fliqr Inbox and the Page Inbox if needed.
  </Accordion>

  <Accordion title="(#100) URL button / image URL invalid">
    A button or image URL is missing `https://` or is malformed.

    **Fix:** Use full `https://` URLs for buttons and image blocks.
  </Accordion>

  <Accordion title="Error #551 This person isn’t available right now">
    The person blocked Page messages, or they only commented and never opted into Messenger — then a Delay / sequence tried to message them.

    **Fix:** Do not send delayed follow-ups until the contact has opted into messaging. For blocked users, an admin can try a manual Page Inbox reply.
  </Accordion>

  <Accordion title="(#100) Cannot set thread-level persistent menu">
    Another app controls the thread / Fliqr is not the primary receiver.

    **Fix:** Set Fliqr AI as the primary receiver under Page Handover Protocol, then retry the persistent menu.
  </Accordion>

  <Accordion title="(#100) Upload failed">
    The file type is not supported on Messenger.

    **Fix:** Use a supported format/extension and retry.
  </Accordion>

  <Accordion title="(#10) One-time notification permission required">
    You are sending with a notification tag without OTN permission.

    **Fix:** On the Facebook Page, go to **Settings → Advanced messaging** and request one-time notification permission.
  </Accordion>

  <Accordion title="(#200) Insufficient administrative permission">
    The connected Facebook user is not a Page admin (or 2FA is required).

    **Fix:** Connect with a Page admin account and enable 2FA if the business requires it.
  </Accordion>

  <Accordion title="Facebook comment can only reply with 1 message">
    Comment automation allows a single reply message (Facebook limit).

    **Fix:** Reply with one text (optionally with a button that continues into a Flow). Do not chain multiple messages or a Continue node from the start step of the comment tool.
  </Accordion>
</AccordionGroup>

## WhatsApp

<AccordionGroup>
  <Accordion title="URL button is not supported">
    Free-form WhatsApp Flows do not support open-URL buttons.

    **Fix:** Put URL buttons only in approved **WhatsApp template** messages.
  </Accordion>

  <Accordion title="Required parameter is missing / format mismatch">
    Template body or header parameters do not match the approved template (missing text, wrong header media type, and similar).

    **Fix:** Open the template in Flow Builder and fill every variable. Match header type (image/video/document) to the approved template.
  </Accordion>

  <Accordion title="More than 24 hours since the customer last replied (code 470)">
    Free-form session messaging window expired.

    **Fix:** Send an approved template, or wait until the contact messages you again.
  </Accordion>

  <Accordion title="(#100) parameter text['body'] is required">
    You tried to send an empty WhatsApp message.

    **Fix:** Add text (or a valid template) before the send step.
  </Accordion>

  <Accordion title="Unsupported image mime type (GIF) / wrong audio type">
    WhatsApp rejects GIFs and unsupported audio codecs.

    **Fix:** Images: PNG or JPEG. Audio: `ogg` (opus), `mpeg`, `amr`, `mp4`, or `aac`.
  </Accordion>

  <Accordion title="Downloading media failed (404)">
    Fliqr AI could not download the media URL.

    **Fix:** Use a publicly reachable URL (try another host/domain). Confirm the file still exists.
  </Accordion>

  <Accordion title="There can be no more than 30 product_items">
    WhatsApp product lists are capped at 30 items per message.

    **Fix:** Split the catalog presentation across multiple messages or sections under the limit.
  </Accordion>

  <Accordion title="Invalid catalog Id / compliance information required">
    Catalog is not linked correctly, or Meta requires extra commerce compliance.

    **Fix:** Connect the catalog in WhatsApp Manager and add products (spreadsheet import is recommended). Follow Meta’s catalog help docs for compliance.
  </Accordion>
</AccordionGroup>

## External Request and APIs

<AccordionGroup>
  <Accordion title="Fail to execute the request">
    The HTTP call did not complete successfully.

    **Fix:** Verify URL, method, headers, and body. Test the endpoint outside Fliqr AI, then recheck Response Mapping. See [External requests](/docs/core-concepts/flows/external-requests) and [Dynamic content](/docs/core-concepts/flows/dynamic-content).
  </Accordion>

  <Accordion title="Google Sheets invalid_grant">
    OAuth grant for Google Sheets is stale.

    **Fix:** Disconnect and reconnect the Google Sheets integration.
  </Accordion>

  <Accordion title="MailerLite API-Key Unauthorized">
    The API key is wrong or revoked.

    **Fix:** Paste a valid MailerLite API key in the integration settings.
  </Accordion>
</AccordionGroup>

## Email and SMS

<AccordionGroup>
  <Accordion title="Please connect Twilio account">
    The Flow tries to send SMS without Twilio or ClickSend connected.

    **Fix:** Connect an SMS provider under channel / integration settings.
  </Accordion>

  <Accordion title="SMTP Error: Could not authenticate">
    SMTP username/password is wrong. For Gmail, normal passwords often fail.

    **Fix:** Use a [Google App Password](https://support.google.com/accounts/answer/185833) in Fliqr AI SMTP settings when using Gmail.
  </Accordion>

  <Accordion title="No email address (TO) / SendGrid opted-in">
    The contact has no email, or has not opted in.

    **Fix:** Confirm `{{email}}` is set and the contact is opted in for email.
  </Accordion>
</AccordionGroup>

## Account and ads

<AccordionGroup>
  <Accordion title="Upgrade to PRO — 10 user limit (DEMO)">
    Demo / trial workspaces allow a limited number of contacts.

    **Fix:** Upgrade the plan or remove test contacts you no longer need.
  </Accordion>

  <Accordion title="Facebook Ads session invalidated">
    The Facebook login session expired (password change or security reset).

    **Fix:** Reconnect the bot / Facebook channel in **Settings → Channels**.
  </Accordion>
</AccordionGroup>

## Quick checklist

1. Is the Message / template block empty or missing variables?
2. Are you inside the channel messaging window?
3. Is the channel still connected under **Settings → Channels**?
4. For APIs — do headers, body, and JSON paths match a real test response?
5. Check `{{last_error_log}}` on the contact if you need the last runtime error in a Flow.

## Next

<CardGroup cols={2}>
  <Card title="External requests" icon="plug" href="/docs/core-concepts/flows/external-requests">
    Build and map API calls correctly.
  </Card>

  <Card title="System fields" icon="brackets-curly" href="/docs/core-concepts/flows/system-fields">
    Use the right placeholders in messages and mappings.
  </Card>
</CardGroup>
