Unipile

App · Messaging · 90 actions

Send and read LinkedIn, WhatsApp, Instagram and Telegram messages, run LinkedIn outreach and search, publish posts, and manage email and calendars, all through one Unipile connection.

Actions

ActionWhat it does
Cancel a calendar eventCancel an event, keeping it on the calendar as cancelled and telling the guests.
Comment on a postWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Create a calendarCreate a new calendar on the account.
Create a calendar eventGoogle and Microsoft calendars only.
Create a draftWorks with any mailbox: Gmail, Outlook or IMAP.
Create a mail folderCreate a folder in the mailbox.
Delete a calendarDelete a calendar and every event in it.
Delete a calendar eventGoogle and Microsoft calendars only.
Delete a commentWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Delete a draftWorks with any mailbox: Gmail, Outlook or IMAP.
Delete a mail folderWorks with any mailbox: Gmail, Outlook or IMAP.
Delete a messageWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Delete a postWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Download an email attachmentWorks with any mailbox: Gmail, Outlook or IMAP.
Edit a commentWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Edit a messageWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Edit a postWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Endorse a skillEndorse a skill on someone's LinkedIn profile.
Find the chat with a personWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Follow a personWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Forward a messageWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Get a calendarRetrieve one calendar.
Get a calendar eventGoogle and Microsoft calendars only.
Get a chatWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Get a draftWorks with any mailbox: Gmail, Outlook or IMAP.
Get a linked accountAny linked account.
Get a mail folderWorks with any mailbox: Gmail, Outlook or IMAP.
Get a messageWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Get a postWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Get a profileWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Get an emailWorks with any mailbox: Gmail, Outlook or IMAP.
Get an email threadWorks with any mailbox: Gmail, Outlook or IMAP.
List a person's commentsWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
List a person's postsWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
List a person's reactionsWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
List calendar eventsList events in a calendar within a time window.
List calendarsList the calendars on a connected Google or Microsoft account.
List chat messagesWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
List comment reactionsWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
List comment repliesWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
List connectionsWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
List draftsList saved drafts in a mailbox.
List emailsList emails in a mailbox, with filters for sender, recipient, folder, unread and date.
List emails in a folderWorks with any mailbox: Gmail, Outlook or IMAP.
List followersWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
List inbox chatsList conversations in one LinkedIn inbox.
List linked accountsAny linked account.
List LinkedIn inboxesList the inboxes available to a LinkedIn account: Classic Primary, Archived, Spam, Jobs, InMail and Starred, plus Sales Navigator and Recruiter inboxes where the subscription allows.
List mail foldersList the mailbox's folders with their total and unread counts.
List message reactionsWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
List pending invitationsWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
List post commentsWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
List post reactionsWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
List sender addressesList the addresses this mailbox can send as, including aliases.
List who someone followsWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Look up search parameter idsTurn text into the numeric ids LinkedIn's structured search requires.
Mark a message readWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Mark an email readWorks with any mailbox: Gmail, Outlook or IMAP.
Mark an email unreadWorks with any mailbox: Gmail, Outlook or IMAP.
Move an emailWorks with any mailbox: Gmail, Outlook or IMAP.
Publish a postPublish a post to LinkedIn or Instagram.
React to a commentWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
React to a messageWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
React to a postWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Remove a comment reactionWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Remove a message reactionWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Remove a post reactionWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Rename a mail folderWorks with any mailbox: Gmail, Outlook or IMAP.
Reply to a commentWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Report a profile visitLinkedIn only.
Restore a cancelled eventGoogle and Microsoft calendars only.
Search LinkedIn companiesSearch LinkedIn for companies.
Search LinkedIn from a URLRun a LinkedIn search by pasting a search URL from your browser.
Search LinkedIn jobsSearch LinkedIn job postings.
Search LinkedIn peopleSearch LinkedIn for people.
Search LinkedIn postsSearch LinkedIn posts by keyword.
Send a connection requestLinkedIn only.
Send a draftWorks with any mailbox: Gmail, Outlook or IMAP.
Send a message or replyWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Send or reply to an emailSend an email from a connected mailbox.
Set presenceWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Set typing indicatorWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Start a chat from an inboxStart a conversation from a specific LinkedIn inbox and send the first message.
Trash an emailWorks with any mailbox: Gmail, Outlook or IMAP.
Unfollow a personWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Update a calendarRename or re-describe a calendar.
Update a calendar eventGoogle and Microsoft calendars only.
Update a chatWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.
Update a draftWorks with any mailbox: Gmail, Outlook or IMAP.
Update your profileWorks with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram.

Cancel a calendar event

Cancel an event, keeping it on the calendar as cancelled and telling the guests.

Inputs

Accountaccount_idtextRequired
Which linked calendar to act as: a Google or Microsoft account. IMAP mailboxes are not offered here: IMAP carries mail only and has no calendar. Accounts are linked in your Unipile dashboard, not here.
Calendarcalendar_idtextRequired
Which calendar. Pick it from the list, or paste an id.
Eventevent_idtextRequired
The event's id, from 'List calendar events'.
Messagecommenttext
A note to include with the cancellation.

Outputs

cancelledtrue/false
True after a cancel, false after a restore.
event_idtext
The event acted on.
Example output
{
  "cancelled": true,
  "event_id": "ev_5Tg"
}

Comment on a post

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. Add a comment to a post. 'Comment as' comments from a company page you administer. Counts against the account's provider limits: Unipile's guidance is roughly 100 of these per day per LinkedIn account, spaced out rather than chained. Exceeding it risks a warning on the account.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Postpost_idtextRequired
The post's id, from 'List a person's posts' or a search.
CommenttexttextRequired
What to say.
Comment as companycomment_astext
A company page id to comment as, instead of your own profile.
Attachmentsattachmentslist
Files to send, up to 15 MB each. Upload them here, or reference a document produced by an earlier step.

Outputs

authorobject
Who wrote it.
created_attext
When it was posted.
idtext
The comment id.
reactions_counternumber
Reactions on the comment.
reply_counternumber
Replies to the comment.
texttext
The comment text.
Example output
{
  "id": "cmt_2Bq",
  "text": "Congratulations!"
}

Create a calendar

Create a new calendar on the account.

Inputs

Accountaccount_idtextRequired
Which linked calendar to act as: a Google or Microsoft account. IMAP mailboxes are not offered here: IMAP carries mail only and has no calendar. Accounts are linked in your Unipile dashboard, not here.
NamenametextRequired
What to call the calendar.
Descriptiondescriptiontext
What the calendar is for.
Timezonetimezonetext
IANA timezone, e.g. Europe/London.

Outputs

descriptiontext
Calendar description.
idtext
The calendar id.
is_defaulttrue/false
Whether this is the account's default calendar.
is_owned_by_usertrue/false
Whether the account owns it, rather than subscribing.
is_read_onlytrue/false
True when events cannot be written here.
nametext
Calendar name.
timezonetext
The calendar's IANA timezone.
Example output
{
  "id": "cal_2Lm",
  "name": "Interviews"
}

Create a calendar event

Google and Microsoft calendars only. Create an event, optionally inviting people and adding a video-conference link.

Inputs

Accountaccount_idtextRequired
Which linked calendar to act as: a Google or Microsoft account. IMAP mailboxes are not offered here: IMAP carries mail only and has no calendar. Accounts are linked in your Unipile dashboard, not here.
Calendarcalendar_idtextRequired
Which calendar. Pick it from the list, or paste an id.
TitletitletextRequired
What the event is called.
Startstartdate and timeRequired
When it starts. A date and time makes a normal event; a date on its own (2026-09-22) makes an all-day one.
Endenddate and timeRequired
When it ends. Match the shape of the start: a date and time, or a date for an all-day event.
Descriptionbodytext
The event's description.
Locationlocationtext
Where it takes place.
Guestsattendeeslist
Email addresses to invite.
Timezonetimezonetext
IANA timezone for the times above.
Visibilityvisibilitytext
Whether the event is public or private.One of: public, private.
Shows astransparencytext
Whether the time shows as busy or free.One of: opaque (Busy), transparent (Free).
Notify guestsnotifytext
Who gets an invitation email.One of: all (Notify everyone), externalOnly (Notify external guests only), none (Notify no one).
Add video linkadd_conferencetrue/false
Create a Meet or Teams link for the event.

Outputs

attendeeslist
Invitees and their responses.
bodytext
Event description.
endtext
End, ISO 8601.
idtext
The event id.
is_cancelledtrue/false
Whether it has been cancelled.
locationtext
Where it takes place.
starttext
Start, ISO 8601.
titletext
Event title.
Example output
{
  "end": "2026-09-23T11:00:00.000Z",
  "id": "ev_5Tg",
  "start": "2026-09-23T10:00:00.000Z",
  "title": "Design review"
}

Create a draft

Works with any mailbox: Gmail, Outlook or IMAP. Save an email as a draft without sending it. Useful for a human-in-the-loop flow: the workflow writes the email, a person reviews it in their mailbox and sends it.

Inputs

Accountaccount_idtextRequired
Which linked mailbox to act as: Gmail, Outlook or IMAP. Mailboxes are linked in your Unipile dashboard, not here.
TotolistRequired
Recipient addresses.
Subjectsubjecttext
Subject line.
Bodybodytext
Plain-text body.
HTML bodyhtmltext
HTML body.
Cccclist
Cc addresses.
Bccbcclist
Bcc addresses.
Attachmentsattachmentslist
Files to send, up to 15 MB each. Upload them here, or reference a document produced by an earlier step.

Outputs

bodytext
The draft body.
idtext
The draft id.
subjecttext
Subject line.
tolist
To recipients.
Example output
{
  "id": "dr_6Vb",
  "subject": "Draft reply"
}

Create a mail folder

Create a folder in the mailbox.

Inputs

Accountaccount_idtextRequired
Which linked mailbox to act as: Gmail, Outlook or IMAP. Mailboxes are linked in your Unipile dashboard, not here.
NamenametextRequired
What to call the folder.

Outputs

idtext
The folder id.
is_systemtrue/false
True for built-in folders like Inbox and Sent.
nametext
Folder name as shown in the mailbox.
total_countnumber
Emails in the folder.
unread_countnumber
Unread emails in the folder.
Example output
{
  "id": "Label_42",
  "is_system": false,
  "name": "Invoices"
}

Delete a calendar

Delete a calendar and every event in it. This cannot be undone.

Inputs

