Leia e responda suas conversas e grupos do WhatsApp de qualquer app de IA, reaja a mensagens e comece novas conversas. As mensagens são espaçadas em 10 a 20 segundos e as conversas novas continuam poucas, para que seu número não seja marcado.
Limites
Por conta conectada do WhatsApp, 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 _membersmark _readreactget _profilesend _messagestart _chatLimites de segurança
O que mantém sua conta do WhatsApp 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 WhatsApp reclamou; a conta está descansando.permissionEste app não tem permissão para isso. Reconecte e permita a ação.{ "error": "WhatsApp actions are spaced 10–20 s apart, at random, to look human. Wait 10s.", "code": "gap", "retry_after_seconds": 10 }
Ferramentas
Exatamente o que seu app de IA recebe de tools/list. Ferramentas de escrita enviam ou alteram algo na sua conta: bons assistentes mostram o texto antes de enviar.
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 · 100/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 }
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 }
gaplimitcooldownpermissionget_profileGet a profile · Visualizações de perfilVisualizações de perfil · 50/diaLeitura
Read someone's profile on a connected account's network. LinkedIn: the full profile (headline, experience, education, skills, contact info when shared) by person_id or public identifier (the part after linkedin.com/in/). WhatsApp: a contact's WhatsApp id (a chat's person_id) or phone number with country code; Telegram: user id; Instagram: user id or username; Facebook: id or vanity name of a person or Page, or me. Name, username, phone when the network shares it, bio, followers and picture. Counts as a profile view.
accountaccount_id from list_accounts (a listed chat's account_id). Needed only when several accounts are connected.provideruser_idobrigatórioperson_id or public identifier; WhatsApp id or phone; Telegram, Instagram or Facebook user id (or username / vanity name)fresh{ "person_id": "ACoAAA8BYqEBCVM2yBH2uI6u", "public_id": "ada-martin-4b2a1c", "name": "Ada Martin", "headline": "VP Sales at Northwind Traders", "location": "Paris, Île-de-France, France", "degree": "FIRST_DEGREE", "summary": "Building sales teams that customers like talking to. 12 years in B2B SaaS.", "followers": 4820, "connections": 500, "premium": true, "open_profile": false, "url": "https://www.linkedin.com/in/ada-martin-4b2a1c", "experience": [ { "company": "Northwind Traders", "title": "VP Sales", "from": "3/2022", "to": "present" } ], "education": [ { "school": "ESSEC Business School", "degree": "Master in Management" } ], "skills": [ "B2B Sales", "Sales Management", "SaaS" ], "emails": [ "ada.martin@northwind.example" ] }
gaplimitcooldownpermission