Messenger
O Messenger é o seu login do Facebook com nome próprio: leia e responda suas conversas, solicitações de mensagem e conversas de Páginas de qualquer app de IA, com 10 a 20 segundos de intervalo. Ele usa as mesmas ferramentas de conversa de todos os canais.
Limites
Por conta conectada do Messenger, compartilhados por todos os apps de IA e chaves de API que a usam. As mesmas ferramentas funcionam em todas as redes: cada conta mantém seus próprios limites.
list _chatsget _messagesget _attachmentlist _group _membersfacebook _list _pagesmark _readreactsend _messageaccept _message _requeststart _chatRegras de post
O que o Messenger aceita, verificado antes de qualquer envio, para que um post ruim não custe nada.
text.image_urls), não os dois. Arquivos do seu dispositivo passam antes pelo upload_media.visibilityLinkedIn: anyone (default) or relations_only (connections). Facebook: anyone (default: everyone) or relations_only (friends; not as a Page). YouTube: public (default), private or unlistedanyonerelations_onlypublicprivateunlistedas_pageFacebook: publish as this Page (page_id from facebook_list_pages) instead of the personal accountshare_post_idFacebook: post_id of a post to share (text optional, no image; not schedulable)Limites de segurança
O que mantém sua conta do Messenger em dia. Eles valem para todos os apps de IA e chaves de API desta conta, e não podem ser desativados.
fresh: true força uma leitura em tempo real.Quando um limite é atingido
Nada fica na fila nem é repetido sem você saber: a ferramenta responde com um erro que seu app de IA pode ler, explicar e tentar de novo na hora certa.
gapCedo demais depois da última ação. Aguarde retry_after_seconds.limitO limite diário ou semanal acabou. A resposta diz quando ele renova.cooldownO Messenger reclamou; a conta está descansando.permissionEste app não tem permissão para isso. Reconecte e permita a ação.{ "error": "Facebook actions are spaced 10–20 s apart, at random, to look human. Wait 10s.", "code": "gap", "retry_after_seconds": 10 }
Ferramentas
O Messenger usa as ferramentas de conversa do Facebook: o mesmo login, os mesmos limites.
list_chatsList conversations · LeiturasLeituras · 3.000/diaLeitura
Conversations across every connected inbox (LinkedIn, WhatsApp, Telegram, Instagram, Instagram Business, Facebook Messenger), merged and sorted most recent first; account or provider narrows it. Use unread=true to triage. Each item has chat_id, its account_id and provider (pass account_id as account to get_messages, send_message and the other conversation tools), and person_id for 1-to-1 chats. Facebook: page_id lists the inbox of one of a personal account's Pages (facebook_list_pages); requests=true the message requests. Accounts that can't be read right now are listed in skipped, with what to do.
accountaccount_id from list_accounts); default: every connected account, mergedproviderunreadpage_idpage_id from facebook_list_pages); send_message then answers as the Pagerequestsaccept_message_requestlimitcursornext_cursor from a previous callfresh{ "items": [ { "chat_id": "6Wx3HyhTVvKmNy2kP9zQ1A", "name": "Lucas Bernard", "person_id": "33612345678@s.whatsapp.net", "group": false, "unread": 1, "last_activity": "2026-11-09T08:42:17.000Z", "last_message": "See you at 10 tomorrow 👍", "read_only": false, "account_id": "8d41a7f0-2c6e-4b1a-a3d9-71e5c0b4f826", "provider": "whatsapp" }, { "chat_id": "gq5Xp3bZUXCt6Zt1Z2rTsA", "name": "Ada Martin", "person_id": "ACoAAA8BYqEBCVM2yBH2uI6u", "group": false, "unread": 1, "last_activity": "2026-11-09T08:42:17.000Z", "last_message": "Thanks for connecting! Do you have 15 minutes next week?", "read_only": false, "account_id": "3f2b8c1e-7a4d-4e9b-9c21-5d8e6f0a1b2c", "provider": "linkedin" } ], "next_cursor": "m1.eyJsIjoyMCwidSI6MCwiYSI6eyI4ZDQxYTdmMCI6eyJjIjoiMjAyNiJ9fX0", "has_more": true, "accounts_read": 2 }
gaplimitcooldownpermissionget_messagesRead a conversation · LeiturasLeituras · 3.000/diaLeitura
Messages in one conversation (chat_id from list_chats), most recent first. 'from' is 'me' (the account owner, or the Page in a Facebook Page's chat) or 'them'; message_id values work with react. The 3 most recent images on the page come with the result for you to see (their attachments say shown_below: true); open any other, or read a document's text (PDF, Word, Excel…), with get_attachment. Every attachment has a url the user can open or download for 24 hours. Instagram Business: without cursor, reply_window says whether a reply can go out (open, user_written_only or closed). Facebook personal chats are end-to-end encrypted: older messages show only if the user unlocked their history when connecting.
accountaccount_id from list_accounts (a listed chat's account_id). Needed only when several accounts are connected.chat_idobrigatóriolimitcursornext_cursor from a previous callfreshimages{ "chat_id": "gq5Xp3bZUXCt6Zt1Z2rTsA", "items": [ { "message_id": "7mKQx2VdTnW8bLr4Yc9eFg", "from": "them", "text": "Thanks for connecting! Do you have 15 minutes next week?", "at": "2026-11-09T08:42:17.000Z" }, { "message_id": "7mKQx2VdTnW8bLr4Yc9ex1", "from": "me", "text": "Hi! Happy to send over the deck.", "at": "2026-11-08T16:05:41.000Z" } ], "next_cursor": null, "has_more": false }
gaplimitcooldownpermissionget_attachmentOpen an image or document from a message · LeiturasLeituras · 3.000/diaLeitura
Opens a file someone sent or received in a conversation (chat_id, message_id and attachments[].attachment_id from get_messages). An image (JPEG, PNG, WebP, GIF, at most 3.75 MB) is shown to you, so you can see and describe it; get_messages already shows you a page's most recent images (shown_below: true): use this for the others. A document (PDF, Word .docx, Excel, TXT or CSV, at most 15 MB) comes back as its text, 50,000 characters at a time: next_offset says where to go on with offset. Scanned PDFs have no text. Videos, voice notes and PowerPoint files can't be opened: give the user the attachment's url. LinkedIn, WhatsApp, Telegram, Instagram and Facebook; Instagram Business and Facebook Pages messages give the file's link in get_messages instead.
accountaccount_id from list_accounts (a listed chat's account_id). Needed only when several accounts are connected.chat_idobrigatóriomessage_idobrigatórioattachment_idobrigatórioattachment_id from get_messagesoffsetnext_offset from the previous call); default the start{ "chat_id": "6Wx3HyhTVvKmNy2kP9zQ1A", "message_id": "3EB0A9C4D2F1E8B7A6C5", "attachment_id": "9f3c2a71-4b8e-4d1a-a6f0-2c5e8b7d1e94", "mimetype": "image/jpeg", "size_bytes": 184312 }
gaplimitcooldownpermissionsend_messageSend a message · MensagensMensagens · 50/diaEscrita
Reply in an existing conversation (chat_id from list_chats), on any network: 1-to-1, group, or a Facebook Page's chat (answered as the Page). Plain text. Show the user the exact text (and which file) before calling this. One file can go with the text: image_url (an https link to an image), file_url (an https link to a document) or media_id (from upload_media, for an image or a document the user has on their device or attached in the chat). Documents: PDF, Word, Excel, PowerPoint (docx, xlsx, pptx, doc, xls, ppt), TXT or CSV, at most 15 MB; WhatsApp, Telegram, LinkedIn and Facebook Messenger take PDF, Word, Excel, PowerPoint, TXT and CSV files; Instagram takes PDFs only; Instagram Business takes PDFs only and Facebook Pages any of them. Instagram Business allow replies within 24 hours of the person's last message (Instagram: at most 1000 characters, JPEG or PNG); up to 7 days after it, only a reply the user wrote or approved word for word, with user_written: true (never for text you wrote on your own).
accountaccount_id from list_accounts (a listed chat's account_id). Needed only when several accounts are connected.chat_idobrigatóriotextobrigatórioimage_urlmedia_id instead.file_urlmedia_id instead.media_idupload_media, then pass its media_id here once the file is uploaded (the user says so, or your own upload_command answered ok).user_written{ "chat_id": "gq5Xp3bZUXCt6Zt1Z2rTsA", "message_id": "7mKQx2VdTnW8bLr4Yc9ey7", "sent": true }
gaplimitcooldownpermissionstart_chatStart a new conversation · Conversas novasConversas novas · 10/diaEscrita
Message someone you have no conversation with yet. Pick the account (or, with one account per network, the provider). `to`: LinkedIn: the person_id (from linkedin_search_people or get_profile) of a 1st-degree connection, or anyone with inmail=true (needs Premium InMail credits); WhatsApp: a phone number with its country code, like +33 6 12 34 56 78; Telegram, Instagram and Facebook: the user id (a chat's person_id, a group member's or friend's user_id, or from get_profile). New conversations have low daily limits (WhatsApp 10, Telegram 10, Instagram 10, Facebook 10), and networks restrict accounts that message strangers: WhatsApp bans new accounts after 2–3 cold messages; on Instagram and Facebook, people who don't follow or aren't friends get it as a message request. Only message people who expect it. Confirm the exact recipient and final text with the user before calling this. One file can go with the text: image_url (an https link to an image), file_url (an https link to a document) or media_id (from upload_media, for an image or a document the user has on their device or attached in the chat). Documents: PDF, Word, Excel, PowerPoint (docx, xlsx, pptx, doc, xls, ppt), TXT or CSV, at most 15 MB; WhatsApp, Telegram, LinkedIn and Facebook Messenger take PDF, Word, Excel, PowerPoint, TXT and CSV files; Instagram takes PDFs only; Instagram Business takes PDFs only and Facebook Pages any of them.
accountaccount_id from list_accounts (a listed chat's account_id). Needed only when several accounts are connected.providertoobrigatórioperson_id, WhatsApp phone number with country code, or Telegram / Instagram / Facebook user idtextobrigatórioimage_urlmedia_id instead.file_urlmedia_id instead.media_idupload_media, then pass its media_id here once the file is uploaded (the user says so, or your own upload_command answered ok).inmailsubject{ "chat_id": "Hs8vR2kLqP4wYt6Nc1dXbA", "message_id": "7mKQx2VdTnW8bLr4Yc9ez3", "sent": true }
gaplimitcooldownpermissionmark_readMark a conversation read · Atualizações da caixa de entradaAtualizações da caixa de entrada · 500/diaEscrita
Marks a conversation read (or unread with read=false), on any network. Reading a conversation doesn't mark it read.
accountaccount_id from list_accounts (a listed chat's account_id). Needed only when several accounts are connected.chat_idobrigatórioread{ "chat_id": "gq5Xp3bZUXCt6Zt1Z2rTsA", "read": true }
gaplimitcooldownpermissionreactReact to a message · Atualizações da caixa de entradaAtualizações da caixa de entrada · 500/diaEscrita
Add an emoji reaction to a message (chat_id and message_id from get_messages) on WhatsApp (any emoji), Telegram (its standard reactions only: 👍 ❤️ 🔥 🎉 😁 👏 …), Instagram, Facebook Messenger or Instagram Business (within 24 hours of the person's last message; remove=true takes the account's reaction back). A new reaction replaces the account's previous one. For Facebook posts and comments use facebook_react_post.
accountaccount_id from list_accounts (a listed chat's account_id). Needed only when several accounts are connected.chat_idobrigatóriomessage_idobrigatórioreactionremove{ "chat_id": "6Wx3HyhTVvKmNy2kP9zQ1A", "message_id": "3EB0A9C4D2F1E8B7A6C5", "reaction": "👍", "reacted": true }
gaplimitcooldownpermissionaccept_message_requestAccept a message request · MensagensMensagens · 50/diaEscrita
Accept a Messenger message request (chat_id from list_chats with requests: true). A personal Facebook account accepts it as is (the conversation moves to its inbox; reply with send_message). Confirm with the user first, and show them the exact text of any reply.
accountaccount_id from list_accounts (a listed chat's account_id). Needed only when several accounts are connected.chat_idobrigatório{ "chat_id": "Fb4Req8Lm2Np6Qr0St3Uv", "accepted": true }
gaplimitcooldownpermissionlist_group_membersList group members · LeiturasLeituras · 3.000/diaLeitura
Members of a WhatsApp, Telegram or Facebook group chat (chat_id from list_chats, a group), with their user_id for get_profile and start_chat, and on WhatsApp their phone number.
accountaccount_id from list_accounts (a listed chat's account_id). Needed only when several accounts are connected.chat_idobrigatóriolimitcursornext_cursor from a previous call{ "chat_id": "120363041234567890@g.us", "items": [ { "user_id": "33612345678@s.whatsapp.net", "name": "Lucas Bernard", "phone": "+33612345678", "admin": true }, { "user_id": "447700900123@s.whatsapp.net", "name": "Emma Wilson", "phone": "+447700900123", "admin": false } ], "next_cursor": null, "has_more": false, "total": 2 }
gaplimitcooldownpermissionfacebook_list_pagesList Facebook Pages · LeiturasLeituras · 3.000/diaLeitura
On a personal Facebook account: the Pages it manages and that were activated when it connected, with their page_id: list_chats with page_id reads a Page's inbox (send_message then answers as the Page), and as_page on create_post, comment and facebook_react_post acts as the Page. A Page missing here was not activated: get a reconnect link (connect_account, provider facebook, mode reconnect); that login offers every Page again.
accountaccount_id of a Facebook account from list_accounts. Needed only when several Facebook accounts are connected.{ "pages": [ { "page_id": "104512345678901", "name": "Northwind Studio", "inbox_id": "PAGE_104512345678901_INBOX", "messaging": true } ] }
gaplimitcooldownpermission