pluggzyDocs

LinkedIn

InboxPeople searchInvitationsPosts
Connect LinkedIn

Read and answer your LinkedIn messages, find people, view profiles, send connection requests and publish posts from any AI app. Every action is paced 45–75 seconds apart and kept inside daily and weekly limits, so your account behaves like a person, not a bot.

Connect with email and password, in your browserAccount types Free and Premium, detected at connectTools 19
45–75 sbetween paced actions, at random
25 / dayinvitations · 80 on Premium
75 / daymessages
30 mincooldown when LinkedIn pushes back
Generated from the live server · same numbers your AI app gets

Limits

Per connected LinkedIn account, shared by every AI app and API key that uses it. The same tools work on every network: each account keeps its own limits.

ActionPer dayPer weekPer minuteMin gapPacedTools
Readsinbox, invitations, posts list3,000—30——list_chatsget_messagesget_attachmentpost_optionslinkedin_list_invitations
Inbox updatesmark read, reactions500—101 s—mark_read
Profile views80—58 s45–75 sget_profilefetch
Searchesone per results page40—46 s45–75 slinkedin_search_peoplesearch
Messages75—220 s45–75 ssend_message
New conversations25—130 s45–75 sstart_chat
Invitationsconnection requests25Premium 80150Premium 20015 with a note on free145 s45–75 slinkedin_send_invitation
Posts3—15 min45–75 screate_post
Reads3,000 /day
inbox, invitations, posts list
30/min · not paced
list_chats, get_messages, get_attachment, post_options, linkedin_list_invitations
Inbox updates500 /day
mark read, reactions
10/min · min gap 1 s
mark_read
Profile views80 /day
5/min · min gap 8 s · paced 45–75 s
get_profile, fetch
Searches40 /day
one per results page
4/min · min gap 6 s · paced 45–75 s
linkedin_search_people, search
Messages75 /day
2/min · min gap 20 s · paced 45–75 s
send_message
New conversations25 /day
1/min · min gap 30 s · paced 45–75 s
start_chat
Invitations25 /day
150/week · 15 with a note on free · connection requests
Premium: 80/day · 200/week
1/min · min gap 45 s · paced 45–75 s
linkedin_send_invitation
Posts3 /day
1/min · min gap 5 min · paced 45–75 s
create_post
Invitation notes: up to 300 characters on Premium, 200 on free accounts.Search pages return up to 25 people.Files in messages: one image (JPEG, PNG or WebP, up to 8 MB) or one document (PDF, Word, Excel, PowerPoint, TXT or CSV, up to 15 MB) per message. Your AI sees images people send (up to 3.75 MB) and reads PDF, Word, Excel, TXT and CSV files as text (up to 15 MB).Daily limits reset at 00:00 UTC, weekly ones on Monday 00:00 UTC.

Post rules

What LinkedIn accepts, checked before anything is sent so a bad post costs nothing.

TextUp to 3,000 characters, in text.
MediaOptional: one image (image_urls), not both. Files on your device go through upload_media first.
linkA link appended to the text.
visibilityAnyone (default) or relations_only (connections).anyonerelations_only

Safety limits

What keeps your LinkedIn account in good standing. They apply across every AI app and API key on this account, and you can’t turn them off.

Human pace
45–75 s
Random gap between profile views, searches, messages, new conversations, invitations and posts, across every app and key.
Account-wide cap
10 / min
At most 10 calls a minute per account in total, reads aside, on top of each action’s own per-minute cap.
Cooldown on pushback
30 min
After a rate-limit answer the account rests at least 5 minutes, 30 when LinkedIn itself asked. Calls meanwhile get the time left.
Cached reads are free
1 h
Conversations and profiles are cached and cost nothing. fresh: true forces a live read.
Invitation notes
15 / week
Free accounts can add a note to about 15 invitations a week, 200 characters each. Premium: 300 characters.
Paced outreach
≤ 50
linkedin_schedule_outreach queues up to 50 messages or invitations and sends them 60–3,600 s apart (default 120 s).