Accountaccount_idtextRequired
Which linked calendar to act as: a Google or Microsoft account. IMAP mailboxes are not offered here: IMAP carries mail only and has no calendar. Accounts are linked in your Unipile dashboard, not here.
Calendarcalendar_idtextRequired
Which calendar. Pick it from the list, or paste an id.

Outputs

deletedtrue/false
True when the delete succeeded.
idtext
The id of what was deleted.
Example output
{
  "deleted": true,
  "id": "cal_2Lm"
}

Delete a calendar event

Google and Microsoft calendars only. Delete an event outright. Use 'Cancel a calendar event' instead if the guests should be told and the event should stay visible as cancelled.

Inputs

Accountaccount_idtextRequired
Which linked calendar to act as: a Google or Microsoft account. IMAP mailboxes are not offered here: IMAP carries mail only and has no calendar. Accounts are linked in your Unipile dashboard, not here.
Calendarcalendar_idtextRequired
Which calendar. Pick it from the list, or paste an id.
Eventevent_idtextRequired
The event's id, from 'List calendar events'.

Outputs

deletedtrue/false
True when the delete succeeded.
idtext
The id of what was deleted.
Example output
{
  "deleted": true,
  "id": "ev_5Tg"
}

Delete a comment

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. Delete a comment you wrote. This cannot be undone.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Postpost_idtextRequired
The post's id, from 'List a person's posts' or a search.
Commentcomment_idtextRequired
The comment's id, from 'List post comments'.

Outputs

deletedtrue/false
True when the delete succeeded.
idtext
The id of what was deleted.
Example output
{
  "deleted": true,
  "id": "cmt_2Bq"
}

Delete a draft

Works with any mailbox: Gmail, Outlook or IMAP. Delete a saved draft.

Inputs

Accountaccount_idtextRequired
Which linked mailbox to act as: Gmail, Outlook or IMAP. Mailboxes are linked in your Unipile dashboard, not here.
Draftdraft_idtextRequired
The draft's id, from 'List drafts'.

Outputs

deletedtrue/false
True when the delete succeeded.
idtext
The id of what was deleted.
Example output
{
  "deleted": true,
  "id": "dr_6Vb"
}

Delete a mail folder

Works with any mailbox: Gmail, Outlook or IMAP. Delete a folder. The emails inside it are not deleted; they stay in the mailbox.

Inputs

Accountaccount_idtextRequired
Which linked mailbox to act as: Gmail, Outlook or IMAP. Mailboxes are linked in your Unipile dashboard, not here.
Folderfolder_idtextRequired
Which mail folder. Pick it from the list, or paste an id.

Outputs

deletedtrue/false
True when the delete succeeded.
idtext
The id of what was deleted.
Example output
{
  "deleted": true,
  "id": "Label_42"
}

Delete a message

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. Delete a message you sent. Supported on WhatsApp and LinkedIn only, and on LinkedIn only within 60 minutes of sending.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Chatchat_idtextRequired
The conversation's id, from 'List chats'. Not a dropdown: an account can have tens of thousands of conversations, which is the wrong size for a picker.
Messagemessage_idtextRequired
The message's id, from 'List chat messages'.

Outputs

deletedtrue/false
True when the delete succeeded.
idtext
The id of what was deleted.
Example output
{
  "deleted": true,
  "id": "msg_1aZ"
}

Delete a post

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. Delete a post you published. This cannot be undone.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Postpost_idtextRequired
The post's id, from 'List a person's posts' or a search.

Outputs

deletedtrue/false
True when the delete succeeded.
idtext
The id of what was deleted.
Example output
{
  "deleted": true,
  "id": "post_7Kd"
}

Download an email attachment

Works with any mailbox: Gmail, Outlook or IMAP. Download a file attached to an email. Comes back base64-encoded so it can feed another step's file input.

Inputs

Accountaccount_idtextRequired
Which linked mailbox to act as: Gmail, Outlook or IMAP. Mailboxes are linked in your Unipile dashboard, not here.
Emailemail_idtextRequired
The email's id, from 'List emails'.
Attachmentattachment_idtextRequired
The attachment's id, from the email's 'attachments' list.

Outputs

contenttext
The file's bytes, base64-encoded so it can be passed to another step's file input.
idtext
The attachment id.
mimetypetext
Media type reported by the provider.
sizenumber
Size in bytes.
Example output
{
  "content": "JVBERi0xLjQK\u2026",
  "id": "att_1Qw",
  "mimetype": "application/pdf",
  "size": 90210
}

Edit a comment

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. Edit a comment you wrote.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Postpost_idtextRequired
The post's id, from 'List a person's posts' or a search.
Commentcomment_idtextRequired
The comment's id, from 'List post comments'.
New texttexttextRequired
What the comment should say instead.

Outputs

authorobject
Who wrote it.
created_attext
When it was posted.
idtext
The comment id.
reactions_counternumber
Reactions on the comment.
reply_counternumber
Replies to the comment.
texttext
The comment text.
Example output
{
  "id": "cmt_2Bq",
  "text": "Congratulations, both of you!"
}

Edit a message

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. Edit a message you sent. Providers put a short window on this (WhatsApp around 15 minutes, LinkedIn Classic 60), after which the edit is refused.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Chatchat_idtextRequired
The conversation's id, from 'List chats'. Not a dropdown: an account can have tens of thousands of conversations, which is the wrong size for a picker.
Messagemessage_idtextRequired
The message's id, from 'List chat messages'.
New texttexttextRequired
What the message should say instead.

Outputs

attachmentslist
Files carried by the message.
chat_idtext
The chat it belongs to.
idtext
The message id.
is_seentrue/false
Whether the other participants have read it.
is_sendertrue/false
True when the linked account sent it.
sender_idtext
Provider id of whoever sent it.
texttext
The message body as plain text.
timestamptext
When it was sent, ISO 8601.
Example output
{
  "id": "msg_1aZ",
  "text": "Thanks \u2014 Tuesday works better."
}

Edit a post

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. Edit a post you published.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Postpost_idtextRequired
The post's id, from 'List a person's posts' or a search.
New texttexttextRequired
What the post should say instead.

Outputs

authorobject
Who published it.
comments_counternumber
Total comments.
created_attext
When it was published.
idtext
The post id.
reactions_counternumber
Total reactions. Null when the provider hides the count.
reposts_counternumber
Total reshares.
share_urltext
Link to the post.
texttext
The post's text.
Example output
{
  "id": "post_7Kd",
  "text": "We are still hiring."
}

Endorse a skill

Endorse a skill on someone's LinkedIn profile. Identify the skill by its endorsement id rather than its name: run 'Get a profile' on the person with 'Extra sections' set to linkedin_skills first, and chain the id from there. Counts against the account's provider limits: Unipile's guidance is roughly 100 of these per day per LinkedIn account, spaced out rather than chained. Exceeding it risks a warning on the account.

Inputs

Accountaccount_idtextRequired
Which linked LinkedIn account to act as. Every limit below applies to this real LinkedIn account, not to an API quota.
Personmember_idtextRequired
Whose skill to endorse. Accepts an id, a handle, or a pasted profile URL.
Skillskill_idtextRequired
The skill's endorsement id, from 'Get a profile' with 'Extra sections' set to linkedin_skills. The skill's name will not work here.

Outputs

endorsedtrue/false
True when the endorsement went through.
member_idtext
Who was endorsed.
skill_idtext
The endorsed skill's id on that profile.
Example output
{
  "endorsed": true,
  "member_id": "ACoAAAcDMMQ",
  "skill_id": "ACoAAAcDMMQ:COBOL"
}

Find the chat with a person

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. Find the existing 1:1 conversation with someone, if there is one. More direct than listing chats and filtering, and unlike listing an inbox, it finds the conversation wherever it sits, which matters because an archived chat stops appearing in Classic Primary. Give the provider id; a handle is resolved for you at the cost of one extra profile read.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Personperson_idtextRequired
Who to act on. Accepts a provider id, a handle, or a pasted profile URL: all three work, so there is no lookup step.

Outputs

existstrue/false
False when this person has no conversation yet.
has_historytrue/false
Whether the conversation has messages in it.
idtext
The conversation's id, or null when there is none yet.
inbox_idtext
Which inbox it is in — the authoritative answer, which an inbox listing does not always agree with.
Example output
{
  "exists": true,
  "has_history": true,
  "id": "chat_8vQ2",
  "inbox_id": "CLASSIC_PRIMARY"
}

Follow a person

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. Follow someone without sending a connection request. A lighter touch than an invitation and not subject to the invitation limits, though it still counts as an action on the account.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Personperson_idtextRequired
Who to act on. Accepts a provider id, a handle, or a pasted profile URL: all three work, so there is no lookup step.

Outputs

followingtrue/false
True after a follow, false after an unfollow.
user_idtext
Who was followed.
Example output
{
  "following": true,
  "user_id": "ACoAAAcDMMQ"
}

Forward a message

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. Forward a message into another conversation.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Chatchat_idtextRequired
The conversation's id, from 'List chats'. Not a dropdown: an account can have tens of thousands of conversations, which is the wrong size for a picker.
Messagemessage_idtextRequired
The message's id, from 'List chat messages'.
Forward to chatto_chat_idtextRequired
The id of the conversation to forward it into.

Outputs

chat_idtext
The chat it was forwarded into.
message_idtext
The id of the forwarded copy.
Example output
{
  "forwarded": true
}

Get a calendar

Retrieve one calendar.

Inputs

Accountaccount_idtextRequired
Which linked calendar to act as: a Google or Microsoft account. IMAP mailboxes are not offered here: IMAP carries mail only and has no calendar. Accounts are linked in your Unipile dashboard, not here.
Calendarcalendar_idtextRequired
Which calendar. Pick it from the list, or paste an id.

Outputs

descriptiontext
Calendar description.
idtext
The calendar id.
is_defaulttrue/false
Whether this is the account's default calendar.
is_owned_by_usertrue/false
Whether the account owns it, rather than subscribing.
is_read_onlytrue/false
True when events cannot be written here.
nametext
Calendar name.
timezonetext
The calendar's IANA timezone.
Example output
{
  "id": "primary",
  "is_default": true,
  "is_read_only": false,
  "name": "Ada Lovelace"
}

Get a calendar event

Google and Microsoft calendars only. Retrieve one event, including its attendees and their responses.

Inputs

Accountaccount_idtextRequired
Which linked calendar to act as: a Google or Microsoft account. IMAP mailboxes are not offered here: IMAP carries mail only and has no calendar. Accounts are linked in your Unipile dashboard, not here.
Calendarcalendar_idtextRequired
Which calendar. Pick it from the list, or paste an id.
Eventevent_idtextRequired
The event's id, from 'List calendar events'.

