Instagram Messaging

Quick Replies

Updated: Jul 2, 2026
Quick replies provide a way to present a set of buttons in-conversation for users to reply with. A maximum of 13 quick replies are supported and each quick reply allows up to 20 characters before being truncated. Quick replies only support plain text.
Instagram conversation showing tappable Quick Replies buttons: Schedule in-store visit, Live chat now, Call
When a quick reply is tapped, Instagram dismisses the buttons and posts the tapped button’s title to the conversation as a message. Instagram then sends a messages event to your webhook that contains the button title and an optional payload.
This feature is currently not available on desktop.

Sending quick replies

curl -X POST -H "Content-Type: application/json" -d '{
  "recipient":{
    "id":"<IGSID>"
  },
  "messaging_type": "RESPONSE",
  "message":{
    "text": "<SOME_TEXT>",
    "quick_replies":[
      {
        "content_type":"text",
        "title":"<TITLE_1>",
        "payload":"<POSTBACK_PAYLOAD_1>"
      },
      {
        "content_type":"text",
        "title":"<TITLE_2>",
        "payload":"<POSTBACK_PAYLOAD_2>"
      }
    ]
  }
}' "https://graph.facebook.com/<API_VERSON>/me/messages?access_token=<PAGE_ACCESS_TOKEN>"

Webhook event

When a quick reply is tapped, Instagram sends a text message to your webhook.
The text property of the event will correspond to the title of the quick reply. The message object will also contain a field named quick_reply containing the payload data on the quick reply.
{
  "object": "instagram",
  "entry": [
    {
      "id": "<IGID>",
      "time": 1502905976963,
      "messaging": [
        {
          "sender": {
            "id": "<IGSID>"
          },
          "recipient": {
            "id": "<IGID>"
          },
          "timestamp": 1502905976377,
          "message": {
            "quick_reply": {
              "payload": "<PAYLOAD>"
            },
            "mid": "<MID>",
            "text": "<SOME_TEXT>"
          }
        }
      ]
    }
  ]
}

User phone number quick reply

Instagram chat asking 'Please send your phone number for tracking purposes' with a pre-filled phone number quick reply
The user phone number quick reply allows you to ask a user for their phone number. When the phone number quick reply is sent, the Instagram Direct Platform will automatically pre-fill the displayed quick reply with the phone number from the user’s profile information.
If the user’s profile does not have a phone number, Instagram does not show the quick reply.
Your webhook does not receive the phone number until the user taps the quick reply.
Choosing the quick reply transmits the information once and does not constitute permission to access the information in the future.

Syntax

{
  "content_type":"user_phone_number"
}

Webhook event

When the user taps the quick reply, the email address will be passed in the payload attribute of the messages webhook event.
{
  "object": "page",
  "entry": [
    {
      "id": "<PAGE_ID>",
      "time": 1502905976963,
      "messaging": [
        {
          "sender": {
            "id": "<IGSID>"
          },
          "recipient": {
            "id": "<IGID>"
          },
          "timestamp": 1502905976377,
          "message": {
            "quick_reply": {
              "payload": "<PHONE_NUMBER>"
            },
            "mid": "<MESSAGE_ID>",
            "text": "<PHONE_NUMBER>"
          }
        }
      ]
    }
  ]
}

Developer Support