When a limit is hit

Nothing is queued or retried behind your back: the tool answers with an error your AI app can read, explain and retry on time.

gapToo soon after the last action. Wait retry_after_seconds.
limitThe daily or weekly limit is used up. Says when it resets.
cooldownLinkedIn pushed back; the account is resting.
permissionThis app wasn’t allowed to do that. Reconnect and allow it.
Example refusalisError
{
  "error": "LinkedIn actions are spaced about a minute apart, at random, to look human. Wait 40s. To send several, queue them with linkedin_schedule_outreach.",
  "code": "gap",
  "retry_after_seconds": 40
}

Tools

Exactly what your AI app receives from tools/list. Write tools send or change something on your account: good assistants show you the text before sending.

Inbox6
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
People & invitations6
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
linkedin_search_peopleSearch people on LinkedIn · SearchesSearches · 40/dayRead

Search LinkedIn members by keywords, or paste a LinkedIn people-search URL copied from the browser (keeps all its filters). Each page costs one LinkedIn search. Returns person_id values for get_profile, start_chat and linkedin_send_invitation.

Permission Search for peopleLimit Searches · 40/dayPaced 45–75 s
Input6 params · 0 required
keywords
string
max 200 chars
url
string
A LinkedIn people-search URL
https://
network_distance
1 | 2 | 3[]
1 = connections, 2 = 2nd degree, 3 = 3rd+
limit
integer
default 101–25
cursor
string
account
string
account_id of a LinkedIn account from list_accounts. Needed only when several LinkedIn accounts are connected.
OutputstructuredContent
{
  "items": [
    {
      "person_id": "ACoAAA8BYqEBCVM2yBH2uI6u",
      "name": "Ada Martin",
      "headline": "VP Sales at Northwind Traders",
      "location": "Paris, Île-de-France, France",
      "degree": "DISTANCE_2",
      "url": "https://www.linkedin.com/in/ada-martin-4b2a1c",
      "premium": true,
      "can_inmail": true
    }
  ],
  "next_cursor": "eyJwYWdlIjoyLCJrZXl3b3JkcyI6InZwIHNhbGVzIn0",
  "has_more": true,
  "total": 1240
}
Text content starts with “1 result(s) of about 1240.”
Can refuse withgaplimitcooldownpermission
linkedin_send_invitationSend a connection request · InvitationsInvitations · 25/dayWrite

Invite someone to connect, optionally with a note (max 300 characters, 200 on free LinkedIn accounts, which can add a note to about 15 invitations a week). Limited per day and per week, and LinkedIn actions are spaced about a minute apart; check account_status first. Confirm the exact recipient and final note with the user before calling this.

Permission Send messages & postsLimit Invitations · 25/day · 150/weekPaced 45–75 sConfirm with the user first
Input3 params · 1 required
person_idrequired
string
Who to invite: a person_id from linkedin_search_people, get_profile or list_chats
note
string
Optional note sent with the request: up to 300 characters on Premium, 200 on free accounts (about 15 notes a week there)
max 300 chars
account
string
account_id of a LinkedIn account from list_accounts. Needed only when several LinkedIn accounts are connected.
OutputstructuredContent
{
  "request_id": "7391204418823561216",
  "person_id": "ACoAAA8BYqEBCVM2yBH2uI6u",
  "sent": true
}
Text content starts with “Invitation sent.”
Can refuse withgaplimitcooldownpermission
linkedin_list_invitationsList connection requests · ReadsReads · 3,000/dayRead

Pending LinkedIn invitations the account sent or received, with person_id for get_profile and start_chat.