Outputs

attendeeslist
Invitees and their responses.
bodytext
Event description.
endtext
End, ISO 8601.
idtext
The event id.
is_cancelledtrue/false
Whether it has been cancelled.
locationtext
Where it takes place.
starttext
Start, ISO 8601.
titletext
Event title.
Example output
{
  "id": "ev_5Tg",
  "start": "2026-09-23T10:00:00.000Z",
  "title": "Design review"
}

Get a chat

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. Retrieve one conversation, including its participants and unread count.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Chatchat_idtextRequired
The conversation's id, from 'List chats'. Not a dropdown: an account can have tens of thousands of conversations, which is the wrong size for a picker.

Outputs

idtext
The chat id, used by every message action.
is_1to1true/false
True for a direct conversation.
is_archivedtrue/false
Whether the owner archived it.
is_grouptrue/false
True for a group conversation.
last_message_timestamptext
When the most recent message landed.
nametext
Group name, or the other person's name in a 1:1.
participants_countnumber
How many people are in it.
providertext
Which network the chat is on.
typetext
The chat's kind, as the provider classifies it.
unread_countnumber
Unread messages in this chat.
Example output
{
  "id": "chat_8vQ2",
  "is_1to1": true,
  "name": "Grace Hopper",
  "participants_count": 2,
  "provider": "linkedin",
  "unread_count": 2
}

Get a draft

Works with any mailbox: Gmail, Outlook or IMAP. Retrieve one saved draft.

Inputs

Accountaccount_idtextRequired
Which linked mailbox to act as: Gmail, Outlook or IMAP. Mailboxes are linked in your Unipile dashboard, not here.
Draftdraft_idtextRequired
The draft's id, from 'List drafts'.

Outputs

bodytext
The draft body.
idtext
The draft id.
subjecttext
Subject line.
tolist
To recipients.
Example output
{
  "body": "Thanks \u2014 will confirm.",
  "id": "dr_6Vb",
  "subject": "Draft reply"
}

Get a linked account

Any linked account. Retrieve one linked account and its current connection status. A status of 'disconnected' or 'errored' means its owner must reconnect it in Unipile before any other action will work.

Inputs

Accountaccount_idtextRequired
Which linked Unipile account to act as. Accounts are linked in your Unipile dashboard, not here: use the refresh button if one you just connected is missing.

Outputs

idtext
Unipile's id for the linked account.
nametext
The account's display name.
needs_reconnecttrue/false
True when the owner must reconnect it in Unipile.
providertext
Which network it is on.
statustext
Connection state.
Example output
{
  "id": "acc_01HZX9",
  "name": "Ada Lovelace",
  "needs_reconnect": false,
  "provider": "linkedin",
  "status": "running"
}

Get a mail folder

Works with any mailbox: Gmail, Outlook or IMAP. Retrieve one folder and its counts.

Inputs

Accountaccount_idtextRequired
Which linked mailbox to act as: Gmail, Outlook or IMAP. Mailboxes are linked in your Unipile dashboard, not here.
Folderfolder_idtextRequired
Which mail folder. Pick it from the list, or paste an id.

Outputs

idtext
The folder id.
is_systemtrue/false
True for built-in folders like Inbox and Sent.
nametext
Folder name as shown in the mailbox.
total_countnumber
Emails in the folder.
unread_countnumber
Unread emails in the folder.
Example output
{
  "id": "INBOX",
  "name": "Inbox",
  "total_count": 1284,
  "unread_count": 12
}

Get a message

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. Retrieve one message, including its attachments' ids.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Chatchat_idtextRequired
The conversation's id, from 'List chats'. Not a dropdown: an account can have tens of thousands of conversations, which is the wrong size for a picker.
Messagemessage_idtextRequired
The message's id, from 'List chat messages'.

Outputs

attachmentslist
Files carried by the message.
chat_idtext
The chat it belongs to.
idtext
The message id.
is_seentrue/false
Whether the other participants have read it.
is_sendertrue/false
True when the linked account sent it.
sender_idtext
Provider id of whoever sent it.
texttext
The message body as plain text.
timestamptext
When it was sent, ISO 8601.
Example output
{
  "chat_id": "chat_8vQ2",
  "id": "msg_1aZ",
  "is_sender": false,
  "text": "Thanks \u2014 that works for me.",
  "timestamp": "2026-09-21T16:04:11.000Z"
}

Get a post

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. Retrieve one post with its reaction and comment counts. Counts against the account's provider limits: Unipile's guidance is roughly 100 of these per day per LinkedIn account, spaced out rather than chained. Exceeding it risks a warning on the account.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Postpost_idtextRequired
The post's id, from 'List a person's posts' or a search.

Outputs

authorobject
Who published it.
comments_counternumber
Total comments.
created_attext
When it was published.
idtext
The post id.
reactions_counternumber
Total reactions. Null when the provider hides the count.
reposts_counternumber
Total reshares.
share_urltext
Link to the post.
texttext
The post's text.
Example output
{
  "comment_counter": 7,
  "id": "post_7Kd",
  "reaction_counter": 42,
  "text": "We are hiring."
}

Get a profile

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. Retrieve someone's profile. Use 'me' to read the linked account's own. Anyone else counts as a profile view against the account's daily allowance (Unipile's guidance is about 100 a day on LinkedIn), and on LinkedIn the visit is visible to that person unless their settings say otherwise.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Personperson_idtext
Whose data to read. Use 'me' for the linked account's own. Otherwise a provider id, a handle, or a pasted profile URL.Default: me.
Extra sectionswith_sectionslist
Extra profile sections to expand, such as experience or education. Leave empty for the basics.
Variantvarianttext
Provider-specific profile variant, where one applies.

Outputs

descriptiontext
Headline or one-line summary.
display_nametext
Full name as the provider renders it.
first_nametext
Given name.
followers_countnumber
Follower count.
handletext
Same as 'public_identifier', lifted for chained steps.
idtext
The person's id on the provider.
is_premiumtrue/false
Whether they hold a paid plan.
is_verifiedtrue/false
Whether the provider verified them.
last_nametext
Family name.
locationtext
Free-text location.
profile_urltext
Link to their profile.
providertext
Which network this came from.
provider_idtext
Same as 'id', lifted for chained steps.
public_identifiertext
The provider's handle, e.g. 'satyanadella'.
public_picture_urltext
Profile picture URL, when public.
relations_countnumber
Connection count.
specificsobject
Provider-specific profile data. On LinkedIn this is where the two fields other actions need live: 'notify_visit_token' for 'Report a profile visit', and 'skills' — whose entries carry the 'endorsement_id' that 'Endorse a skill' takes, an ordinal into this list that means nothing without the read it came from. Ask for skills with the 'linkedin_skills' section.
Example output
{
  "description": "Rear Admiral, US Navy (ret.)",
  "display_name": "Grace Hopper",
  "handle": "gracehopper",
  "id": "ACoAAAcDMMQ",
  "provider": "linkedin",
  "provider_id": "ACoAAAcDMMQ",
  "public_identifier": "gracehopper",
  "relations_count": 812
}

Get an email

Works with any mailbox: Gmail, Outlook or IMAP. Retrieve one email, with its body and attachment ids.

Inputs

Accountaccount_idtextRequired
Which linked mailbox to act as: Gmail, Outlook or IMAP. Mailboxes are linked in your Unipile dashboard, not here.
Emailemail_idtextRequired
The email's id, from 'List emails'.
Metadata onlymeta_onlytrue/false
Leave the body out.

Outputs

attachmentslist
Files carried by the email.
bcclist
Bcc recipients.
bodytext
Full body. Absent when the call asked for metadata only.
cclist
Cc recipients.
datetext
When it was sent, ISO 8601.
folderslist
Folders it sits in.
fromlist
Sender.
idtext
Unipile's id for the email.
is_unreadtrue/false
Whether it is still unread.
message_idtext
The RFC 822 Message-ID header.
snippettext
Short preview of the body.
subjecttext
Subject line.
thread_idtext
Groups the email with its replies.
tolist
To recipients.
Example output
{
  "body": "Please find attached.",
  "id": "em_4Rt",
  "is_unread": true,
  "subject": "Invoice 1042"
}

Get an email thread

Works with any mailbox: Gmail, Outlook or IMAP. Retrieve a whole conversation: an email and all its replies.

Inputs

Accountaccount_idtextRequired
Which linked mailbox to act as: Gmail, Outlook or IMAP. Mailboxes are linked in your Unipile dashboard, not here.
Threadthread_idtextRequired
The thread id, from any email's 'thread_id'.
Metadata onlymeta_onlytrue/false
Leave the bodies out.

Outputs

emailslist
The emails in the thread.
idtext
The thread id.
Example output
{
  "data": [
    {
      "id": "em_4Rt",
      "subject": "Invoice 1042"
    }
  ]
}

List a person's comments

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. List comments a person has written. Counts against the account's provider limits: Unipile's guidance is roughly 100 of these per day per LinkedIn account, spaced out rather than chained. Exceeding it risks a warning on the account.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Personperson_idtext
Whose data to read. Use 'me' for the linked account's own. Otherwise a provider id, a handle, or a pasted profile URL.Default: me.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Cursorcursortext
Page cursor from a previous run's 'next_cursor'. Leave empty for the first page.

Outputs

itemslist
The comments on this page.
next_cursortext
Pass as 'cursor' for the next page.
total_countnumber
How many there are.
Example output
{
  "items": [
    {
      "id": "cmt_2Bq",
      "text": "Congratulations!"
    }
  ],
  "next_cursor": null,
  "total_count": 1
}

List a person's posts

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. List posts written by a person or a company. Counts against the account's provider limits: Unipile's guidance is roughly 100 of these per day per LinkedIn account, spaced out rather than chained. Exceeding it risks a warning on the account.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Personperson_idtext
Whose data to read. Use 'me' for the linked account's own. Otherwise a provider id, a handle, or a pasted profile URL.Default: me.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Cursorcursortext
Page cursor from a previous run's 'next_cursor'. Leave empty for the first page.

Outputs

itemslist
The posts on this page.
next_cursortext
Pass as 'cursor' for the next page.
total_countnumber
How many the provider says exist.
Example output
{
  "items": [
    {
      "id": "post_7Kd",
      "reaction_counter": 42,
      "text": "We are hiring."
    }
  ],
  "next_cursor": null,
  "total_count": 1
}

