pluggzyDocs

Unified inbox tools

Work on every inbox channel at once (LinkedIn, WhatsApp, Telegram, Instagram, Facebook and Messenger). Pass account when several are connected; each call counts against that account’s own limits.

Inbox10
list_chatsList conversations · ReadsReads · 3,000/dayRead

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.

Permission Read your messagesLimit Reads · 3,000/day
Input8 params · 0 required
account
string
Only this account (account_id from list_accounts); default: every connected account, merged
provider
enum
Only this network's accounts
linkedinwhatsapptelegraminstagramfacebookinstagrambusiness
unread
boolean
Only conversations with unread messages
page_id
string
Facebook: the inbox of this Page (page_id from facebook_list_pages); send_message then answers as the Page
requests
boolean
Facebook: the Messenger message requests (people the account hasn't accepted yet), to answer with accept_message_request
limit
integer
default 201–50
cursor
string
next_cursor from a previous call
fresh
boolean
Bypass the 1h cache (costs a call to the network)
default false
OutputstructuredContent
{
  "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
}
Text content starts with “2 conversation(s) from 2 accounts, most recent first.”
Can refuse withgaplimitcooldownpermission
get_messagesRead a conversation · ReadsReads · 3,000/dayRead

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.

Permission Read your messagesLimit Reads · 3,000/day
Input6 params · 1 required
account
string
account_id from list_accounts (a listed chat's account_id). Needed only when several accounts are connected.
chat_idrequired
string
limit
integer
default 301–100
cursor
string
next_cursor from a previous call
fresh
boolean
default false
images
boolean
Show you the page's 3 most recent images with the result; false for text only
default true
OutputstructuredContent
{
  "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
}
Can refuse withgaplimitcooldownpermission
get_attachmentOpen an image or document from a message · ReadsReads · 3,000/dayRead

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.

Permission Read your messagesLimit Reads · 3,000/day
Input5 params · 3 required
account
string
account_id from list_accounts (a listed chat's account_id). Needed only when several accounts are connected.
chat_idrequired
string
message_idrequired
string
attachment_idrequired
string
attachments[].attachment_id from get_messages
offset
integer
A document: the character to start from (next_offset from the previous call); default the start
0–9,007,199,254,740,991
OutputstructuredContent
{
  "chat_id": "6Wx3HyhTVvKmNy2kP9zQ1A",
  "message_id": "3EB0A9C4D2F1E8B7A6C5",
  "attachment_id": "9f3c2a71-4b8e-4d1a-a6f0-2c5e8b7d1e94",
  "mimetype": "image/jpeg",
  "size_bytes": 184312
}
Text content starts with “The image from message 3EB0A9C4D2F1E8B7A6C5.”
Can refuse withgaplimitcooldownpermission
send_messageSend a message · MessagesMessages · 75/dayWrite

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).

Permission Send messages & postsLimit Messages · 75/dayPaced 45–75 sConfirm with the user first
Input7 params · 2 required
account
string
account_id from list_accounts (a listed chat's account_id). Needed only when several accounts are connected.
chat_idrequired
string
textrequired
string
max 8,000 chars
image_url
string
https link to a JPEG, PNG or WebP image (at most 8 MB) that is already online. Optional. For an image the user attached in the chat or has on their device, use media_id instead.
https://
file_url
string
https link to a document that is already online (PDF, Word, Excel, PowerPoint (docx, xlsx, pptx, doc, xls, ppt), TXT or CSV, at most 15 MB). Optional. For a file the user has on their device or attached in the chat, use media_id instead.
https://
media_id
string
An image or a document the user uploaded: call upload_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
boolean
Instagram Business: true only when the user typed this exact text or approved it word for word: lets the reply go out up to 7 days after the person's last message instead of 24 hours
default false
OutputstructuredContent
{
  "chat_id": "gq5Xp3bZUXCt6Zt1Z2rTsA",
  "message_id": "7mKQx2VdTnW8bLr4Yc9ey7",
  "sent": true
}
Text content starts with “Message sent.”
Can refuse withgaplimitcooldownpermission
start_chatStart a new conversation · New conversationsNew conversations · 25/dayWrite

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.

Permission Send messages & postsLimit New conversations · 25/dayPaced 45–75 sConfirm with the user first
Input9 params · 2 required
account
string
account_id from list_accounts (a listed chat's account_id). Needed only when several accounts are connected.
provider
enum
The network, when no account is given and several networks are connected
linkedinwhatsapptelegraminstagramfacebook
torequired
string
Recipient: LinkedIn person_id, WhatsApp phone number with country code, or Telegram / Instagram / Facebook user id
textrequired
string
max 8,000 chars
image_url
string
https link to a JPEG, PNG or WebP image (at most 8 MB) that is already online. Optional. For an image the user attached in the chat or has on their device, use media_id instead.
https://
file_url
string
https link to a document that is already online (PDF, Word, Excel, PowerPoint (docx, xlsx, pptx, doc, xls, ppt), TXT or CSV, at most 15 MB). Optional. For a file the user has on their device or attached in the chat, use media_id instead.
https://
media_id
string
An image or a document the user uploaded: call upload_media, then pass its media_id here once the file is uploaded (the user says so, or your own upload_command answered ok).
inmail
boolean
LinkedIn: send as InMail, to someone who isn't a 1st-degree connection
default false
subject
string
LinkedIn InMail subject
max 200 chars
OutputstructuredContent
{
  "chat_id": "Hs8vR2kLqP4wYt6Nc1dXbA",
  "message_id": "7mKQx2VdTnW8bLr4Yc9ez3",
  "sent": true
}
Text content starts with “Conversation started.”
Can refuse withgaplimitcooldownpermission
mark_readMark a conversation read · Inbox updatesInbox updates · 500/dayWrite

Marks a conversation read (or unread with read=false), on any network. Reading a conversation doesn't mark it read.

Permission Send messages & postsLimit Inbox updates · 500/day
Input3 params · 1 required
account
string
account_id from list_accounts (a listed chat's account_id). Needed only when several accounts are connected.
chat_idrequired
string
read
boolean
default true
OutputstructuredContent
{
  "chat_id": "gq5Xp3bZUXCt6Zt1Z2rTsA",
  "read": true
}
Can refuse withgaplimitcooldownpermission
reactReact to a message · Inbox updatesInbox updates · 500/dayWrite

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.

Permission Send messages & postsLimit Inbox updates · 500/day
Input5 params · 2 required
account
string
account_id from list_accounts (a listed chat's account_id). Needed only when several accounts are connected.
chat_idrequired
string
message_idrequired
string
reaction
string
One emoji, like 👍
max 16 chars
remove
boolean
Instagram Business: take the account's reaction back
default false
OutputstructuredContent
{
  "chat_id": "6Wx3HyhTVvKmNy2kP9zQ1A",
  "message_id": "3EB0A9C4D2F1E8B7A6C5",
  "reaction": "👍",
  "reacted": true
}
Can refuse withgaplimitcooldownpermission
accept_message_requestAccept a message request · MessagesMessages · 75/dayWrite

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.

Permission Send messages & postsLimit Messages · 75/dayPaced 45–75 sConfirm with the user first
Input2 params · 1 required
account
string
account_id from list_accounts (a listed chat's account_id). Needed only when several accounts are connected.
chat_idrequired
string
OutputstructuredContent
{
  "chat_id": "Fb4Req8Lm2Np6Qr0St3Uv",
  "accepted": true
}
Text content starts with “Message request accepted.”
Can refuse withgaplimitcooldownpermission
list_group_membersList group members · ReadsReads · 3,000/dayRead

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.

Permission Read your messagesLimit Reads · 3,000/day
Input4 params · 1 required
account
string
account_id from list_accounts (a listed chat's account_id). Needed only when several accounts are connected.
chat_idrequired
string
limit
integer
default 501–100
cursor
string
next_cursor from a previous call
OutputstructuredContent
{
  "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
}
Text content starts with “2 member(s).”
Can refuse withgaplimitcooldownpermission
get_profileGet a profile · Profile viewsProfile views · 80/dayRead

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.

Permission View profilesLimit Profile views · 80/dayPaced 45–75 s
Input4 params · 1 required
account
string
account_id from list_accounts (a listed chat's account_id). Needed only when several accounts are connected.
provider
enum
The network, when no account is given and several networks are connected
linkedinwhatsapptelegraminstagramfacebook
user_idrequired
string
Who: LinkedIn person_id or public identifier; WhatsApp id or phone; Telegram, Instagram or Facebook user id (or username / vanity name)
fresh
boolean
default false
OutputstructuredContent
{
  "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"
  ]
}
Can refuse withgaplimitcooldownpermission
Generated from pluggzy.com/api/docs · 38 toolsSomething unclear? Write to support · Status