Permission View profilesLimit Reads · 3,000/day
Input4 params · 0 required
direction
enum
default "received"sentreceived
limit
integer
default 201–50
cursor
string
account
string
account_id of a LinkedIn account from list_accounts. Needed only when several LinkedIn accounts are connected.
OutputstructuredContent
{
  "items": [
    {
      "request_id": "7390871190312345600",
      "person": "Ada Martin",
      "person_id": "ACoAAA8BYqEBCVM2yBH2uI6u",
      "url": "https://www.linkedin.com/in/ada-martin-4b2a1c",
      "note": "Hi! Loved your post on partner programs, would be great to connect.",
      "at": "2026-11-07T14:22:09.000Z"
    }
  ],
  "next_cursor": null,
  "has_more": false,
  "total": 1
}
Can refuse withgaplimitcooldownpermission
fetchFetch a LinkedIn record · Profile viewsProfile views · 80/dayRead

Read a LinkedIn person:<id> returned by search, or a known chat:<chat_id> returned by list_chats. Use search with query keywords to find up to 10 people.

Permission View profilesLimit Profile views · 80/dayPaced 45–75 s
Input1 param · 1 required
idrequired
string
OutputstructuredContent
{
  "id": "person:ACoAAA8BYqEBCVM2yBH2uI6u",
  "title": "Ada Martin",
  "text": "VP Sales at Northwind Traders\nParis, Île-de-France, France\nBuilding sales teams that customers like talking to.\nVP Sales @ Northwind Traders (3/2022–present)",
  "url": "https://www.linkedin.com/in/ada-martin-4b2a1c",
  "metadata": {
    "degree": "SECOND_DEGREE"
  }
}
Can refuse withgaplimitcooldownpermission
Outreach2
linkedin_schedule_outreachSchedule paced LinkedIn messages · Per itemEach item uses its own limitWrite

Queue up to 50 messages or invitations. They are sent one by one with random gaps of a minute or more, respecting daily limits. An invitation's text is its note (max 300 characters, 200 on free LinkedIn accounts). Returns a job_id; poll with linkedin_get_job. Jobs cannot be paused, resumed or canceled. Confirm every exact recipient and final text with the user first.

Permission Send messages & postsLimit Each item uses its own limitConfirm with the user first
Input3 params · 1 required
itemsrequired
object[]
1–50
kindrequiredenum
chat_idstringfor kind=message: existing conversation
person_idstringfor kind=invitation, or kind=message to start a new conversation
textrequiredstring
min_gap_seconds
integer
default 12060–3,600
account
string
account_id of a LinkedIn account from list_accounts. Needed only when several LinkedIn accounts are connected.
OutputstructuredContent
{
  "job_id": "5e8a2c4f-1b3d-4f6a-9c8e-2d4b6f8a0c17",
  "total": 3,
  "estimated_minutes": 9
}
Text content starts with “Queued 3 item(s).”
Can refuse withlimitpermission
linkedin_get_jobCheck an outreach job · No callNo LinkedIn callRead

Progress and per-item results of a job from linkedin_schedule_outreach.

Input1 param · 1 required
job_idrequired
string
OutputstructuredContent
{
  "job_id": "5e8a2c4f-1b3d-4f6a-9c8e-2d4b6f8a0c17",
  "status": "running",
  "total": 3,
  "done": 2,
  "failed": 0,
  "results": [
    {
      "i": 0,
      "ok": true,
      "id": "7mKQx2VdTnW8bLr4Yc9eFg"
    },
    {
      "i": 1,
      "ok": true,
      "id": "7391204418823561216"
    }
  ]
}
Text content starts with “2/3 sent, 0 failed (running).”
Publish3
create_postPublish or schedule a post · PostsPosts · 3/dayWrite