List a person's reactions

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. List the posts and comments a person has reacted to. Counts against the account's provider limits: Unipile's guidance is roughly 100 of these per day per LinkedIn account, spaced out rather than chained. Exceeding it risks a warning on the account.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Personperson_idtext
Whose data to read. Use 'me' for the linked account's own. Otherwise a provider id, a handle, or a pasted profile URL.Default: me.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Cursorcursortext
Page cursor from a previous run's 'next_cursor'. Leave empty for the first page.

Outputs

itemslist
The reactions on this page.
next_cursortext
Pass as 'cursor' for the next page.
total_countnumber
How many reactions there are.
Example output
{
  "items": [
    {
      "value": "like"
    }
  ],
  "next_cursor": null,
  "total_count": 1
}

List calendar events

List events in a calendar within a time window.

Inputs

Accountaccount_idtextRequired
Which linked calendar to act as: a Google or Microsoft account. IMAP mailboxes are not offered here: IMAP carries mail only and has no calendar. Accounts are linked in your Unipile dashboard, not here.
Calendarcalendar_idtextRequired
Which calendar. Pick it from the list, or paste an id.
Fromstartdate and time
Start of the window.
Toenddate and time
End of the window.
Title containstitletext
Only events whose title matches.
Location containslocationtext
Only events at a matching location.
Cancelled onlyis_cancelledtrue/false
Only cancelled events.
Expand recurringexpand_recurringtrue/false
Return each occurrence of a recurring event rather than the series.
Changed sinceupdated_afterdate and time
Only events modified after this moment. Use this to poll for changes.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Cursorcursortext
Page cursor from a previous run's 'next_cursor'. Leave empty for the first page.

Outputs

itemslist
The events in the window.
next_cursortext
Pass as 'cursor' for the next page.
total_countnumber
How many events there are.
Example output
{
  "items": [
    {
      "end": "2026-09-23T11:00:00.000Z",
      "id": "ev_5Tg",
      "start": "2026-09-23T10:00:00.000Z",
      "title": "Design review"
    }
  ],
  "next_cursor": null,
  "total_count": 1
}

List calendars

List the calendars on a connected Google or Microsoft account.

Inputs

Accountaccount_idtextRequired
Which linked calendar to act as: a Google or Microsoft account. IMAP mailboxes are not offered here: IMAP carries mail only and has no calendar. Accounts are linked in your Unipile dashboard, not here.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Cursorcursortext
Page cursor from a previous run's 'next_cursor'. Leave empty for the first page.

Outputs

itemslist
The calendars.
total_countnumber
How many calendars there are.
Example output
{
  "items": [
    {
      "id": "primary",
      "is_default": true,
      "is_read_only": false,
      "name": "Ada Lovelace",
      "timezone": "Europe/London"
    }
  ],
  "total_count": 1
}

List chat messages

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. List the messages in a conversation, newest first. Served from Unipile rather than the provider, so this is cheap to call.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Chatchat_idtextRequired
The conversation's id, from 'List chats'. Not a dropdown: an account can have tens of thousands of conversations, which is the wrong size for a picker.
From personperson_idtext
Only messages from this person. Accepts an id, a handle or a profile URL.
Sent afterafterdate and time
Only messages sent after this moment. Use this to poll for new messages.
Sent beforebeforedate and time
Only messages sent before this moment.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Cursorcursortext
Page cursor from a previous run's 'next_cursor'. Leave empty for the first page.

Outputs

has_moretrue/false
Whether another page exists.
itemslist
The messages on this page.
next_cursortext
Pass as 'cursor' for the next page.
total_countnumber
How many the provider says exist.
Example output
{
  "has_more": false,
  "items": [
    {
      "attachments": [],
      "chat_id": "chat_8vQ2",
      "id": "msg_1aZ",
      "is_sender": false,
      "seen": true,
      "sender_id": "ACoAAAcDMMQ",
      "text": "Thanks \u2014 that works for me.",
      "timestamp": "2026-09-21T16:04:11.000Z"
    }
  ],
  "next_cursor": null,
  "total_count": 1
}

List comment reactions

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. List who reacted to a comment. Counts against the account's provider limits: Unipile's guidance is roughly 100 of these per day per LinkedIn account, spaced out rather than chained. Exceeding it risks a warning on the account.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Postpost_idtextRequired
The post's id, from 'List a person's posts' or a search.
Commentcomment_idtextRequired
The comment's id, from 'List post comments'.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Cursorcursortext
Page cursor from a previous run's 'next_cursor'. Leave empty for the first page.

Outputs

itemslist
The reactions on this page.
next_cursortext
Pass as 'cursor' for the next page.
total_countnumber
How many reactions there are.
Example output
{
  "items": [
    {
      "value": "like"
    }
  ],
  "next_cursor": null,
  "total_count": 1
}

List comment replies

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. List the replies to a comment. Counts against the account's provider limits: Unipile's guidance is roughly 100 of these per day per LinkedIn account, spaced out rather than chained. Exceeding it risks a warning on the account.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Postpost_idtextRequired
The post's id, from 'List a person's posts' or a search.
Commentcomment_idtextRequired
The comment's id, from 'List post comments'.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Cursorcursortext
Page cursor from a previous run's 'next_cursor'. Leave empty for the first page.

Outputs

itemslist
The comments on this page.
next_cursortext
Pass as 'cursor' for the next page.
total_countnumber
How many there are.
Example output
{
  "items": [
    {
      "id": "cmt_9Hs",
      "text": "Thank you!"
    }
  ],
  "next_cursor": null,
  "total_count": 1
}

List connections

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. List someone's connections. Do not put this on a schedule. Unipile asks specifically that relations are not polled at a fixed time: a request at 8am every day is one of the patterns LinkedIn flags as automation. Do an initial sync, then read the first page a few times a day at irregular intervals.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Personperson_idtext
Whose data to read. Use 'me' for the linked account's own. Otherwise a provider id, a handle, or a pasted profile URL.Default: me.
Searchsearchtext
Filter connections by name.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Cursorcursortext
Page cursor from a previous run's 'next_cursor'. Leave empty for the first page.

Outputs

has_moretrue/false
Whether another page exists.
itemslist
The people on this page.
next_cursortext
Pass as 'cursor' for the next page.
total_countnumber
How many the provider says exist.
Example output
{
  "items": [
    {
      "display_name": "Grace Hopper",
      "id": "ACoAAAcDMMQ"
    }
  ],
  "next_cursor": null,
  "total_count": 1
}

List drafts

List saved drafts in a mailbox.

Inputs

Accountaccount_idtextRequired
Which linked mailbox to act as: Gmail, Outlook or IMAP. Mailboxes are linked in your Unipile dashboard, not here.
Totolist
Only drafts addressed to these addresses.
Fromsenderlist
Only drafts from these addresses.
Anyone involvedany_emaillist
Only drafts where these addresses appear anywhere.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Cursorcursortext
Page cursor from a previous run's 'next_cursor'. Leave empty for the first page.

Outputs

itemslist
The drafts.
next_cursortext
Pass as 'cursor' for the next page.
total_countnumber
How many drafts there are.
Example output
{
  "items": [
    {
      "id": "dr_6Vb",
      "subject": "Draft reply"
    }
  ],
  "next_cursor": null,
  "total_count": 1
}

List emails

List emails in a mailbox, with filters for sender, recipient, folder, unread and date. Turn on 'Metadata only' for triage workflows: bodies are the bulk of the payload and a step that only reads subjects should not carry them.

Inputs

Accountaccount_idtextRequired
Which linked mailbox to act as: Gmail, Outlook or IMAP. Mailboxes are linked in your Unipile dashboard, not here.
Searchquerytext
Full-text search across the mailbox.
Fromsenderlist
Only emails from these addresses.
Totolist
Only emails sent to these addresses.
Anyone involvedany_emaillist
Only emails where these addresses appear in any field.
Folderfoldertext
Only emails in this folder.
Exclude folderexclude_foldertext
Skip emails in this folder.
Unread onlyis_unreadtrue/false
Only unread emails.
Starred onlyis_starredtrue/false
Only starred emails.
With attachmentshas_attachmenttrue/false
Only emails carrying attachments.
Received afterafterdate and time
Only emails after this moment. Use this to poll for new mail.
Received beforebeforedate and time
Only emails before this moment.
Metadata onlymeta_onlytrue/false
Leave the bodies out, returning only headers and a snippet.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Cursorcursortext
Page cursor from a previous run's 'next_cursor'. Leave empty for the first page.

Outputs

itemslist
The emails on this page.
next_cursortext
Pass as 'cursor' for the next page.
total_countnumber
How many were returned. Not all routes report a total.
Example output
{
  "items": [
    {
      "date": "2026-09-21T09:12:00.000Z",
      "id": "em_4Rt",
      "is_unread": true,
      "subject": "Invoice 1042"
    }
  ],
  "next_cursor": null,
  "total_count": 1
}

List emails in a folder

Works with any mailbox: Gmail, Outlook or IMAP. List the emails inside one folder.

Inputs

Accountaccount_idtextRequired
Which linked mailbox to act as: Gmail, Outlook or IMAP. Mailboxes are linked in your Unipile dashboard, not here.
Folderfolder_idtextRequired
Which mail folder. Pick it from the list, or paste an id.
Searchquerytext
Full-text search within the folder.
Unread onlyis_unreadtrue/false
Only unread emails.
With attachmentshas_attachmenttrue/false
Only emails carrying attachments.
Received afterafterdate and time
Only emails after this moment.
Received beforebeforedate and time
Only emails before this moment.
Metadata onlymeta_onlytrue/false
Leave the bodies out.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Cursorcursortext
Page cursor from a previous run's 'next_cursor'. Leave empty for the first page.

Outputs

itemslist
The emails on this page.
next_cursortext
Pass as 'cursor' for the next page.
total_countnumber
How many were returned. Not all routes report a total.
Example output
{
  "items": [
    {
      "id": "em_4Rt",
      "subject": "Invoice 1042"
    }
  ],
  "next_cursor": null,
  "total_count": 1
}

List followers

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. List the people following someone. Counts against the account's provider limits: Unipile's guidance is roughly 100 of these per day per LinkedIn account, spaced out rather than chained. Exceeding it risks a warning on the account.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Personperson_idtext
Whose data to read. Use 'me' for the linked account's own. Otherwise a provider id, a handle, or a pasted profile URL.Default: me.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Cursorcursortext
Page cursor from a previous run's 'next_cursor'. Leave empty for the first page.

