All integrations
Unipile logo

Unipile

MessagingSocial MediaEmailCalendars

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.

90 actions

Actions

Steps your workflow can run in Unipile.

List linked accountsList 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.
Get a linked accountRetrieve 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.
Get a chatRetrieve one conversation, including its participants and unread count.
Send a message or replyReply 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.
Update a chatRename, 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.
Set typing indicatorShow 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.
List chat messagesList the messages in a conversation, newest first. Served from Unipile rather than the provider, so this is cheap to call.
Get a messageRetrieve one message, including its attachments' ids.
Edit a messageEdit a message you sent. Providers put a short window on this (WhatsApp around 15 minutes, LinkedIn Classic 60), after which the edit is refused.
Delete a messageDelete a message you sent. Supported on WhatsApp and LinkedIn only, and on LinkedIn only within 60 minutes of sending.
Forward a messageForward a message into another conversation.
Mark a message readMark one message as read, as if the account owner had opened it.
List message reactionsList who reacted to a message, and with what.
React to a messageReact to a message with an emoji. Supported on WhatsApp, LinkedIn, Telegram and Instagram.
Remove a message reactionRemove your reaction from a message.
Get a profileRetrieve 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.
Update your profileEdit 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.
Find the chat with a personFind 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.
List a person's postsList 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.
List a person's commentsList 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.
List a person's reactionsList 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.
List connectionsList 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.
List followersList 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.
List who someone followsList 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.
Follow a personFollow 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.
Unfollow a personStop following someone.
List pending invitationsList 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.
Send a connection requestSend 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.
Report a profile visitLet 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.
Publish a postPublish a post to LinkedIn or Instagram. 'Post as' publishes from a company page you administer rather than your own profile.
Get a postRetrieve 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.
Edit a postEdit a post you published.
Delete a postDelete a post you published. This cannot be undone.
List post commentsList 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.
Comment on a postAdd 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.
Reply to a commentReply 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.
Edit a commentEdit a comment you wrote.
Delete a commentDelete a comment you wrote. This cannot be undone.
List comment repliesList 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.
List post reactionsList 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.
React to a postReact 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.
Remove a post reactionRemove your reaction from a post.
List comment reactionsList 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.
React to a commentReact 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.
Remove a comment reactionRemove your reaction from a comment.
List emailsList 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.
Get an emailRetrieve one email, with its body and attachment ids.
Send or reply to an emailSend 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.
Trash an emailMove an email to the trash folder.
Move an emailMove an email by setting which folders it belongs to. Replaces the current set rather than adding to it.
Mark an email readMark an email as read.
Mark an email unreadMark an email as unread.
Download an email attachmentDownload a file attached to an email. Comes back base64-encoded so it can feed another step's file input.
Get an email threadRetrieve a whole conversation: an email and all its replies.
List sender addressesList 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.
List draftsList saved drafts in a mailbox.
Get a draftRetrieve one saved draft.
Create a draftSave 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.
Update a draftEdit a saved draft.
Delete a draftDelete a saved draft.
Send a draftSend a draft that was saved earlier. The other half of the review-then-send pattern.
List mail foldersList the mailbox's folders with their total and unread counts.
Get a mail folderRetrieve one folder and its counts.
Create a mail folderCreate a folder in the mailbox.
Rename a mail folderRename a folder.
Delete a mail folderDelete a folder. The emails inside it are not deleted; they stay in the mailbox.
List emails in a folderList the emails inside one folder.
List calendarsList the calendars on a connected Google or Microsoft account.
Get a calendarRetrieve one calendar.
Create a calendarCreate a new calendar on the account.
Update a calendarRename or re-describe a calendar. Only the fields you set are changed.
Delete a calendarDelete a calendar and every event in it. This cannot be undone.
List calendar eventsList events in a calendar within a time window.
Get a calendar eventRetrieve one event, including its attendees and their responses.
Create a calendar eventCreate an event, optionally inviting people and adding a video-conference link.
Update a calendar eventChange an existing event. Only the fields you set are changed.
Delete a calendar eventDelete an event outright. Use 'Cancel a calendar event' instead if the guests should be told and the event should stay visible as cancelled.
Cancel a calendar eventCancel an event, keeping it on the calendar as cancelled and telling the guests.
Restore a cancelled eventUn-cancel an event that was cancelled rather than deleted.
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. LinkedIn has no flat chat list, so this is the entry point to its conversations.
List inbox chatsList 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.
Start a chat from an inboxStart 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.
Search LinkedIn from a URLRun 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.
Search LinkedIn peopleSearch 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.
Search LinkedIn companiesSearch 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.
Search LinkedIn jobsSearch 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.
Search LinkedIn postsSearch 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.
Look up search parameter idsTurn 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.
Endorse a skillEndorse 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.
Set presenceSet the account's online presence. Like the typing indicator, this is part of behaving like a person rather than a script.

Connect in a few clicks

Authenticate once and every action and trigger for the app is ready to drop into a workflow. No glue code, no maintenance.

Automate across your stack

Chain apps together with triggers, actions, and logic that move data between your tools automatically, so work happens without you.

Secure by default

Credentials are encrypted and scoped per workspace. Connect the tools your team already trusts with confidence.

Automate Unipile with Lodol.

Connect Unipile and build your first workflow in minutes. No credit card required.

Free plan available · No credit card required