Publish a post on one connected account, right away or at publish_at (then it's scheduled: returns a scheduled_post_id for list_scheduled_posts and cancel_scheduled_post). LinkedIn: text ≤3000, one image (optional). Call post_options first for an account you haven't posted to in this conversation. Media: media_ids from upload_media (files the user has, or one you made), or public https links (image_urls, video_url); for a scheduled post, links must keep working until publish_at, uploads are kept with the post. Public and irreversible: confirm the account, final text, media, audience and time (with the user's time zone) with the user first.

Permission Send messages & postsLimit Posts · 3/dayPaced 45–75 sPublic and irreversible: confirm text and media first
InputLinkedIn fields · 7 of 36
account
string
account_id of the account to post from (list_accounts). Needed only when several accounts that can post are connected.
textrequired on LinkedIn
string
The post's text (Instagram: the caption; YouTube and Pinterest: the description; WordPress: the article's HTML)
default ""max 3,000 chars on LinkedIn
media_ids
string[]
media_id values from upload_media, in order (images, or one video). Instead of image_urls and video_url
1–35
image_urls
string[]
Public https links to the images, in order
max 1 items
link
string
A link appended to the text.
https://
visibility
enum
Anyone (default) or relations_only (connections).
anyonerelations_onlypublicprivateunlisted
publish_at
string
Schedule it: ISO 8601 date and time with a UTC offset, like 2026-11-03T09:30:00+01:00, at least a minute ahead, at most a year. Leave it out to publish now.
OutputstructuredContent
{
  "url": "https://www.threads.net/@ada.martin/post/DQ3kF8sDk2L",
  "post_id": "18063215523019873",
  "published": true
}
While LinkedIn is still processing
{
  "published": false,
  "status": "publishing",
  "post_id": "6914b2c8e4a1f0d3c2b5a7e9"
}
Text content starts with “Post published.”
Can refuse withinvalid_postgaplimitcooldownpermission
post_optionsPost options for an account · ReadsReads · 3,000/dayRead

What create_post accepts on one connected account: the network's limits (characters, title, media) and fields, and the account's own choices: TikTok privacy levels and which interactions the creator allows, Pinterest boards and the default one, the WordPress site, YouTube visibilities, Google Business Profile buttons. Call it before composing a post for an account you haven't posted to in this conversation.

Permission Read your messagesLimit Reads · 3,000/day
Input1 param · 0 required
account
string
account_id from list_accounts. Needed only when several accounts that can post are connected.
OutputstructuredContent
{
  "account_id": "a4c6e8f0-2b4d-4f6a-9c1e-3d5f7b9a1c72",
  "provider": "pinterest",
  "network": "Pinterest",
  "limits": {
    "max_chars": 800,
    "title_max": 100,
    "title_required": false,
    "media": "required",
    "max_images": 1,
    "video": true
  },
  "fields": [
    "board_id",
    "link",
    "thumbnail_url"
  ],
  "boards": [
    {
      "id": "987654321098765432",
      "name": "Ceramics",
      "privacy": "PUBLIC"
    },
    {
      "id": "987654321098765433",
      "name": "Studio life",
      "privacy": "PUBLIC"
    }
  ],
  "default_board": {
    "id": "987654321098765432",
    "name": "Ceramics"
  }
}
Text content starts with “Pinterest: text ≤800, 1 image or 1 video (required), optional title ≤100.”
Can refuse withgaplimitcooldownpermission
upload_mediaGet a link to upload an image, video or document · No callNo LinkedIn callWrite

Returns a link where the user uploads an image, a video or a document from their device, and the media_id to pass to create_post (media_ids), comment or a message (send_message, start_chat: media_id). Use it when the user wants a photo, video or document (a PDF, say) in a post or message and it isn't already online: files attached in the chat can't reach Pluggzy, so ask them to upload it here. If you made the file yourself in a sandbox or terminal with internet access, upload it yourself with the upload_command it returns. Images: JPEG, PNG or WebP, at most 8 MB. Videos: MP4, MOV or WebM, at most 5 GB on the page (upload_command sends at most 100 MB), for create_post on publishing accounts only (LinkedIn, Instagram, Facebook posts, comments and messages take images). Documents (PDF, Word, Excel, PowerPoint (docx, xlsx, pptx, doc, xls, ppt), TXT or CSV, at most 15 MB) for send_message and start_chat only. Each link takes one file: for another one (each image of a carousel, say), call upload_media again. The file can be used for 24 hours, in as many posts and messages as needed; a scheduled post keeps its own copy until it goes out.

Input0 params · 0 required
No parameters.
OutputstructuredContent
{
  "url": "https://pluggzy.com/go/upload?t=eyJwIjoiY29ubmVjdCIsImV4cCI6MTc2MjY4MDAwMH0.k3Qm8ZrT0vX2bN5pL7wY1cA4dF6gH9jE",
  "media_id": "9b7d5f3a-1c2e-4a6b-8d0f-2e4c6a8b0d19",
  "upload_command": "curl -sS -T FILE_PATH -H 'X-File-Name: FILE_NAME' 'https://pluggzy.com/go/upload?t=eyJwIjoiY29ubmVjdCIsImV4cCI6MTc2MjY4MDAwMH0.k3Qm8ZrT0vX2bN5pL7wY1cA4dF6gH9jE'",
  "expires_in_minutes": 30,
  "usable_for_hours": 24,
  "max_image_mb": 8,
  "max_video_mb": 5000,
  "max_document_mb": 15
}
Text content starts with “Give the user this link to upload the file: https://pluggzy.com/go/upload?t=eyJwIjoiY29ubmVjdCIsImV4cCI6MTc2MjY4MDAwMH0.k3Qm8ZrT0vX2bN5pL7wY1cA4dF6gH9jE”
Scheduled posts2
list_scheduled_postsList scheduled posts · No callNo LinkedIn callRead

Posts scheduled with create_post (publish_at) or on the Pluggzy dashboard's calendar, on the accounts this connection can use: when, where, status, the text (and title, options and media links), and once published the post's URL. Posts scheduled before the calendar existed have no text here, only its length (chars).

Input3 params · 0 required
status
enum
scheduled (default, soonest first), publishing, published, failed, cancelled, or all (latest first)
default "scheduled"scheduledpublishingpublishedfailedcancelleddraftall
account
string
account_id from list_accounts (a listed chat's account_id). Needed only when several accounts are connected.
limit
integer
default 201–100
OutputstructuredContent
{
  "items": [
    {
      "scheduled_post_id": "7c1e9a3f-5b2d-4e8a-9f0c-6d4b2a8e1c35",
      "account_id": "3f2b8c1e-7a4d-4e9b-9c21-5d8e6f0a1b2c",
      "provider": "linkedin",
      "publish_at": "2026-11-12T08:30:00.000Z",
      "status": "scheduled",
      "chars": 212,
      "text": "Three things we learned building a partner program from scratch 🧵"
    },
    {
      "scheduled_post_id": "2a4c6e8f-0b1d-4f3a-8c5e-7d9b1f3a5c84",
      "account_id": "0d2f4b6a-8c1e-4a3d-b5f7-9e1c3a5d7f60",
      "provider": "threads",
      "publish_at": "2026-11-12T16:00:00.000Z",
      "status": "scheduled",
      "chars": 64,
      "text": "New glazes drop Friday. Which one goes in the shop first?",
      "media_kind": "image",
      "media": [
        {
          "url": "https://cdn.northwind.example/glazes.jpg",
          "type": "image"
        }
      ]
    }
  ]
}
Text content starts with “2 scheduled post(s).”
cancel_scheduled_postCancel a scheduled post · No callNo LinkedIn callWrite

Cancel a scheduled post (scheduled_post_id from create_post or list_scheduled_posts) that hasn't gone out yet, or a draft saved on the calendar. To change a post, cancel it and schedule the new version, or the user can edit it on the calendar in the Pluggzy dashboard.

Input1 param · 1 required
scheduled_post_idrequired
string
OutputstructuredContent
{
  "scheduled_post_id": "7c1e9a3f-5b2d-4e8a-9f0c-6d4b2a8e1c35",
  "status": "cancelled"
}
Text content starts with “Scheduled post cancelled.”
The same tools on every inbox channel
list_chats, get_messages, send_message, start_chat and mark_read work the same way on LinkedIn and every other inbox channel; each account keeps its own limits.
Conversation tools →
Generated from pluggzy.com/api/docs · 38 toolsSomething unclear? Write to support · Status