Outputs

has_moretrue/false
Whether another page exists.
itemslist
The people on this page.
next_cursortext
Pass as 'cursor' for the next page.
total_countnumber
How many the provider says exist.
Example output
{
  "items": [
    {
      "display_name": "Grace Hopper",
      "id": "ACoAAAcDMMQ"
    }
  ],
  "next_cursor": null,
  "total_count": 1
}

List inbox chats

List conversations in one LinkedIn inbox. This is how you list LinkedIn conversations: the general 'List chats' action is not implemented for LinkedIn and answers with an error pointing here.

Inputs

Accountaccount_idtextRequired
Which linked LinkedIn account to act as. Every limit below applies to this real LinkedIn account, not to an API quota.
Inboxinbox_idtextRequired
Which LinkedIn inbox. Classic Primary is the ordinary one; Sales Navigator and Recruiter inboxes appear only with those subscriptions.
Unread onlyis_unreadtrue/false
Only conversations with unread messages.
Archived onlyis_archivedtrue/false
Only archived conversations.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Cursorcursortext
Page cursor from a previous run's 'next_cursor'. Leave empty for the first page.

Outputs

has_moretrue/false
Whether another page exists.
itemslist
The chats on this page.
next_cursortext
Pass as 'cursor' for the next page.
total_countnumber
How many the provider says exist.
Example output
{
  "items": [
    {
      "id": "chat_8vQ2",
      "is_1to1": true,
      "name": "Grace Hopper",
      "unread_count": 2
    }
  ],
  "next_cursor": null,
  "total_count": 1
}

List linked accounts

Any linked account. List the accounts linked to your Unipile application, with each one's connection status. Use this to check an account is still connected before running outreach against it.

Inputs

Networkprovidertext
Only return accounts on this network. Leave empty for all.One of: linkedin, whatsapp, instagram, telegram, google (Google (Gmail)), outlook (Microsoft (Outlook)), imap, mock (Mock (Unipile test account)).
Statusstatustext
Only return accounts in this connection state.One of: running, errored, disconnected, degraded, partial.
Searchsearchtext
Filter by account name.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Offsetoffsetnumber
Skip this many results. The account routes page on offset rather than a cursor.At least 0.

Outputs

has_moretrue/false
Whether another page exists.
itemslist
The linked accounts.
needs_reconnectlist
The accounts whose owner must reconnect them in Unipile.
needs_reconnect_countnumber
How many are disconnected or errored.
total_countnumber
How many were returned.
Example output
{
  "has_more": false,
  "items": [
    {
      "created_at": "2026-09-01T09:14:22.000Z",
      "id": "acc_01HZX9",
      "name": "Ada Lovelace",
      "provider": "linkedin",
      "status": "running"
    }
  ],
  "needs_reconnect": [],
  "needs_reconnect_count": 0,
  "total_count": 1
}

List LinkedIn inboxes

List the inboxes available to a LinkedIn account: Classic Primary, Archived, Spam, Jobs, InMail and Starred, plus Sales Navigator and Recruiter inboxes where the subscription allows. LinkedIn has no flat chat list, so this is the entry point to its conversations.

Inputs

Accountaccount_idtextRequired
Which linked LinkedIn account to act as. Every limit below applies to this real LinkedIn account, not to an API quota.

Outputs

itemslist
The inboxes available to this LinkedIn account.
total_countnumber
How many inboxes there are.
Example output
{
  "items": [
    {
      "description": "Classic Primary inbox",
      "disabled": false,
      "id": "CLASSIC_PRIMARY"
    }
  ],
  "total_count": 1
}

List mail folders

List the mailbox's folders with their total and unread counts.

Inputs

Accountaccount_idtextRequired
Which linked mailbox to act as: Gmail, Outlook or IMAP. Mailboxes are linked in your Unipile dashboard, not here.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Cursorcursortext
Page cursor from a previous run's 'next_cursor'. Leave empty for the first page.

Outputs

itemslist
The folders.
total_countnumber
How many folders there are.
Example output
{
  "items": [
    {
      "id": "INBOX",
      "is_system": true,
      "name": "Inbox",
      "total_count": 1284,
      "unread_count": 12
    }
  ],
  "total_count": 1
}

List message reactions

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. List who reacted to a message, and with what.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Chatchat_idtextRequired
The conversation's id, from 'List chats'. Not a dropdown: an account can have tens of thousands of conversations, which is the wrong size for a picker.
Messagemessage_idtextRequired
The message's id, from 'List chat messages'.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Cursorcursortext
Page cursor from a previous run's 'next_cursor'. Leave empty for the first page.

Outputs

itemslist
The reactions on this page.
next_cursortext
Pass as 'cursor' for the next page.
total_countnumber
How many reactions there are.
Example output
{
  "items": [
    {
      "author": {
        "id": "ACoAAAcDMMQ",
        "name": "Grace Hopper"
      },
      "value": "\ud83d\udc4d"
    }
  ],
  "next_cursor": null,
  "total_count": 1
}

List pending invitations

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. List pending connection or follow requests, either ones you sent or ones you received. Same caution as listing connections: do not poll this on a fixed schedule.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
DirectiontypetextRequired
Invitations you received, or ones you sent.One of: received, sent. Default: received.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Cursorcursortext
Page cursor from a previous run's 'next_cursor'. Leave empty for the first page.

Outputs

itemslist
The pending requests.
next_cursortext
Pass as 'cursor' for the next page.
total_countnumber
How many there are.
typetext
'sent' or 'received', echoing what was asked for.
Example output
{
  "items": [
    {
      "id": "req_5Nx",
      "message": "Let's connect."
    }
  ],
  "next_cursor": null,
  "total_count": 1,
  "type": "received"
}

List post comments

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. List the comments on a post. Counts against the account's provider limits: Unipile's guidance is roughly 100 of these per day per LinkedIn account, spaced out rather than chained. Exceeding it risks a warning on the account.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Postpost_idtextRequired
The post's id, from 'List a person's posts' or a search.
Sort bysort_bytext
Order the comments come back in.One of: MOST_RELEVANT (Most relevant), MOST_RECENT (Most recent).
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Cursorcursortext
Page cursor from a previous run's 'next_cursor'. Leave empty for the first page.

Outputs

itemslist
The comments on this page.
next_cursortext
Pass as 'cursor' for the next page.
total_countnumber
How many there are.
Example output
{
  "items": [
    {
      "id": "cmt_2Bq",
      "text": "Congratulations!"
    }
  ],
  "next_cursor": null,
  "total_count": 1
}

List post reactions

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. List who reacted to a post, and how. Useful for warm-lead workflows: the people who engaged with a post are the ones worth reaching out to. Counts against the account's provider limits: Unipile's guidance is roughly 100 of these per day per LinkedIn account, spaced out rather than chained. Exceeding it risks a warning on the account.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Postpost_idtextRequired
The post's id, from 'List a person's posts' or a search.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Cursorcursortext
Page cursor from a previous run's 'next_cursor'. Leave empty for the first page.

Outputs

itemslist
The reactions on this page.
next_cursortext
Pass as 'cursor' for the next page.
total_countnumber
How many reactions there are.
Example output
{
  "items": [
    {
      "author": {
        "id": "ACoAAAcDMMQ",
        "name": "Grace Hopper"
      },
      "value": "like"
    }
  ],
  "next_cursor": null,
  "total_count": 1
}

List sender addresses

List the addresses this mailbox can send as, including aliases. Aliases matter for volume: Unipile's guidance is that adding domains as aliases spreads sending reputation across them from one connected mailbox.

Inputs

Accountaccount_idtextRequired
Which linked mailbox to act as: Gmail, Outlook or IMAP. Mailboxes are linked in your Unipile dashboard, not here.

Outputs

itemslist
The addresses this mailbox can send as.
Example output
{
  "items": [
    {
      "email": "ada@example.com",
      "is_default": true,
      "verification_status": "verified"
    }
  ],
  "total_count": 1
}

List who someone follows

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. List the accounts someone follows. Counts against the account's provider limits: Unipile's guidance is roughly 100 of these per day per LinkedIn account, spaced out rather than chained. Exceeding it risks a warning on the account.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Personperson_idtext
Whose data to read. Use 'me' for the linked account's own. Otherwise a provider id, a handle, or a pasted profile URL.Default: me.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Cursorcursortext
Page cursor from a previous run's 'next_cursor'. Leave empty for the first page.

Outputs

has_moretrue/false
Whether another page exists.
itemslist
The people on this page.
next_cursortext
Pass as 'cursor' for the next page.
total_countnumber
How many the provider says exist.
Example output
{
  "items": [
    {
      "display_name": "Grace Hopper",
      "id": "ACoAAAcDMMQ"
    }
  ],
  "next_cursor": null,
  "total_count": 1
}

Look up search parameter ids

Turn text into the numeric ids LinkedIn's structured search requires. LinkedIn will not accept 'Los Angeles' as a location filter (it wants 102277331), and this is the only way to find that id. Feed the result into a people or company search.

Inputs

Accountaccount_idtextRequired
Which linked LinkedIn account to act as. Every limit below applies to this real LinkedIn account, not to an API quota.
KindtypetextRequired
What kind of id you are looking for.One of: LOCATION, COMPANY, RELATION (Connection), PEOPLE (Person), SCHOOL, INDUSTRY, SERVICE, JOB_FUNCTION (Job function), JOB_TITLE (Job title), EMPLOYMENT_TYPE (Employment type), SKILL.
TextkeywordstextRequired
The text to look an id up for, e.g. 'Los Angeles'.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.

Outputs

itemslist
The search results on this page.
next_cursortext
Pass as 'cursor' for the next page.
total_countnumber
What LinkedIn claims exists. Often larger than what can be paged through — LinkedIn caps a single query at 1,000 results (2,500 on Sales Navigator or Recruiter).
Example output
{
  "items": [
    {
      "id": "102277331",
      "title": "Los Angeles, California, United States"
    }
  ],
  "total_count": 1
}

Mark a message read

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. Mark one message as read, as if the account owner had opened it.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Chatchat_idtextRequired
The conversation's id, from 'List chats'. Not a dropdown: an account can have tens of thousands of conversations, which is the wrong size for a picker.
Messagemessage_idtextRequired
The message's id, from 'List chat messages'.

Outputs

message_idtext
The message that was marked.
readtrue/false
True when it succeeded.
Example output
{
  "message_id": "msg_1aZ",
  "read": true
}

Mark an email read

Works with any mailbox: Gmail, Outlook or IMAP. Mark an email as read.

Inputs

Accountaccount_idtextRequired
Which linked mailbox to act as: Gmail, Outlook or IMAP. Mailboxes are linked in your Unipile dashboard, not here.
Emailemail_idtextRequired
The email's id, from 'List emails'.

Outputs

idtext
The email that was marked.
is_unreadtrue/false
The email's unread state after the change.
Example output
{
  "id": "em_4Rt",
  "is_unread": false
}

Mark an email unread

Works with any mailbox: Gmail, Outlook or IMAP. Mark an email as unread.

Inputs

Accountaccount_idtextRequired
Which linked mailbox to act as: Gmail, Outlook or IMAP. Mailboxes are linked in your Unipile dashboard, not here.
Emailemail_idtextRequired
The email's id, from 'List emails'.

Outputs

idtext
The email that was marked.
is_unreadtrue/false
The email's unread state after the change.
Example output
{
  "id": "em_4Rt",
  "is_unread": true
}

Move an email

Works with any mailbox: Gmail, Outlook or IMAP. Move an email by setting which folders it belongs to. Replaces the current set rather than adding to it.

Inputs

Accountaccount_idtextRequired
Which linked mailbox to act as: Gmail, Outlook or IMAP. Mailboxes are linked in your Unipile dashboard, not here.
Emailemail_idtextRequired
The email's id, from 'List emails'.
Foldersfolder_idslistRequired
The folders the email should be in after the move.

Outputs

attachmentslist
Files carried by the email.
bcclist
Bcc recipients.
bodytext
Full body. Absent when the call asked for metadata only.
cclist
Cc recipients.
datetext
When it was sent, ISO 8601.
folderslist
Folders it sits in.
fromlist
Sender.
idtext
Unipile's id for the email.
is_unreadtrue/false
Whether it is still unread.
message_idtext
The RFC 822 Message-ID header.
snippettext
Short preview of the body.
subjecttext
Subject line.
thread_idtext
Groups the email with its replies.
tolist
To recipients.
Example output
{
  "folders": [
    "Archive"
  ],
  "id": "em_4Rt"
}

Publish a post

Publish a post to LinkedIn or Instagram. 'Post as' publishes from a company page you administer rather than your own profile.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
TexttexttextRequired
The post's content.
Attachmentsattachmentslist
Files to send, up to 15 MB each. Upload them here, or reference a document produced by an earlier step.
Who can see itcan_readtext
Post visibility.One of: anyone, relations_only (Connections only).
Who can commentcan_commenttext
Who is allowed to comment on it.One of: anyone, relations_only (Connections only), no_one (No one).
Quoting postquoted_post_idtext
The id of a post to quote, to reshare it with commentary.
Post as companypost_astext
A company page id to publish as, instead of your own profile.

Outputs

authorobject
Who published it.
comments_counternumber
Total comments.
created_attext
When it was published.
idtext
The post id.
reactions_counternumber
Total reactions. Null when the provider hides the count.
reposts_counternumber
Total reshares.
share_urltext
Link to the post.
texttext
The post's text.
Example output
{
  "id": "post_7Kd",
  "post_url": "https://www.linkedin.com/feed/update/post_7Kd",
  "text": "We are hiring."
}

React to a comment

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. React to a comment on a post. Counts against the account's provider limits: Unipile's guidance is roughly 100 of these per day per LinkedIn account, spaced out rather than chained. Exceeding it risks a warning on the account.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Postpost_idtextRequired
The post's id, from 'List a person's posts' or a search.
Commentcomment_idtextRequired
The comment's id, from 'List post comments'.
ReactionreactiontextRequired
The reaction to leave. On LinkedIn this must be a prefixed type: linkedin_like, linkedin_celebrate, linkedin_support, linkedin_love, linkedin_insightful or linkedin_funny. A bare emoji, or a bare 'like', is refused. Other providers take the emoji itself.
React as companyreact_astext
A company page id to react as, instead of your own profile.

Outputs

comment_idtext
The comment reacted to.
reactiontext
The reaction that was added.
Example output
{
  "comment_id": "cmt_2Bq",
  "reaction": "like"
}

React to a message

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. React to a message with an emoji. Supported on WhatsApp, LinkedIn, Telegram and Instagram.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Chatchat_idtextRequired
The conversation's id, from 'List chats'. Not a dropdown: an account can have tens of thousands of conversations, which is the wrong size for a picker.
Messagemessage_idtextRequired
The message's id, from 'List chat messages'.
ReactionreactiontextRequired
The reaction to leave. On LinkedIn this must be a prefixed type: linkedin_like, linkedin_celebrate, linkedin_support, linkedin_love, linkedin_insightful or linkedin_funny. A bare emoji, or a bare 'like', is refused. Other providers take the emoji itself.

Outputs

message_idtext
The message reacted to.
reactiontext
The reaction that was added.
Example output
{
  "message_id": "msg_1aZ",
  "reaction": "\ud83d\udc4d"
}

React to a post

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. React to a post. On LinkedIn the reaction is a named type (like, celebrate, support, love, insightful or funny) rather than an emoji. Counts against the account's provider limits: Unipile's guidance is roughly 100 of these per day per LinkedIn account, spaced out rather than chained. Exceeding it risks a warning on the account.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Postpost_idtextRequired
The post's id, from 'List a person's posts' or a search.
ReactionreactiontextRequired
The reaction to leave. On LinkedIn this must be a prefixed type: linkedin_like, linkedin_celebrate, linkedin_support, linkedin_love, linkedin_insightful or linkedin_funny. A bare emoji, or a bare 'like', is refused. Other providers take the emoji itself.
React as companyreact_astext
A company page id to react as, instead of your own profile.

Outputs

post_idtext
The post reacted to.
reactiontext
The reaction that was added.
Example output
{
  "post_id": "post_7Kd",
  "reaction": "like"
}

Remove a comment reaction

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. Remove your reaction from a comment.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Postpost_idtextRequired
The post's id, from 'List a person's posts' or a search.
Commentcomment_idtextRequired
The comment's id, from 'List post comments'.
ReactionreactiontextRequired
Which reaction to remove: the API needs it to know which one is yours. On LinkedIn: linkedin_like, linkedin_celebrate, linkedin_support, linkedin_love, linkedin_insightful or linkedin_funny.

Outputs

comment_idtext
The comment reacted to.
removedtrue/false
True when the reaction was removed.
Example output
{
  "comment_id": "cmt_2Bq",
  "removed": true
}

Remove a message reaction

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. Remove your reaction from a message.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Chatchat_idtextRequired
The conversation's id, from 'List chats'. Not a dropdown: an account can have tens of thousands of conversations, which is the wrong size for a picker.
Messagemessage_idtextRequired
The message's id, from 'List chat messages'.
ReactionreactiontextRequired
Which reaction to remove: the API needs it to know which one is yours. On LinkedIn: linkedin_like, linkedin_celebrate, linkedin_support, linkedin_love, linkedin_insightful or linkedin_funny.

Outputs

message_idtext
The message the reaction was removed from.
removedtrue/false
True when it succeeded.
Example output
{
  "message_id": "msg_1aZ",
  "removed": true
}

Remove a post reaction

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. Remove your reaction from a post.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Postpost_idtextRequired
The post's id, from 'List a person's posts' or a search.
ReactionreactiontextRequired
Which reaction to remove: the API needs it to know which one is yours. On LinkedIn: linkedin_like, linkedin_celebrate, linkedin_support, linkedin_love, linkedin_insightful or linkedin_funny.

Outputs

post_idtext
The post reacted to.
removedtrue/false
True when the reaction was removed.
Example output
{
  "post_id": "post_7Kd",
  "removed": true
}

Rename a mail folder

Works with any mailbox: Gmail, Outlook or IMAP. Rename a folder.

Inputs

Accountaccount_idtextRequired
Which linked mailbox to act as: Gmail, Outlook or IMAP. Mailboxes are linked in your Unipile dashboard, not here.
Folderfolder_idtextRequired
Which mail folder. Pick it from the list, or paste an id.
New namenametextRequired
What the folder should be called instead.

Outputs

idtext
The folder id.
is_systemtrue/false
True for built-in folders like Inbox and Sent.
nametext
Folder name as shown in the mailbox.
total_countnumber
Emails in the folder.
unread_countnumber
Unread emails in the folder.
Example output
{
  "id": "Label_42",
  "name": "Invoices 2026"
}

Reply to a comment

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. Reply to a comment on a post. Counts against the account's provider limits: Unipile's guidance is roughly 100 of these per day per LinkedIn account, spaced out rather than chained. Exceeding it risks a warning on the account.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Postpost_idtextRequired
The post's id, from 'List a person's posts' or a search.
Commentcomment_idtextRequired
The comment's id, from 'List post comments'.
ReplytexttextRequired
What to say.
Reply as companycomment_astext
A company page id to reply as, instead of your own profile.

Outputs

authorobject
Who wrote it.
created_attext
When it was posted.
idtext
The comment id.
reactions_counternumber
Reactions on the comment.
reply_counternumber
Replies to the comment.
texttext
The comment text.
Example output
{
  "id": "cmt_9Hs",
  "text": "Thank you!"
}

Report a profile visit

LinkedIn only. Let someone see that this account viewed their profile: the 'who viewed your profile' notification. Reads the person's profile to get the visit token the endpoint wants, so it spends two of the account's provider actions rather than one.

Inputs

Accountaccount_idtextRequired
Which linked LinkedIn account to act as. Every limit below applies to this real LinkedIn account, not to an API quota.
Personperson_idtextRequired
Whose profile to report a visit to. Accepts an id, a handle, or a pasted profile URL.
Visit tokentokentext
Optional. The 'notify_visit_token' from an earlier 'Get a profile' step: supply it to skip the extra profile read.

Outputs

person_idtext
Whose profile was visited.
reportedtrue/false
True when the visit was reported.
Example output
{
  "person_id": "ACoAAAcDMMQ",
  "reported": true
}

Restore a cancelled event

Google and Microsoft calendars only. Un-cancel an event that was cancelled rather than deleted.

Inputs

Accountaccount_idtextRequired
Which linked calendar to act as: a Google or Microsoft account. IMAP mailboxes are not offered here: IMAP carries mail only and has no calendar. Accounts are linked in your Unipile dashboard, not here.
Calendarcalendar_idtextRequired
Which calendar. Pick it from the list, or paste an id.
Eventevent_idtextRequired
The event's id, from 'List calendar events'.

Outputs

cancelledtrue/false
True after a cancel, false after a restore.
event_idtext
The event acted on.
Example output
{
  "cancelled": false,
  "event_id": "ev_5Tg"
}

Search LinkedIn companies

Search LinkedIn for companies. Location and industry take numeric ids, as with people search. Counts against the account's provider limits: Unipile's guidance is roughly 100 of these per day per LinkedIn account, spaced out rather than chained. Exceeding it risks a warning on the account.

Inputs

Accountaccount_idtextRequired
Which linked LinkedIn account to act as. Every limit below applies to this real LinkedIn account, not to an API quota.
Keywordskeywordstext
Free-text search terms.
LinkedIn productapitext
Which product to search through.One of: classic, sales_navigator (Sales Navigator), recruiter.
Location idslocationlist
LinkedIn location ids.
Industry idsindustrylist
LinkedIn industry ids.
Hiring onlyhas_job_postingstrue/false
Only companies with open job postings.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Cursorcursortext
Page cursor from a previous run's 'next_cursor'. Leave empty for the first page.

Outputs

itemslist
The search results on this page.
next_cursortext
Pass as 'cursor' for the next page.
total_countnumber
What LinkedIn claims exists. Often larger than what can be paged through — LinkedIn caps a single query at 1,000 results (2,500 on Sales Navigator or Recruiter).
Example output
{
  "items": [
    {
      "id": "1441",
      "name": "Example Corp"
    }
  ],
  "next_cursor": null,
  "total_count": 1
}

Search LinkedIn from a URL

Run a LinkedIn search by pasting a search URL from your browser. The practical way in: LinkedIn's structured search needs its own numeric ids for every filter, and a URL copied from a search, a saved search or a lead list already carries them. LinkedIn caps a single query at 1,000 results (2,500 on Sales Navigator or Recruiter), and Unipile recommends keeping total rows fetched per day to the same figure.

Inputs

Accountaccount_idtextRequired
Which linked LinkedIn account to act as. Every limit below applies to this real LinkedIn account, not to an API quota.
Search URLurltextRequired
A LinkedIn search, saved search or lead-list URL, copied from the address bar.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Cursorcursortext
Page cursor from a previous run's 'next_cursor'. Leave empty for the first page.

Outputs

itemslist
The search results on this page.
next_cursortext
Pass as 'cursor' for the next page.
total_countnumber
What LinkedIn claims exists. Often larger than what can be paged through — LinkedIn caps a single query at 1,000 results (2,500 on Sales Navigator or Recruiter).
Example output
{
  "items": [
    {
      "id": "ACoAAAcDMMQ",
      "name": "Grace Hopper"
    }
  ],
  "next_cursor": null,
  "total_count": 1
}

Search LinkedIn jobs

Search LinkedIn job postings. Classic only. Counts against the account's provider limits: Unipile's guidance is roughly 100 of these per day per LinkedIn account, spaced out rather than chained. Exceeding it risks a warning on the account.

Inputs

Accountaccount_idtextRequired
Which linked LinkedIn account to act as. Every limit below applies to this real LinkedIn account, not to an API quota.
Keywordskeywordstext
Free-text search terms.
Location idslocationlist
LinkedIn location ids.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Cursorcursortext
Page cursor from a previous run's 'next_cursor'. Leave empty for the first page.

Outputs

itemslist
The search results on this page.
next_cursortext
Pass as 'cursor' for the next page.
total_countnumber
What LinkedIn claims exists. Often larger than what can be paged through — LinkedIn caps a single query at 1,000 results (2,500 on Sales Navigator or Recruiter).
Example output
{
  "items": [
    {
      "id": "3901",
      "title": "Staff Engineer"
    }
  ],
  "next_cursor": null,
  "total_count": 1
}

Search LinkedIn people

Search LinkedIn for people. The location and industry filters take LinkedIn's own numeric ids, not text: use 'Look up search parameter ids' to turn 'Los Angeles' into the id the search wants, or paste a search URL instead and skip the lookup. LinkedIn caps a single query at 1,000 results (2,500 on Sales Navigator or Recruiter), and Unipile recommends keeping the total rows fetched per day to the same figure. This search returns a fixed page that 'Limit' trims: to go past it, chain the cursor from the previous step.

Inputs

Accountaccount_idtextRequired
Which linked LinkedIn account to act as. Every limit below applies to this real LinkedIn account, not to an API quota.
Keywordskeywordstext
Free-text search terms.
LinkedIn productapitext
Which product to search through.One of: classic, sales_navigator (Sales Navigator), recruiter.
Location idslocationlist
LinkedIn location ids, from 'Look up search parameter ids'.
Industry idsindustrylist
LinkedIn industry ids, from 'Look up search parameter ids'.
Connection degreenetwork_distancelist
1, 2 or 3: how far from you the person is.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Cursorcursortext
Page cursor from a previous run's 'next_cursor'. Leave empty for the first page.

Outputs

itemslist
The search results on this page.
next_cursortext
Pass as 'cursor' for the next page.
total_countnumber
What LinkedIn claims exists. Often larger than what can be paged through — LinkedIn caps a single query at 1,000 results (2,500 on Sales Navigator or Recruiter).
Example output
{
  "items": [
    {
      "id": "ACoAAAcDMMQ",
      "name": "Grace Hopper"
    }
  ],
  "next_cursor": null,
  "total_count": 1
}

Search LinkedIn posts

Search LinkedIn posts by keyword. Classic only. Counts against the account's provider limits: Unipile's guidance is roughly 100 of these per day per LinkedIn account, spaced out rather than chained. Exceeding it risks a warning on the account.

Inputs

Accountaccount_idtextRequired
Which linked LinkedIn account to act as. Every limit below applies to this real LinkedIn account, not to an API quota.
Keywordskeywordstext
Free-text search terms.
Limitlimitnumber
How many to return, 1–250. Keep this small on LinkedIn: every row fetched counts towards the account's daily allowance.From 1 to 250. Default: 50.
Cursorcursortext
Page cursor from a previous run's 'next_cursor'. Leave empty for the first page.

Outputs

itemslist
The search results on this page.
next_cursortext
Pass as 'cursor' for the next page.
total_countnumber
What LinkedIn claims exists. Often larger than what can be paged through — LinkedIn caps a single query at 1,000 results (2,500 on Sales Navigator or Recruiter).
Example output
{
  "items": [
    {
      "id": "post_7Kd",
      "text": "We are hiring."
    }
  ],
  "next_cursor": null,
  "total_count": 1
}

Send a connection request

LinkedIn only. Send a connection request, optionally with a note. The most rate-limited action here. On a paid, active LinkedIn account Unipile's guidance is 80–100 a day and about 200 a week with a note. On a free account it is roughly five a month with a note, or 150 a week without one. Hitting the ceiling returns LinkedIn's own 422 cannot_resend_yet. Space these out and put a delay step between them in any loop.

Inputs

Accountaccount_idtextRequired
Which linked LinkedIn account to act as. Every limit below applies to this real LinkedIn account, not to an API quota.
Personperson_idtextRequired
Who to act on. Accepts a provider id, a handle, or a pasted profile URL: all three work, so there is no lookup step.
Notemessagetext
An optional note, capped at 300 characters by LinkedIn. Sending without a note has a much higher weekly limit.

Outputs

senttrue/false
True when the invite went out.
user_idtext
Who was invited.
Example output
{
  "sent": true,
  "user_id": "ACoAAAcDMMQ"
}

Send a draft

Works with any mailbox: Gmail, Outlook or IMAP. Send a draft that was saved earlier. The other half of the review-then-send pattern.

Inputs

Accountaccount_idtextRequired
Which linked mailbox to act as: Gmail, Outlook or IMAP. Mailboxes are linked in your Unipile dashboard, not here.
Draftdraft_idtextRequired
The draft's id, from 'List drafts'.

Outputs

idtext
Unipile's id for the sent email — use this one.
message_idtext
The RFC Message-ID header, for matching replies.
Example output
{
  "id": "em_8Yu",
  "subject": "Draft reply"
}

Send a message or reply

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. Reply in a conversation, or send another message into it. This is the reply action for chats: pick the chat with 'Find the chat with a person' or 'List inbox chats'. Counts against the account's provider limits: on WhatsApp, leave at least 10–20 seconds between sends.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Chatchat_idtextRequired
The conversation's id, from 'List chats'. Not a dropdown: an account can have tens of thousands of conversations, which is the wrong size for a picker.
MessagetexttextRequired
The message to send.
Replying toquote_idtext
The id of a message to quote, to send this as a threaded reply.
Attachmentsattachmentslist
Files to send, up to 15 MB each. Upload them here, or reference a document produced by an earlier step.

Outputs

chat_idtext
The chat it went to.
message_idtext
The id of the message that was sent.
Example output
{
  "chat_id": "chat_8vQ2",
  "message_id": "msg_1aZ"
}

Send or reply to an email

Send an email from a connected mailbox. Sending limits are the mailbox provider's: Gmail allows 500 a day and Workspace 2,000, but Unipile recommends staying at 50–100 (100–150 on Workspace) to avoid being flagged, starting lower on a new mailbox.

Inputs

Accountaccount_idtextRequired
Which linked mailbox to act as: Gmail, Outlook or IMAP. Mailboxes are linked in your Unipile dashboard, not here.
TotolistRequired
Recipient addresses.
Subjectsubjecttext
Subject line.
Bodybodytext
Plain-text body. Set this, the HTML body, or both.
HTML bodyhtmltext
HTML body. Set this, the plain-text body, or both.
Cccclist
Cc addresses.
Bccbcclist
Bcc addresses.
Reply-toreply_tolist
Addresses replies should go to.
Replying toreply_to_message_idtext
A message id to reply to, so the email threads correctly.
Fromsendertext
Which of the mailbox's addresses to send as. Use 'List sender addresses' to see the aliases available.
Attachmentsattachmentslist
Files to send, up to 15 MB each. Upload them here, or reference a document produced by an earlier step.
Track openstrack_openstrue/false
Ask Unipile to report when the email is opened. Needs an HTML body: the tracking pixel has nowhere to go in plain text.
Track clickstrack_clickstrue/false
Ask Unipile to report when a link is clicked. Needs an HTML body, since tracking works by rewriting the links in it.

Outputs

idtext
Unipile's id for the sent email — use this one.
message_idtext
The RFC Message-ID header, for matching replies.
Example output
{
  "id": "em_8Yu",
  "subject": "Re: Invoice 1042"
}

Set presence

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. Set the account's online presence. Like the typing indicator, this is part of behaving like a person rather than a script.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
PresencepresencetextRequired
How the account should appear to others.One of: online, restricted_online (Online (restricted)), away, offline.

Outputs

presencetext
The presence that was set.
Example output
{
  "presence": "online"
}

Set typing indicator

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. Show the 'typing…' or 'recording audio…' indicator in a conversation. Worth more than it looks: Unipile's guidance for staying under a provider's automation radar is to behave like a person, and a message that appears with no typing indicator before it does not. The indicator clears on its own: there is no 'stop' to send.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Chatchat_idtextRequired
The conversation's id, from 'List chats'. Not a dropdown: an account can have tens of thousands of conversations, which is the wrong size for a picker.
ActionindicatortextRequired
Which indicator to show. LinkedIn only takes 'typing'; 'recording' is for the providers that carry voice notes.One of: typing, recording (Recording audio).

Outputs

actiontext
The indicator state that was set.
chat_idtext
The chat that was updated.
Example output
{
  "action": "start",
  "chat_id": "chat_8vQ2"
}

Start a chat from an inbox

Start a conversation from a specific LinkedIn inbox and send the first message. This is the route LinkedIn uses for a new chat ('Start a chat' is not implemented there), and it is also how you send from Sales Navigator or Recruiter rather than from Classic. A new chat is only possible with an existing connection unless it goes as an InMail, which spends one of the account's InMail credits. Counts against the account's provider limits: Unipile's guidance is roughly 100 of these per day per LinkedIn account, spaced out rather than chained. Exceeding it risks a warning on the account.

Inputs

Accountaccount_idtextRequired
Which linked LinkedIn account to act as. Every limit below applies to this real LinkedIn account, not to an API quota.
Inboxinbox_idtextRequired
Which LinkedIn inbox. Classic Primary is the ordinary one; Sales Navigator and Recruiter inboxes appear only with those subscriptions.
Recipientsuser_idslistRequired
Who to message. Give a provider id, a handle, or paste a profile URL. One person starts a 1:1; several start a group. On LinkedIn you can only start a chat with an existing connection unless you send it as an InMail.
MessagetexttextRequired
The first message to send.
Attachmentsattachmentslist
Files to send, up to 15 MB each. Upload them here, or reference a document produced by an earlier step.

Outputs

chat_idtext
The chat it went to.
message_idtext
The id of the message that was sent.
Example output
{
  "chat_id": "chat_8vQ2",
  "message_id": "msg_1aZ"
}

Trash an email

Works with any mailbox: Gmail, Outlook or IMAP. Move an email to the trash folder.

Inputs

Accountaccount_idtextRequired
Which linked mailbox to act as: Gmail, Outlook or IMAP. Mailboxes are linked in your Unipile dashboard, not here.
Emailemail_idtextRequired
The email's id, from 'List emails'.

Outputs

idtext
The email that was trashed.
trashedtrue/false
True when it was trashed.
Example output
{
  "id": "em_4Rt",
  "trashed": true
}

Unfollow a person

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. Stop following someone.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Personperson_idtextRequired
Who to act on. Accepts a provider id, a handle, or a pasted profile URL: all three work, so there is no lookup step.

Outputs

followingtrue/false
True after a follow, false after an unfollow.
user_idtext
Who was followed.
Example output
{
  "following": false,
  "user_id": "ACoAAAcDMMQ"
}

Update a calendar

Rename or re-describe a calendar. Only the fields you set are changed.

Inputs

Accountaccount_idtextRequired
Which linked calendar to act as: a Google or Microsoft account. IMAP mailboxes are not offered here: IMAP carries mail only and has no calendar. Accounts are linked in your Unipile dashboard, not here.
Calendarcalendar_idtextRequired
Which calendar. Pick it from the list, or paste an id.
Namenametext
New name.
Descriptiondescriptiontext
New description.
Timezonetimezonetext
New IANA timezone.

Outputs

descriptiontext
Calendar description.
idtext
The calendar id.
is_defaulttrue/false
Whether this is the account's default calendar.
is_owned_by_usertrue/false
Whether the account owns it, rather than subscribing.
is_read_onlytrue/false
True when events cannot be written here.
nametext
Calendar name.
timezonetext
The calendar's IANA timezone.
Example output
{
  "id": "cal_2Lm",
  "name": "Interviews 2026"
}

Update a calendar event

Google and Microsoft calendars only. Change an existing event. Only the fields you set are changed.

Inputs

Accountaccount_idtextRequired
Which linked calendar to act as: a Google or Microsoft account. IMAP mailboxes are not offered here: IMAP carries mail only and has no calendar. Accounts are linked in your Unipile dashboard, not here.
Calendarcalendar_idtextRequired
Which calendar. Pick it from the list, or paste an id.
Eventevent_idtextRequired
The event's id, from 'List calendar events'.
Titletitletext
New title.
Startstartdate and time
New start time.
Endenddate and time
New end time.
Descriptionbodytext
New description.
Locationlocationtext
New location.
Guestsattendeeslist
The full guest list after the change: this replaces the existing one.
Timezonetimezonetext
IANA timezone for the times above.
Notify guestsnotifytext
Who gets told about the change.One of: all (Notify everyone), externalOnly (Notify external guests only), none (Notify no one).

Outputs

attendeeslist
Invitees and their responses.
bodytext
Event description.
endtext
End, ISO 8601.
idtext
The event id.
is_cancelledtrue/false
Whether it has been cancelled.
locationtext
Where it takes place.
starttext
Start, ISO 8601.
titletext
Event title.
Example output
{
  "id": "ev_5Tg",
  "title": "Design review (moved)"
}

Update a chat

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. Rename, pin, archive, mute, label or mark a conversation read. Only the fields you set are changed. Treat archiving as one-way: un-archiving sets the chat's own flag back, but the conversation can keep being listed under the archived inbox rather than Classic Primary, so anything downstream should find it by person rather than by listing an inbox.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
Chatchat_idtextRequired
The conversation's id, from 'List chats'. Not a dropdown: an account can have tens of thousands of conversations, which is the wrong size for a picker.
Namenametext
Rename the conversation. Groups only.
Labellabeltext
Set the conversation's label, where the provider supports one.
Mark readread_statustrue/false
True marks the conversation read, false marks it unread.
Pinnedpin_statustrue/false
True pins the conversation, false unpins it.
Archivedarchive_statustrue/false
True archives the conversation, false restores it.
Muted untilmuted_untildate and time
Mute notifications until this moment.

Outputs

idtext
The chat id, used by every message action.
is_1to1true/false
True for a direct conversation.
is_archivedtrue/false
Whether the owner archived it.
is_grouptrue/false
True for a group conversation.
last_message_timestamptext
When the most recent message landed.
nametext
Group name, or the other person's name in a 1:1.
participants_countnumber
How many people are in it.
providertext
Which network the chat is on.
typetext
The chat's kind, as the provider classifies it.
unread_countnumber
Unread messages in this chat.
Example output
{
  "id": "chat_8vQ2",
  "is_archived": true
}

Update a draft

Works with any mailbox: Gmail, Outlook or IMAP. Edit a saved draft.

Inputs

Accountaccount_idtextRequired
Which linked mailbox to act as: Gmail, Outlook or IMAP. Mailboxes are linked in your Unipile dashboard, not here.
Draftdraft_idtextRequired
The draft's id, from 'List drafts'.
Totolist
Recipient addresses.
Subjectsubjecttext
Subject line.
Bodybodytext
Plain-text body.
HTML bodyhtmltext
HTML body.
Cccclist
Cc addresses.
Bccbcclist
Bcc addresses.
Attachmentsattachmentslist
Files to send, up to 15 MB each. Upload them here, or reference a document produced by an earlier step.

Outputs

bodytext
The draft body.
idtext
The draft id.
subjecttext
Subject line.
tolist
To recipients.
Example output
{
  "id": "dr_6Vb",
  "subject": "Draft reply (v2)"
}

Update your profile

Works with any messaging account: LinkedIn, WhatsApp, Instagram or Telegram. Edit the linked account's own profile. Only the fields you set are changed, but on LinkedIn only 'Bio' and 'Location' can be: it refuses first name, last name and headline, and the refusal is all-or-nothing, so setting one of those leaves everything unchanged rather than applying the rest.

Inputs

Accountaccount_idtextRequired
Which linked messaging account to act as: LinkedIn, WhatsApp, Instagram or Telegram. Accounts are linked in your Unipile dashboard, not here.
First namefirst_nametext
New given name.
Last namelast_nametext
New family name.
Headlinedescriptiontext
New headline: the one-line summary under your name.
Aboutbiotext
New longer profile text.
Locationlocationtext
New location.

Outputs

person_idtext
Whose profile changed.
updatedtrue/false
True when the change was applied.
Example output
{
  "description": "Building things at Lodol",
  "id": "ACoAAAcDMMQ"
}

On this page

ActionsCancel a calendar eventComment on a postCreate a calendarCreate a calendar eventCreate a draftCreate a mail folderDelete a calendarDelete a calendar eventDelete a commentDelete a draftDelete a mail folderDelete a messageDelete a postDownload an email attachmentEdit a commentEdit a messageEdit a postEndorse a skillFind the chat with a personFollow a personForward a messageGet a calendarGet a calendar eventGet a chatGet a draftGet a linked accountGet a mail folderGet a messageGet a postGet a profileGet an emailGet an email threadList a person's commentsList a person's postsList a person's reactionsList calendar eventsList calendarsList chat messagesList comment reactionsList comment repliesList connectionsList draftsList emailsList emails in a folderList followersList inbox chatsList linked accountsList LinkedIn inboxesList mail foldersList message reactionsList pending invitationsList post commentsList post reactionsList sender addressesList who someone followsLook up search parameter idsMark a message readMark an email readMark an email unreadMove an emailPublish a postReact to a commentReact to a messageReact to a postRemove a comment reactionRemove a message reactionRemove a post reactionRename a mail folderReply to a commentReport a profile visitRestore a cancelled eventSearch LinkedIn companiesSearch LinkedIn from a URLSearch LinkedIn jobsSearch LinkedIn peopleSearch LinkedIn postsSend a connection requestSend a draftSend a message or replySend or reply to an emailSet presenceSet typing indicatorStart a chat from an inboxTrash an emailUnfollow a personUpdate a calendarUpdate a calendar eventUpdate a chatUpdate a draftUpdate your profile