The Unipile connector lets your AI agent act in each user's Unipile account. Each user connects their own Unipile API key once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 68 tools.
- Tools
- 68
- What they doRead · write · destructive
- 47 · 16 · 547 read16 write5 destructive
- Users sign in with
- API key
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Unipile connection
In AgentKit > Connections, create an Unipile connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'unipile'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Unipile:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'unipile_list_accounts',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "unipile"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Unipile:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="unipile_list_accounts",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user opens the link once and enters their Unipile credentials there. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolunipile_get_accountRetrieve one connected account by id.Read-onlyGet Account
Retrieve one connected account by id. Returns the account type, name, connection parameters and current sync status. Use to check the health of a single account. Use List Accounts to browse all accounts.
Inputs
idstringrequired- The id of the account to retrieve. Example: mZ9tTq1xRkWJb3dLq8aXyA
unipile_get_attendeeRetrieve one messaging attendee by id.Read-onlyGet Attendee
Retrieve one messaging attendee by id. Returns the attendee name, provider id, picture and profile url, plus provider-specific details. Use when you already have an attendee_id. Use List Attendees to search.
Inputs
idstringrequired- The id of the wanted attendee. Example: mZ9tTq1xRkWJb3dLq8aXyA
account_idstring- A filter to target items related to a certain account. Example: mZ9tTq1xRkWJb3dLq8aXyA
unipile_get_calendarRetrieve one calendar.Read-onlyGet Calendar
Retrieve one calendar. Returns the calendar name, description, access role, colors and sync state. Use when you already have a calendar_id.
Inputs
account_idstringrequired- The id of the account to use. Example: mZ9tTq1xRkWJb3dLq8aXyA
calendar_idstringrequired- The id of the wanted calendar. Example: primary
unipile_get_calendar_eventRetrieve one calendar event.Read-onlyGet Calendar Event
Retrieve one calendar event. Returns title, body, location, times, attendees and cancellation state. Use when you already have an event_id.
Inputs
account_idstringrequired- The id of the account to use. Example: mZ9tTq1xRkWJb3dLq8aXyA
calendar_idstringrequired- The id of calendar of the wanted event. Example: primary
event_idstringrequired- The id of the wanted event. Example: 0e6b0a2f3c4d5e6f7a8b9c0d
unipile_get_chatRetrieve the details of one chat.Read-onlyGet Chat
Retrieve the details of one chat. Returns the chat id, account, provider, name, type, unread count, archive and mute state. Use when you already have a chat_id. Use List Chats to find chats.
Inputs
chat_idstringrequired- The Unipile or provider ID of the chat. Example: 9f9uuKzhVHGUNo9PzbgUtQ
account_idstring- Mandatory if the chat ID is a provider ID. Example: mZ9tTq1xRkWJb3dLq8aXyA
unipile_get_emailRetrieve one email with its full content.Read-onlyGet Email
Retrieve one email with its full content. Returns subject, sender, recipients, body, folders, attachments and read state. Use when you already have an email_id. Use List Emails to find emails.
Inputs
email_idstringrequired- The id of the email to be retrieved. Either the Unipile id or the provider uid. Example: Q2xhdWRlRW1haWwx
account_idstring- The id of the account related to the email. Required when using the provider uid. Example: mZ9tTq1xRkWJb3dLq8aXyA
include_headersboolean- Include the email headers in the response. Example: true
unipile_get_email_folderRetrieve one email folder.Read-onlyGet Email Folder
Retrieve one email folder. Returns the folder details. Use when you already have a folder_id.
Inputs
folder_idstringrequired- The id of the wanted folder. Either the Unipile id or the provider uid. Example: INBOX
account_idstring- The id of the account related to the folder. Required when using the provider uid. Example: mZ9tTq1xRkWJb3dLq8aXyA
unipile_get_hiring_projectRetrieve one LinkedIn Recruiter hiring project.Read-onlyGet Hiring Project
Retrieve one LinkedIn Recruiter hiring project. Returns project name, owner, creation date and linked job posting. Use when you already have a project id.
Inputs
account_idstringrequired- The ID of the account to trigger the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
idstringrequired- The ID of the hiring project. Example: mZ9tTq1xRkWJb3dLq8aXyA
unipile_get_inmail_balanceGet the InMail credit balance of the LinkedIn account.Read-onlyGet InMail Balance
Get the InMail credit balance of the LinkedIn account. Returns the remaining credits for Premium, Recruiter and Sales Navigator. Use before planning InMail outreach.
Inputs
account_idstringrequired- The ID of the account to trigger the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
unipile_get_job_applicantRetrieve one applicant of a LinkedIn job posting (Classic job postings only).Read-onlyGet Job Applicant
Retrieve one applicant of a LinkedIn job posting (Classic job postings only). Returns name, headline, location, contact details, rating and hiring state. Use with an applicant_id from List Job Applicants.
Inputs
account_idstringrequired- The ID of the account to trigger the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
applicant_idstringrequired- The ID of the applicant. Example: 9f9uuKzhVHGUNo9PzbgUtQ
unipile_get_job_postingRetrieve one LinkedIn job posting by id.Read-onlyGet Job Posting
Retrieve one LinkedIn job posting by id. Returns state, title, description, company, location, applicant and view counters. Use when you already have a job_id.
Inputs
account_idstringrequired- The ID of the account to trigger the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
job_idstringrequired- The ID of the job offer. Example: 9f9uuKzhVHGUNo9PzbgUtQ
servicestringrequired- The Linkedin service the job posting depends on. Example: CLASSICone of
CLASSICRECRUITER
unipile_get_linkedin_companyRetrieve a LinkedIn company profile by name or id.Read-onlyGet LinkedIn Company
Retrieve a LinkedIn company profile by name or id. Returns company name, description, follower count, website details and messaging availability. Use to enrich a company. Use Search LinkedIn Companies to discover companies.
Inputs
account_idstringrequired- The ID of the account to trigger the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
identifierstringrequired- The identifier of the company: either the public identifier, the ID or the URN. Example: john-doe-12345
unipile_get_linkedin_search_parametersLook up the LinkedIn ids (locations, industries, companies, schools and more) that search filters require.Read-onlyGet LinkedIn Search Parameters
Look up the LinkedIn ids (locations, industries, companies, schools and more) that search filters require. Returns matching parameter ids with titles. Use before any Search LinkedIn tool, because LinkedIn filters accept ids rather than raw text.
Inputs
account_idstringrequired- The ID of the account to trigger the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
typestringrequired- The type of parameter for the requested search. Example: exampleone of
LOCATIONREGIONPEOPLECONNECTIONSCOMPANYSCHOOLINDUSTRYSERVICEJOB_FUNCTIONJOB_TITLEEMPLOYMENT_TYPESKILLLANGUAGEPOST_JOB_FUNCTIONSENIORITYGROUPSSALES_INDUSTRYDEPARTMENTPERSONAACCOUNT_LISTSLEAD_LISTSTECHNOLOGIESSAVED_ACCOUNTSSAVED_SEARCHESRECENT_SEARCHESPOSTAL_CODEHIRING_PROJECTSSAVED_FILTERSDEGREE keywordsstring- The keywords to start the search from. Not applicable to the following parameters : EMPLOYMENT_TYPE. Example: product manager
limitinteger- A limit for the number of items returned in the response. The value can be set between 1 and 100. Example: 25
servicestring- Select the LinkedIn API to be used to query common parameters. Default is CLASSIC. Example: CLASSICone of
CLASSICRECRUITERSALES_NAVIGATOR
unipile_get_messageRetrieve one message by id.Read-onlyGet Message
Retrieve one message by id. Returns the message text, sender, chat, timestamp and attachment metadata. Use when you already have a message_id. Use List Chat Messages to browse.
Inputs
message_idstringrequired- The id of the message to retrieve. Example: kLm2Pq8RTu6VwXyZ1aBcDe
unipile_get_own_profileRetrieve the profile of the owner of a connected account.Read-onlyGet Own Profile
Retrieve the profile of the owner of a connected account. Returns the owner name, identifiers and provider-specific profile fields. Use to confirm which person an account belongs to. Use Get User Profile for other people.
Inputs
account_idstringrequired- The ID of the account to trigger the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
unipile_get_postRetrieve one post by id.Read-onlyGet Post
Retrieve one post by id. Returns the post text, author, counters and date. Use when you already have a post_id. Use List User Posts to find posts.
Inputs
account_idstringrequired- The id of the account to perform the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
post_idstringrequired- The id of the post. <br> `Linkedin`: if the URL contains **activity**, use the numeric id (example: ...-activity-7332661864792854528-... => `7332661864792854528`). <br> If the URL contains **ugcPost**, use `urn:li:ugcPost:ID`. <br> If the URL contains **share**, use `urn:li:share:ID`. <br> `Instagram`: You can use the **provider_id** or the **shortcode** found in the post URL. (***www.instagram.com/reel/SHORTCODE***). Example: 7123456789012345678
unipile_get_user_profileRetrieve the profile of a user (for example a LinkedIn member) by identifier.Read-onlyGet User Profile
Retrieve the profile of a user (for example a LinkedIn member) by identifier. Returns name, headline, location, work history and relationship details depending on the provider. Use to enrich a contact. Use Search LinkedIn People to find candidates first.
Inputs
account_idstringrequired- The id of the account to perform the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
identifierstringrequired- Can be the provider’s internal id OR the provider’s public id of the requested user. LinkedIn public_id are only supported for Classic profiles. When using linkedin_api=recruiter or linkedin_api=sales_navigator, you must provide the corresponding internal LinkedIn identifier. Example: john-doe-12345
linkedin_apistring- The LinkedIn API that should be used to get the profile (relative features must be subscribed), if different from classic. Example: recruiterone of
recruitersales_navigator linkedin_sectionsarray- A list of profile sections to retrieve detailed information on a LinkedIn profile. LinkedIn may throttle heavy use of full data section requests, so pick only the sections you truly need. Select *_preview to fetch all sections with preview data (first entries as displayed in the LinkedIn profile UI), or * to fetch all sections with full data (not recommended if you’re chaining a lot of profile calls in a short period). You can also combine selectors, for example, `["*_preview", "experience", "skills"]` to get all sections in preview plus experience and skills in full. In the response, you may receive empty sections if LinkedIn is throttling your requests. In such case, the `throttled_sections` field lists the concerned sections. To prevent this, you should add random delay between your calls, and/or not request as many sections as you use to. Example: ["example"]
notifyboolean- Whether the profile visit should be notified to the viewee or not. Default is false. Example: true
unipile_list_accountsList the messaging, email and calendar accounts connected to the Unipile workspace.Read-onlyList Accounts
List the messaging, email and calendar accounts connected to the Unipile workspace. Returns account id, type, name, connection status and a status count summary, with a cursor for the next page. Use first to find the account_id that almost every other Unipile tool requires. Use Get Account for one account.
Inputs
cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
limitinteger- A limit for the number of items returned in the response. The value can be set between 1 and 250. Example: 100
unipile_list_attendee_chatsList the 1:1 chats in which a given attendee is involved.Read-onlyList Attendee Chats
List the 1:1 chats in which a given attendee is involved. Returns chat id, account, provider and name, with a cursor for the next page. Use to find the conversation with a specific contact.
Inputs
attendee_idstringrequired- The Unipile ID OR provider_id of the attendee. Can be a comma-separated list of multiple ids. Example: 9r1V5QnDTqW2nXk7bAc3Yg
account_idstring- An Unipile account id or a list of Unipile account ids separated by commas. Example: mZ9tTq1xRkWJb3dLq8aXyA
afterstring- A filter to target items created after the datetime (exclusive). Must be an ISO 8601 UTC datetime (YYYY-MM-DDTHH:MM:SS.sssZ). Example: 2025-12-31T23:59:59.999Z
beforestring- A filter to target items created before the datetime (exclusive). Must be an ISO 8601 UTC datetime (YYYY-MM-DDTHH:MM:SS.sssZ). Example: 2025-12-31T23:59:59.999Z
cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
limitinteger- A limit for the number of items returned in the response. The value can be set between 1 and 250. Example: 100
unipile_list_attendee_messagesList the messages sent by a given attendee.Read-onlyList Attendee Messages
List the messages sent by a given attendee. Returns message id, text, attachments and timestamp, with a cursor for the next page. Use to review everything one contact has written. Use List Chat Messages for a single chat.
Inputs
sender_idstringrequired- The Unipile ID OR provider_id of the attendee. Example: 9r1V5QnDTqW2nXk7bAc3Yg
account_idstring- An Unipile account id or a list of Unipile account ids separated by commas. Example: mZ9tTq1xRkWJb3dLq8aXyA
afterstring- A filter to target items created after the datetime (exclusive). Must be an ISO 8601 UTC datetime (YYYY-MM-DDTHH:MM:SS.sssZ). Example: 2025-12-31T23:59:59.999Z
beforestring- A filter to target items created before the datetime (exclusive). Must be an ISO 8601 UTC datetime (YYYY-MM-DDTHH:MM:SS.sssZ). Example: 2025-12-31T23:59:59.999Z
cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
limitinteger- A limit for the number of items returned in the response. The value can be set between 1 and 250. Example: 100
unipile_list_attendeesList messaging attendees (contacts) across chats for the connected accounts.Read-onlyList Attendees
List messaging attendees (contacts) across chats for the connected accounts. Returns attendee id, provider id, name and profile details, with a cursor for the next page. Use to find a contact across all chats. Use List Chat Attendees for one chat.
Inputs
account_idstring- A filter to target attendees related to a certain linked account. The id of the account targeted. Example: mZ9tTq1xRkWJb3dLq8aXyA
cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
limitinteger- A limit for the number of items returned in the response. The value can be set between 1 and 250. Example: 100
unipile_list_calendar_eventsList the events of a calendar, optionally within a time range.Read-onlyList Calendar Events
List the events of a calendar, optionally within a time range. Returns event id, title, times, attendees and location, with a cursor. Use to see what is scheduled. Use Get Calendar Event for one event.
Inputs
account_idstringrequired- The id of the account to use. Example: mZ9tTq1xRkWJb3dLq8aXyA
calendar_idstringrequired- The id of the calendar related to events. Example: primary
attendeesstring- Filter events with attendees contained in this list. This parameter accepts a comma-delimited list of email addresses. Example: example
busyboolean- Filter for events with the status `busy` Example: true
cursorstring- A cursor used for pagination. If supported by the provider, use `next_cursor` given by the previous page of the list, else use `offset`. Example: eyJwYWdlIjoyfQ
descriptionstring- Filter for events matching the specified description. Example: We are hiring a product manager.
endstring- Filter events ending before this date. Preferred format: RFC3339 datetime (`2026-02-27T17:07:49Z`). Example: 2025-12-31T23:59:59.999Z
event_typestring- Filter events by event type. This parameter accepts a comma-delimited list of event type. Example: example
expand_recurringboolean- Filter events by type (single or occurence). Example: true
ical_uidstring- Filter for events matching the specified iCal UID. Example: example
is_cancelledboolean- Indicates if you want to retrieve the cancelled events. Example: true
limitnumber- The limit of items to be returned. Example: 25
locationstring- Filter for events matching the specified location. Example: Paris
offsetnumber- An offset used for pagination, if supported by the provider, else use `cursor`. Example: 10
startstring- Filter events starting after this date. Preferred format: RFC3339 datetime (`2026-02-27T17:07:49Z`). Example: 2025-01-01T00:00:00.000Z
titlestring- Filter for events matching the specified title. Example: Product sync
updated_afterstring- Filter events updated after this date. Preferred format: RFC3339 datetime (`2026-02-27T17:07:49Z`). Example: 2025-01-01T00:00:00.000Z
updated_beforestring- Filter events updated before this date. Preferred format: RFC3339 datetime (`2026-02-27T17:07:49Z`). Example: 2025-01-01T00:00:00.000Z
unipile_list_calendarsList the calendars of a connected account.Read-onlyList Calendars
List the calendars of a connected account. Returns calendar id, name, access role and primary flag, with a cursor. Use first to find the calendar_id needed by the event tools.
Inputs
account_idstringrequired- The id of the account to use. Example: mZ9tTq1xRkWJb3dLq8aXyA
cursorstring- A cursor used for pagination. If supported by the provider, use `next_cursor` given by the previous page of the list, else use `offset`. Example: eyJwYWdlIjoyfQ
limitnumber- The limit of items to be returned. Example: 25
offsetnumber- An offset used for pagination, if supported by the provider, else use `cursor`. Example: 10
unipile_list_chat_attendeesList the participants of one chat.Read-onlyList Chat Attendees
List the participants of one chat. Returns attendee id, provider id, name and whether the attendee is the account owner. Use to see who is in a chat. Use List Attendees for contacts across all chats.
Inputs
chat_idstringrequired- The id of the chat related to requested attendees. Example: 9f9uuKzhVHGUNo9PzbgUtQ
unipile_list_chat_messagesList the messages of one chat, optionally filtered by date or sender.Read-onlyList Chat Messages
List the messages of one chat, optionally filtered by date or sender. Returns message id, sender, text, attachments and timestamp, with a cursor for the next page. Use to read a conversation. Use List Messages for messages across all chats.
Inputs
chat_idstringrequired- The id of the chat related to requested messages. Example: 9f9uuKzhVHGUNo9PzbgUtQ
afterstring- A filter to target items created after the datetime (exclusive). Must be an ISO 8601 UTC datetime (YYYY-MM-DDTHH:MM:SS.sssZ). Example: 2025-12-31T23:59:59.999Z
beforestring- A filter to target items created before the datetime (exclusive). Must be an ISO 8601 UTC datetime (YYYY-MM-DDTHH:MM:SS.sssZ). Example: 2025-12-31T23:59:59.999Z
cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
limitinteger- A limit for the number of items returned in the response. The value can be set between 1 and 250. Example: 100
sender_idstring- A filter to target messages received from a certain sender. The id of the sender targeted. Example: 9r1V5QnDTqW2nXk7bAc3Yg
unipile_list_chatsList chats (conversations) across connected messaging accounts, optionally filtered by account, provider, read status or date.Read-onlyList Chats
List chats (conversations) across connected messaging accounts, optionally filtered by account, provider, read status or date. Returns chat id, account id, provider, name, unread count and last activity, with a cursor for the next page. Use to browse conversations. Use List Chat Messages to read one chat and List Messages for messages across chats.
Inputs
account_idstring- An Unipile account id or a list of Unipile account ids separated by commas. Example: mZ9tTq1xRkWJb3dLq8aXyA
account_typestring- A filter to target items related to a certain provider. Example: WHATSAPPone of
WHATSAPPLINKEDINSLACKTWITTERMESSENGERINSTAGRAMTELEGRAM afterstring- A filter to target items created after the datetime (exclusive). Must be an ISO 8601 UTC datetime (YYYY-MM-DDTHH:MM:SS.sssZ). Example: 2025-12-31T23:59:59.999Z
beforestring- A filter to target items created before the datetime (exclusive). Must be an ISO 8601 UTC datetime (YYYY-MM-DDTHH:MM:SS.sssZ). Example: 2025-12-31T23:59:59.999Z
cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
limitinteger- A limit for the number of items returned in the response. The value can be set between 1 and 250. Example: 100
unreadboolean- Whether you want to get either unread chats only, or read chats only. Example: true
unipile_list_email_contactsList the contacts of a Gmail or Microsoft Outlook account.Read-onlyList Email Contacts
List the contacts of a Gmail or Microsoft Outlook account. Returns contact names, email addresses and source, with a cursor for the next page. Use to look up a person in the mailbox owner's address book.
Inputs
account_idstringrequired- A filter to target items related to a certain account. Example: mZ9tTq1xRkWJb3dLq8aXyA
cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
limitinteger- A limit for the number of items returned in the response. The value can be set between 1 and 250. Example: 100
unipile_list_email_foldersList the folders of a connected email account.Read-onlyList Email Folders
List the folders of a connected email account. Returns folder id, name and role. Use to find the folder ids used by List Emails and Update Email.
Inputs
account_idstring- A filter to target items related to a certain account. Example: mZ9tTq1xRkWJb3dLq8aXyA
unipile_list_emailsList emails of a connected email account, optionally filtered by folder, sender, recipient or date.Read-onlyList Emails
List emails of a connected email account, optionally filtered by folder, sender, recipient or date. Returns email id, subject, sender, recipients, date and read state, with a cursor for the next page. Use to browse a mailbox. Use Get Email to read the full message.
Inputs
account_idstringrequired- A filter to target items related to a certain account. Example: mZ9tTq1xRkWJb3dLq8aXyA
afterstring- A filter to target items created after the datetime (exclusive). Must be an ISO 8601 UTC datetime (YYYY-MM-DDTHH:MM:SS.sssZ). Example: 2025-12-31T23:59:59.999Z
any_emailstring- A filter to target items sent to or received from a comma-separated list of email addresses. Example: jane@example.com
beforestring- A filter to target items created before the datetime (exclusive). Must be an ISO 8601 UTC datetime (YYYY-MM-DDTHH:MM:SS.sssZ). Example: 2025-12-31T23:59:59.999Z
cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
exclude_foldersstring- A filter to exclude items from a comma-separated list of folder provider_id ( ignored if folder parameter is used ). Example: example
folderstring- A filter to target items related to a certain folder provider_id. Example: example
fromstring- A filter to target items related to a certain sender. Example: example
include_headersboolean- Include the email headers in the response. `meta_only` must be false. Example: true
limitinteger- A limit for the number of items returned in the response. The value can be set between 1 and 250. Example: 100
message_idstring- A filter to target items by message_id. Example: kLm2Pq8RTu6VwXyZ1aBcDe
meta_onlyboolean- Speed up the response by only returning the email metadata, excluding the body and attachments metadata. Example: true
searchstring- Free-text search applied to subject and body at the same time. Microsoft: requests combining search with from, to, any_email, before, after, thread_id, message_id or exclude_folders are rejected with invalid_request. IMAP: can be slow, only available within one folder, specified with folder or role, before and after are evaluated at day granularity, support depends on the IMAP server. IMAP requests combining search with any_email, exclude_folders, thread_id, multiple from values or multiple to values are rejected with invalid_request. Example: example
thread_idstring- A filter to target items by thread identifier. Example: 9f9uuKzhVHGUNo9PzbgUtQ
tostring- A filter to target items related to a certain recipient, either in the to, cc or bcc field. Example: example
unipile_list_followersList the followers of the account owner.Read-onlyList Followers
List the followers of the account owner. Returns each follower name, headline and profile url, with a cursor for the next page. Use to review who follows the account. Use List Following for the opposite direction.
Inputs
account_idstringrequired- The account to get the followers from. (if user_id is not provided). Example: mZ9tTq1xRkWJb3dLq8aXyA
cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
limitinteger- A limit for the number of items returned in the response. The value can be set between 1 and 250. Example: 100
user_idstring- `Instagram` The user to get the followers from (provider_id or username).<br/>`Linkedin` The user or company to get the followers from (provider_id only). Example: ACoAAAcDMMQBODyLwZrRcgYhrkCafURGqva0U4E
unipile_list_followingList the accounts followed by the account owner.Read-onlyList Following
List the accounts followed by the account owner. Returns each followed account name, headline and profile url, with a cursor for the next page. Use to review who the account follows. Use List Followers for the opposite direction.
Inputs
account_idstringrequired- The account to get the followed accounts from. (if user_id is not provided). Example: mZ9tTq1xRkWJb3dLq8aXyA
user_idstringrequired- `Instagram only` The user to get the followed accounts from (provider_id or username). Example: ACoAAAcDMMQBODyLwZrRcgYhrkCafURGqva0U4E
cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
limitinteger- A limit for the number of items returned in the response. The value can be set between 1 and 1000. Example: 100
unipile_list_hiring_projectsList LinkedIn Recruiter hiring projects.Read-onlyList Hiring Projects
List LinkedIn Recruiter hiring projects. Returns project id, name, owner and archive state, with a cursor and total count. Use to find the hiring_project_id for pipeline tools.
Inputs
account_idstringrequired- The ID of the account to trigger the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
limitinteger- A limit for the number of items returned in the response. The value can be set between 1 and 100. Example: 25
sort_bystring- The sorting method for the hiring projects. Default is ACCESSED_TIME. Example: NAMEone of
NAMEFAVORITECREATED_TIMEACCESSED_TIMEENGAGED_TIMEENGAGEMENT_COUNT sort_orderstring- The sorting order for the hiring projects. Default is DESCENDING. Example: ASCENDINGone of
ASCENDINGDESCENDING statearray- The states of the hiring projects to retrieve. Default is ACTIVE. Example: ["example"]
unipile_list_invitations_receivedList connection invitations the account owner has received.Read-onlyList Received Invitations
List connection invitations the account owner has received. Returns invitation id, inviting user and date, with a cursor for the next page. Use before Handle Received Invitation to find the invitation_id.
Inputs
account_idstringrequired- The id of the account to perform the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
limitinteger- A limit for the number of items returned in the response. The value can be set between 1 and 100. Example: 25
unipile_list_invitations_sentList connection invitations the account owner has sent that are still pending.Read-onlyList Sent Invitations
List connection invitations the account owner has sent that are still pending. Returns invitation id, invited user and sent date, with a cursor for the next page. Use before Cancel Invitation to find the invitation_id.
Inputs
account_idstringrequired- The id of the account to perform the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
limitinteger- A limit for the number of items returned in the response. The value can be set between 1 and 100. Example: 25
unipile_list_job_applicantsList the users who applied to a LinkedIn job posting.Read-onlyList Job Applicants
List the users who applied to a LinkedIn job posting. Returns applicant id, name, headline and application date, with a cursor and paging information. Use to review applicants. Use Get Job Applicant for one applicant.
Inputs
account_idstringrequired- The ID of the account to trigger the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
idstringrequired- The ID of the job offer. Example: mZ9tTq1xRkWJb3dLq8aXyA
cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
exclude_degreearray- Linkedin Recruiter native filter : DEGREES (excluded). Example: ["example"]
include_archivedboolean- Whether the results should include archived applicants. Recruiter only. Example: true
include_degreearray- Linkedin Recruiter native filter : DEGREES (included). Example: ["example"]
keywordsstring- Filter results with keywords. Example: product manager
limitinteger- A limit for the number of items returned in the response. The value can be set between 1 and 100. Example: 25
max_years_in_companynumber- Linkedin Recruiter native filter : YEARS IN CURRENT COMPANY. Example: 10
max_years_in_positionnumber- Linkedin Recruiter native filter : YEARS IN CURRENT POSITION. Example: 10
max_years_of_experiencenumber- Linkedin Recruiter native filter : YEARS OF EXPERIENCE. Example: 10
min_years_in_companynumber- Linkedin Recruiter native filter : YEARS IN CURRENT COMPANY. Example: 10
min_years_in_positionnumber- Linkedin Recruiter native filter : YEARS IN CURRENT POSITION. Example: 10
min_years_of_experiencenumber- Linkedin Recruiter native filter : YEARS OF EXPERIENCE. Example: 10
ratingsstring- One or more ratings (UNRATED, GOOD_FIT, MAYBE, NOT_A_FIT) separated by commas. Classic only. Example: example
servicestring- The Linkedin service the job posting depends on. Default is classic. Example: CLASSICone of
CLASSICRECRUITER sort_bystring- The sorting rule for applicants. Recruiter only. Example: relevanceone of
relevancealphabeticalnewest_firstscreening_requirements
unipile_list_job_postingsList the job offers the LinkedIn account has posted, whether open, closed or draft.Read-onlyList Job Postings
List the job offers the LinkedIn account has posted, whether open, closed or draft. Returns job id, state, title, company and counters, with a cursor for the next page. Use to browse your own postings. Use Search LinkedIn Jobs for other companies' jobs.
Inputs
account_idstringrequired- The ID of the account to trigger the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
categorystring- The state of the requested job postings. Default is active. Example: activeone of
activedraftclosed cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
limitinteger- A limit for the number of items returned in the response. The value can be set between 1 and 250. Example: 100
unipile_list_messagesList messages across all chats of the connected accounts, optionally filtered by account, sender or date.Read-onlyList Messages
List messages across all chats of the connected accounts, optionally filtered by account, sender or date. Returns message id, sender, text, attachments and timestamp, with a cursor for the next page. Use for cross-chat message search by account or date. Use List Chat Messages to read a single chat.
Inputs
account_idstring- A filter to target messages received in a certain linked account. The id of the account targeted. Example: mZ9tTq1xRkWJb3dLq8aXyA
afterstring- A filter to target items created after the datetime (exclusive). Must be an ISO 8601 UTC datetime (YYYY-MM-DDTHH:MM:SS.sssZ). Example: 2025-12-31T23:59:59.999Z
beforestring- A filter to target items created before the datetime (exclusive). Must be an ISO 8601 UTC datetime (YYYY-MM-DDTHH:MM:SS.sssZ). Example: 2025-12-31T23:59:59.999Z
cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
limitinteger- A limit for the number of items returned in the response. The value can be set between 1 and 250. Example: 100
sender_idstring- A filter to target messages received from a certain sender. The id of the sender targeted. Example: 9r1V5QnDTqW2nXk7bAc3Yg
unipile_list_post_commentsList the comments on a post, or the replies to one comment.Read-onlyList Post Comments
List the comments on a post, or the replies to one comment. Returns each comment with author, text and date, with a cursor for the next page. Use to read the discussion under a post.
Inputs
account_idstringrequired- The id of the account to perform the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
post_idstringrequired- The ID of the associated post. <br> `Linkedin`: use the `social_id` from the post object (GET post or list posts). The post id visible in url will not work in all case, you can refer here for more details : https://developer.unipile.com/docs/posts-and-comments <br> `Instagram`: Need to use the **provider_id**. Short code cannot be used here (***www.instagram.com/p/SHORTCODE***). Example: 7123456789012345678
comment_idstring- The id of the comment to get replies from. <br> `Linkedin`: use the comment `id` returned by the comments list. Example: 7123456789012345679
cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
limitinteger- A limit for the number of items returned in the response. The value can be set between 1 and 100. Example: 100
sort_bystring- The sort method for the post comments. Default is MOST_RECENT. Example: MOST_RECENTone of
MOST_RECENTMOST_RELEVANT
unipile_list_post_reactionsList the reactions to a post or comment.Read-onlyList Post Reactions
List the reactions to a post or comment. Returns each reaction value with its author, with paging information. Use to see who reacted to a post.
Inputs
account_idstringrequired- The id of the account to perform the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
post_idstringrequired- The ID of the associated post. <br> `Linkedin`: use the `social_id` from the post object (GET post or list posts). The post id visible in url will not work in all case, you can refer here for more details : https://developer.unipile.com/docs/posts-and-comments. Example: 7123456789012345678
comment_idstring- The id of the comment to get reactions from. <br> `Linkedin`: use the comment `id` returned by the comments list. Example: 7123456789012345679
cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
limitinteger- A limit for the number of items returned in the response. The value can be set between 1 and 100. Example: 100
unipile_list_relationsList the connections (relations) of a connected account.Read-onlyList Relations
List the connections (relations) of a connected account. Returns each relation name, headline and profile url, with a cursor for the next page. Use to browse the account owner's network. Provider rate limits apply.
Inputs
account_idstringrequired- The account to get the relations from. (if user_id is not provided). Example: mZ9tTq1xRkWJb3dLq8aXyA
cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
filterstring- Filter out results by user name. Example: example
limitinteger- A limit for the number of items returned in the response. The value can be set between 1 and 1000. Example: 100
unipile_list_user_commentsList the comments written by a user.Read-onlyList User Comments
List the comments written by a user. Returns each comment with text, post reference and date, with a cursor for the next page. Use to review a person's comment activity.
Inputs
account_idstringrequired- The id of the account to perform the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
identifierstringrequired- The user's provider internal id. Example: john-doe-12345
cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
limitinteger- A limit for the number of items returned in the response. The value can be set between 1 and 100. Example: 100
unipile_list_user_postsList the posts written by a user or company.Read-onlyList User Posts
List the posts written by a user or company. Returns each post with id, text, counters and date, with a cursor for the next page. Use to review a person's or company's content. Use Get Post for one post.
Inputs
account_idstringrequired- The id of the account to perform the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
identifierstringrequired- The entity's provider internal id. <br> `Linkedin`: starts with ACo/ADo for users, while for companies it's a series of numbers. <br> `Instagram`: use the provider_id or the username of the user. Example: john-doe-12345
cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
is_companyboolean- `Linkedin only` Set it to **"true"** if the posts are from a company. Example: true
limitinteger- A limit for the number of items returned in the response. The value can be set between 1 and 100. Example: 100
unipile_list_user_reactionsList the reactions a user has made to posts or comments.Read-onlyList User Reactions
List the reactions a user has made to posts or comments. Returns each reaction value with its post and comment reference, with a cursor for the next page. Use to review a person's reaction activity.
Inputs
account_idstringrequired- The id of the account to perform the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
identifierstringrequired- The user's provider internal id. Example: john-doe-12345
cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
limitinteger- A limit for the number of items returned in the response. The value can be set between 1 and 100. Example: 100
unipile_search_linkedin_companiesSearch companies with the LinkedIn Classic search, using keywords and filter ids.Read-onlySearch LinkedIn Companies
Search companies with the LinkedIn Classic search, using keywords and filter ids. Returns matching companies with name, industry, location and profile url, plus paging and a cursor. Use to find target accounts. Get filter ids from Get LinkedIn Search Parameters. Read-only despite using POST.
Inputs
account_idstringrequired- The ID of the account to trigger the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
has_job_offersboolean- Linkedin native filter : JOB LISTINGS ON LINKEDIN. Example: true
headcountarray- Linkedin native filter : COMPANY SIZE. Example: ["example"]
industryarray- The ID of the parameter. Use type INDUSTRY on the List search parameters route to find out the right ID. Linkedin native filter : INDUSTRY. Example: ["example"]
keywordsstring- Linkedin native filter : KEYWORDS. Example: product manager
limitinteger- The maximum number of items to return. Sales Navigator and Recruiter support up to 100 results. For Classic searches, People and Companies are limited to 10 results per page, while Jobs are limited to 50. Post searches default to 3 results, matching LinkedIn's UI, but the limit can technically be increased up to 49. Example: 25
locationarray- The ID of the parameter. Use type LOCATION on the List search parameters route to find out the right ID. Linkedin native filter : LOCATIONS. Example: Paris
network_distancearray- First, second or third+ degree. Linkedin native filter : CONNECTIONS. Example: ["example"]
unipile_search_linkedin_jobsSearch job offers with the LinkedIn Classic search, using keywords and filter ids.Read-onlySearch LinkedIn Jobs
Search job offers with the LinkedIn Classic search, using keywords and filter ids. Returns matching job offers with title, company and location, plus paging and a cursor. Use to find open roles. Read-only despite using POST.
Inputs
account_idstringrequired- The ID of the account to trigger the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
benefitsarray- Linkedin native filter : BENEFITS. Example: ["example"]
commitmentsarray- Linkedin native filter : COMMITMENTS. Example: ["example"]
companyarray- The ID of the parameter. Use type COMPANY on the List search parameters route to find out the right ID. Linkedin native filter : COMPANY. Example: ["example"]
cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
date_postednumber- The timespan in days since today for the filter to be applied. Linkedin native filter : DATE POSTED. Example: 10
easy_applyboolean- Linkedin native filter : EASY APPLY. Example: true
fair_chance_employerboolean- Linkedin native filter : FAIR CHANCE EMPLOYER. Example: true
functionarray- The ID of the parameter. Use type JOB_FUNCTION on the List search parameters route to find out the right ID. Linkedin native filter : JOB FUNCTION. Example: ["example"]
has_verificationsboolean- Linkedin native filter : HAS VERIFICATIONS. Example: true
in_your_networkboolean- Linkedin native filter : IN YOUR NETWORK. Example: true
industryarray- The ID of the parameter. Use type INDUSTRY on the List search parameters route to find out the right ID. Linkedin native filter : INDUSTRY. Example: ["example"]
job_typearray- Linkedin native filter : JOB TYPE. Example: ["example"]
keywordsstring- Linkedin native filter : KEYWORDS. Example: product manager
limitinteger- The maximum number of items to return. Sales Navigator and Recruiter support up to 100 results. For Classic searches, People and Companies are limited to 10 results per page, while Jobs are limited to 50. Post searches default to 3 results, matching LinkedIn's UI, but the limit can technically be increased up to 49. Example: 25
locationarray- The ID of the parameter. Use type LOCATION on the List search parameters route to find out the right ID. Linkedin native filter : LOCATION. Example: Paris
location_within_areanumber- The search zone around the location in miles. Linkedin native filter : DISTANCE. Example: 10
minimum_salaryobject- Linkedin native filter : SALARY. Example: {"key": "value"}
presencearray- Presence for this request. Example: ["example"]
regionstring- The ID of the parameter. Use type LOCATION on the List search parameters route to find out the right ID. Linkedin native filter : GLOBAL LOCATION. Example: example
rolearray- The ID of the parameter. Use type JOB_TITLE on the List search parameters route to find out the right ID. Linkedin native filter : TITLE. Example: ["example"]
seniorityarray- Linkedin native filter : EXPERIENCE LEVEL. Example: ["example"]
sort_bystring- Default value is relevance. Linkedin native filter : SORT BY. Example: relevanceone of
relevancedate under_10_applicantsboolean- Linkedin native filter : UNDER 10 APPLICANTS. Example: true
unipile_search_linkedin_peopleSearch people with the LinkedIn Classic search, using keywords and filter ids.Read-onlySearch LinkedIn People
Search people with the LinkedIn Classic search, using keywords and filter ids. Returns matching profiles with name, headline, location and profile url, plus paging and a cursor. Use to find prospects or candidates. Get filter ids from Get LinkedIn Search Parameters. Read-only despite using POST.
Inputs
account_idstringrequired- The ID of the account to trigger the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
advanced_keywordsobject- Advanced Keywords for this request. Example: {"key": "value"}
companyarray- The ID of the parameter. Use type COMPANY on the List search parameters route to find out the right ID. Linkedin native filter : CURRENT COMPANY. Example: ["example"]
connections_ofarray- The ID of the parameter. Use type CONNECTIONS on the List search parameters route to find out the right ID. Linkedin native filter : CONNECTIONS OF. Example: ["example"]
cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
followers_ofarray- The ID of the parameter. Use type PEOPLE on the List search parameters route to find out the right ID. Linkedin native filter : FOLLOWERS OF. Example: ["example"]
industryarray- The ID of the parameter. Use type INDUSTRY on the List search parameters route to find out the right ID. Linkedin native filter : INDUSTRY. Example: ["example"]
keywordsstring- Linkedin native filter : KEYWORDS. Example: product manager
limitinteger- The maximum number of items to return. Sales Navigator and Recruiter support up to 100 results. For Classic searches, People and Companies are limited to 10 results per page, while Jobs are limited to 50. Post searches default to 3 results, matching LinkedIn's UI, but the limit can technically be increased up to 49. Example: 25
locationarray- The ID of the parameter. Use type LOCATION on the List search parameters route to find out the right ID. Linkedin native filter : LOCATIONS. Example: Paris
network_distancearray- First, second or third+ degree. Linkedin native filter : CONNECTIONS. Example: ["example"]
open_toarray- Linkedin native filter : OPEN TO. Example: ["example"]
past_companyarray- The ID of the parameter. Use type COMPANY on the List search parameters route to find out the right ID. Linkedin native filter : PAST COMPANY. Example: ["example"]
profile_languagearray- ISO 639-1 language code. Linkedin native filter : PROFILE LANGUAGE. Example: ["example"]
schoolarray- The ID of the parameter. Use type SCHOOL on the List search parameters route to find out the right ID. Linkedin native filter : SCHOOL. Example: ["example"]
servicearray- The ID of the parameter. Use type SERVICE on the List search parameters route to find out the right ID. Linkedin native filter : SERVICE CATEGORIES. Example: ["example"]
unipile_search_linkedin_postsSearch posts with the LinkedIn Classic search, using keywords and filters.Read-onlySearch LinkedIn Posts
Search posts with the LinkedIn Classic search, using keywords and filters. Returns matching posts with author, text and date, plus paging and a cursor. Use to find content or conversations to engage with. Read-only despite using POST.
Inputs
account_idstringrequired- The ID of the account to trigger the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
authorobject- Author for this request. Example: {"key": "value"}
content_typestring- Linkedin native filter : CONTENT TYPE. Example: videosone of
videosimageslive_videoscollaborative_articlesdocumentsjobs cursorstring- A cursor for pagination purposes. To get the next page of entries, you need to make a new request and fulfill this field with the cursor received in the preceding request. This process should be repeated until all entries have been retrieved. Example: eyJwYWdlIjoyfQ
date_postedstring- Linkedin native filter : DATE POSTED. Example: past_dayone of
past_daypast_weekpast_month keywordsstring- Linkedin native filter : KEYWORDS. Example: product manager
limitinteger- The maximum number of items to return. Sales Navigator and Recruiter support up to 100 results. For Classic searches, People and Companies are limited to 10 results per page, while Jobs are limited to 50. Post searches default to 3 results, matching LinkedIn's UI, but the limit can technically be increased up to 49. Example: 25
mentioningobject- Mentioning for this request. Example: {"key": "value"}
posted_byobject- Posted By for this request. Example: {"key": "value"}
sort_bystring- Default value is relevance. Linkedin native filter : SORT BY. Example: relevanceone of
relevancedate
unipile_add_candidate_to_recruiter_pipelineAdd a LinkedIn member to a Recruiter hiring project pipeline, or move an applicant or candidate between stages.WriteAdd Candidate To Recruiter Pipeline
Add a LinkedIn member to a Recruiter hiring project pipeline, or move an applicant or candidate between stages. Returns a success flag. Use to manage a Recruiter pipeline. Requires a LinkedIn Recruiter subscription.
Inputs
account_idstringrequired- A unique identifier. Example: mZ9tTq1xRkWJb3dLq8aXyA
actionstringrequired- Action for this request. Example: addCandidateToPipelineone of
addCandidateToPipelineaddApplicantToPipelinechangeCandidatePipeline hiring_project_idstringrequired- Hiring Project ID for this request. Example: 9f9uuKzhVHGUNo9PzbgUtQ
user_idstringrequired- The ID of the user. Example: ACoAAAcDMMQBODyLwZrRcgYhrkCafURGqva0U4E
stagestring- The default value for the stage will be uncontacted. Example: UNCONTACTEDone of
UNCONTACTEDCONTACTEDREPLIED
unipile_add_message_reactionAdd an emoji reaction to a message (WhatsApp, LinkedIn, Telegram, Instagram).WriteAdd Message Reaction
Add an emoji reaction to a message (WhatsApp, LinkedIn, Telegram, Instagram). Returns a success flag. Use to react to an existing message.
Inputs
message_idstringrequired- The id of the message to react to. Example: kLm2Pq8RTu6VwXyZ1aBcDe
reactionstringrequired- The emoji to react with (native emoji, e.g. 👍). Example: 👍
unipile_add_post_reactionReact to a post or a post comment.WriteAdd Post Reaction
React to a post or a post comment. Returns a confirmation object. Use to like or react to content on behalf of the connected account.
Inputs
account_idstringrequired- The id of the account to perform the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
post_idstringrequired- The id of the post to send a reaction to. <br> `Linkedin`: use the `social_id` from the post object (GET post or list posts). The post id visible in url will not work in all case, you can refer here for more details : https://developer.unipile.com/docs/posts-and-comments <br> `Instagram` Please use the provider_id. Example: 7123456789012345678
as_organizationstring- `Linkedin only` Provide the ID of an organization over which you have control to perform the action on its behalf. Example: example
comment_idstring- The id of the comment to send a reaction to. `Linkedin`: use the comment id returned by the comments list. Example: 7123456789012345679
reaction_typestring- The type of reaction to send. If not provided, it defaults to 'like'. <br> `Instagram`: The only supported reaction type is 'like'. Example: likeone of
likecelebratesupportloveinsightfulfunny
unipile_close_job_postingClose a LinkedIn job posting.WriteClose Job Posting
Close a LinkedIn job posting. Returns the closed job id. Use when a role is filled or withdrawn.
Inputs
account_idstringrequired- The ID of the account to trigger the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
idstringrequired- The ID of the job offer. Example: mZ9tTq1xRkWJb3dLq8aXyA
servicestring- The Linkedin service the job posting depends on. Example: CLASSICone of
CLASSICRECRUITER
unipile_create_calendar_eventCreate an event in a calendar.WriteCreate Calendar Event
Create an event in a calendar. Returns the new event id. Use to schedule a meeting. Use Edit Calendar Event to change one later.
Inputs
account_idstringrequired- The id of the account to use. Example: mZ9tTq1xRkWJb3dLq8aXyA
attendeesarrayrequired- Attendees for this request. Example: ["example"]
calendar_idstringrequired- The id of calendar receiving the event. Example: primary
endobjectrequired- The end date and time of the event. Example: 2025-12-31T23:59:59.999Z
startobjectrequired- The start date and time of the event. Example: 2025-01-01T00:00:00.000Z
titlestringrequired- The title of the event. Example: Product sync
bodystring- The body of the event. Example: example
colorstring- The color of the event. <br> `Google Calendar`: `#7986CB`, `#33B679`, `#8E24AA`, `#E67C73`, `#F6BF26`, `#F4511E`, `#039BE5`, `#616161`, `#3F51B5`, `#0B8043`, `#D50000` Example: example
conferenceobject- Conference for this request. Example: {"key": "value"}
guests_can_modifyboolean- If true, allow guests to modify the event. <br> `Outlook Calendar`: Not supported, this parameter will always be false. Example: true
is_attendees_list_hiddenboolean- Is the attendees list hidden for attendees. Example: true
locationstring- The location of the event. Example: Paris
notifyboolean- If true, send notifications about the event to invited attendees. <br> `Outlook Calendar`: Not supported, this parameter will always be true. Example: true
recurrencearray- List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event, as specified in RFC5545. Example: ["example"]
transparencystring- The transparency of the event. `opaque` does block time on the calendar and is equivalent to setting Show me as to Busy in the Calendar UI. `transparent` does not block time on the calendar and is equivalent to setting Show me as to Available in the Calendar UI. Example: exampleone of
opaquetransparent visibilitystring- The visibility of the event. Example: exampleone of
publicprivate
unipile_create_job_postingCreate a LinkedIn job posting as a draft.WriteCreate Job Posting
Create a LinkedIn job posting as a draft. Returns the job id, project id and the available publish options. Use first, then Publish Job Posting to make it live.
Inputs
account_idstringrequired- An Unipile account id. Example: mZ9tTq1xRkWJb3dLq8aXyA
companyobjectrequired- Company for this request. Example: {"key": "value"}
descriptionstringrequired- You can use HTML tags to structure your description. Example: We are hiring a product manager.
job_titleobjectrequired- Job Title for this request. Example: {"key": "value"}
locationstringrequired- The ID of the parameter. Use type LOCATION on the List search parameters route to find out the right ID. Example: Paris
workplacestringrequired- Workplace for this request. Example: ON_SITEone of
ON_SITEHYBRIDREMOTE apply_methodobject- Apply Method for this request. Example: {"key": "value"}
auto_rejection_templatestring- You can define a rejection message template to be automatically sent to applicants that don't pass screening questions. Example: example
employment_statusstring- Employment Status for this request. Example: FULL_TIMEone of
FULL_TIMEPART_TIMECONTRACTTEMPORARYOTHERVOLUNTEERINTERNSHIP recruiterobject- Recruiter for this request. Example: {"key": "value"}
screening_questionsarray- Screening Questions for this request. Example: ["example"]
unipile_edit_calendar_eventEdit an existing calendar event.WriteEdit Calendar Event
Edit an existing calendar event. Returns a confirmation object. Use to reschedule or change an event.
Inputs
account_idstringrequired- The id of the account to use. Example: mZ9tTq1xRkWJb3dLq8aXyA
calendar_idstringrequired- The id of calendar receiving the event. Example: primary
event_idstringrequired- The id of the event to edit. Example: 0e6b0a2f3c4d5e6f7a8b9c0d
attendeesarray- Attendees for this request. Example: ["example"]
bodystring- The body of the event. Example: example
colorstring- The color of the event. <br> `Google Calendar`: `#7986CB`, `#33B679`, `#8E24AA`, `#E67C73`, `#F6BF26`, `#F4511E`, `#039BE5`, `#616161`, `#3F51B5`, `#0B8043`, `#D50000` Example: example
conferenceobject- Conference for this request. Example: {"key": "value"}
endobject- The end date and time of the event. Example: 2025-12-31T23:59:59.999Z
guests_can_modifyboolean- If true, allow guests to modify the event. <br> `Outlook Calendar`: Not supported, this parameter will always be false. Example: true
is_attendees_list_hiddenboolean- Is the attendees list hidden for attendees. Example: true
locationstring- The location of the event. Example: Paris
notifyboolean- If true, send notifications about the event update to invited attendees. Example: true
recurrencearray- List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event, as specified in RFC5545. Example: ["example"]
startobject- The start date and time of the event. Example: 2025-01-01T00:00:00.000Z
titlestring- The title of the event. Example: Product sync
transparencystring- The transparency of the event. `opaque` does block time on the calendar and is equivalent to setting Show me as to Busy in the Calendar UI. `transparent` does not block time on the calendar and is equivalent to setting Show me as to Available in the Calendar UI. Example: exampleone of
opaquetransparent visibilitystring- The visibility of the event. Example: exampleone of
publicprivate
unipile_edit_job_postingEdit an existing LinkedIn job posting.WriteEdit Job Posting
Edit an existing LinkedIn job posting. Returns the job id. Use to change a draft or open posting.
Inputs
account_idstringrequired- An Unipile account id. Example: mZ9tTq1xRkWJb3dLq8aXyA
job_idstringrequired- The id of the job to edit. Example: 9f9uuKzhVHGUNo9PzbgUtQ
apply_methodobject- Apply Method for this request. Example: {"key": "value"}
auto_rejection_templatestring- You can define a rejection message template to be automatically sent to applicants that don't pass screening questions. Example: example
companyobject- Company for this request. Example: {"key": "value"}
descriptionstring- You can use HTML tags to structure your description. Example: We are hiring a product manager.
employment_statusstring- Employment Status for this request. Example: FULL_TIMEone of
FULL_TIMEPART_TIMECONTRACTTEMPORARYOTHERVOLUNTEERINTERNSHIP job_titleobject- Job Title for this request. Example: {"key": "value"}
locationstring- The ID of the parameter. Use type LOCATION on the List search parameters route to find out the right ID. Example: Paris
recruiterobject- Recruiter for this request. Example: {"key": "value"}
screening_questionsarray- Screening Questions for this request. Example: ["example"]
workplacestring- Workplace for this request. Example: ON_SITEone of
ON_SITEHYBRIDREMOTE
unipile_edit_messageEdit the text of a sent message.WriteEdit Message
Edit the text of a sent message. Supported for WhatsApp and LinkedIn Classic only. Returns a confirmation object. Use to correct a message you sent. Providers may reject edits after a short time window.
Inputs
message_idstringrequired- The id of the message to edit. Example: kLm2Pq8RTu6VwXyZ1aBcDe
textstringrequired- The updated text of the message. For media messages, this is used as the updated caption when supported by the provider. On WhatsApp, edits may be rejected after an indicative 15-minute window following the original send time. On LinkedIn Classic, edits are only possible within the first 60 minutes after the message is sent. Example: Thanks, see you then!
unipile_forward_messageForward a message to another chat.WriteForward Message
Forward a message to another chat. WhatsApp only. Returns the id of the forwarded message. Use to share an existing WhatsApp message into a different chat.
Inputs
chat_idstringrequired- The id of the chat to forward the message to. Example: 9f9uuKzhVHGUNo9PzbgUtQ
message_idstringrequired- The id of the message to forward. Example: kLm2Pq8RTu6VwXyZ1aBcDe
unipile_handle_received_invitationAccept or decline a received connection invitation (LinkedIn or Instagram).WriteHandle Received Invitation
Accept or decline a received connection invitation (LinkedIn or Instagram). Returns the resulting invitation status. Use after List Received Invitations. LinkedIn also needs the shared_secret from the listed invitation.
Inputs
account_idstringrequired- A unique identifier. Example: mZ9tTq1xRkWJb3dLq8aXyA
actionstringrequired- Action for this request. Example: acceptone of
acceptdecline invitation_idstringrequired- The invitation ID. Example: 7234567890123456789
providerstringrequired- Provider for this request. Example: LINKEDINone of
LINKEDIN shared_secretstring- This token provided by Linkedin is mandatory to handle received invitations. It can be retrieved along with each invitation using the List all invitations received route. Example: example
unipile_publish_job_postingPublish a LinkedIn job posting draft as a free posting.WritePublish Job Posting
Publish a LinkedIn job posting draft as a free posting. Returns the resulting job state and job id. Use after Create Job Posting. Promoted (paid) publishing is not offered by this tool.
Inputs
account_idstringrequired- An Unipile account id. Example: mZ9tTq1xRkWJb3dLq8aXyA
draft_idstringrequired- The id of the draft to publish. Example: 9f9uuKzhVHGUNo9PzbgUtQ
bypass_email_verificationboolean- Whether or not to verify if you're allowed to post a job on behalf on the current company. Example: true
hiring_photo_frameboolean- Whether or not to add the hiring photo frame to you profile picture. Example: true
servicestring- The Linkedin service the job posting depends on. Default is classic. Example: CLASSICone of
CLASSICRECRUITER
unipile_send_invitationSend a connection invitation to a user, optionally with a short message.WriteSend Invitation
Send a connection invitation to a user, optionally with a short message. Returns the invitation id and the remaining invitation usage. Use to connect with a person. Respect provider invitation limits.
Inputs
account_idstringrequired- The id of the account where the user will be added. Example: mZ9tTq1xRkWJb3dLq8aXyA
provider_idstringrequired- The id of the user to add. It has to be the provider’s id. LinkedIn Classic: inviting the connected account's own profile returns HTTP 422 (errors/cannot_invite_attendee). <br> `Instagram`: You can use the provider_id or the username of the user. The provider_messaging_id dont work on this route ! Example: ACoAAAcDMMQBODyLwZrRcgYhrkCafURGqva0U4E
messagestring- An optional message to go with the invitation (max 300 chars). Example: Hi, I would love to connect.
user_emailstring- The email address of the user when it's required (Linkedin specific). Example: jane@example.com
unipile_update_chatPerform an action on a chat: set read, mute, archive or pinned status, add or remove a group participant, set a label, or get a group invite link.WriteUpdate Chat
Perform an action on a chat: set read, mute, archive or pinned status, add or remove a group participant, set a label, or get a group invite link. Returns a confirmation object, plus invite_link when the action is getInviteLink. Use to change chat state. Support depends on the provider (for example archive and pin are WhatsApp only).
Inputs
actionstringrequired- The action to perform on the chat: - `setReadStatus`: (WhatsApp & LinkedIn only) Set the read status of the chat. - `setMuteStatus`: (WhatsApp & LinkedIn only) Set the mute status of the chat. - `setArchiveStatus`: (WhatsApp only) Set the archive status of the chat. - `setPinnedStatus`: (WhatsApp only) Set the pinned status of the chat. - `addParticipant`: (WhatsApp & Telegram only) Add a participant to the group chat. The account owner must have the Add other members permission in the group. Provide the provider ID as value, for example 334455667788@s.whatsapp.net for WhatsApp, or a Telegram user ID, username, or phone number for Telegram. - `removeParticipant`: (WhatsApp & Telegram only) Remove a participant from the group chat. Provide the provider ID as value, for example 334455667788@s.whatsapp.net for WhatsApp, or a Telegram user ID, username, or phone number for Telegram. - `setLabel`: (WhatsApp only) Add a label to the chat. If the label does not exist, it will be created and then assigned. - `getInviteLink`: (WhatsApp & Telegram only) Generate or retrieve the full group invite link. The account owner must have the required invite permissions in the group. Example: setReadStatusone of
setReadStatussetMuteStatussetArchiveStatussetPinnedStatusaddParticipantremoveParticipantsetLabelgetInviteLink chat_idstringrequired- The id of the chat to be patched. Example: 9f9uuKzhVHGUNo9PzbgUtQ
valuestring- Required for every action except `getInviteLink`. Use a boolean for status actions and a string for participant or label actions. Example: example
unipile_update_emailUpdate an email: mark it read or unread, move it to folders, or set categories.WriteUpdate Email
Update an email: mark it read or unread, move it to folders, or set categories. Returns a confirmation object. Use to triage mail. Use Delete Email to move it to Trash.
- Idempotent
Inputs
email_idstringrequired- The id of the email to be updated. Either the Unipile id or the provider uid. Example: Q2xhdWRlRW1haWwx
account_idstring- The id of the account related to the email. Required when using the provider uid. Example: mZ9tTq1xRkWJb3dLq8aXyA
categoriesarray- `Outlook only`: The categories to assign to the email. Example: ["example"]
foldersarray- The names of the folders to which the email should be moved. Outlook and IMAP accounts accept only one folder. If you provide a label value that does not already exist, a new label will be created with that value. Updates the entire thread if the targeted email is part of a conversation. Example: ["example"]
unreadboolean- Indicates whether the email should be marked as unread. Updates only the targeted email. If unread is supplied, all other parameters are ignored. Example: true
unipile_cancel_invitationCancel a pending invitation the account owner sent.DestructiveCancel Invitation
Cancel a pending invitation the account owner sent. Returns a confirmation object. Use with an invitation_id from List Sent Invitations.
- Idempotent
Inputs
account_idstringrequired- The id of the account to perform the request from. Example: mZ9tTq1xRkWJb3dLq8aXyA
invitation_idstringrequired- The id of the invitation to cancel. <br>`Instagram`: Use the 'provider_id' retrieved in user profile (not 'provider_messaging_id'). Example: 7234567890123456789
unipile_delete_calendar_eventDelete a calendar event.DestructiveDelete Calendar Event
Delete a calendar event. Returns a confirmation object. Use only when the user asks to cancel or remove an event.
- Idempotent
Inputs
account_idstringrequired- The id of the account to use. Example: mZ9tTq1xRkWJb3dLq8aXyA
calendar_idstringrequired- The id of calendar receiving the event. Example: primary
event_idstringrequired- The id of the event to edit. Example: 0e6b0a2f3c4d5e6f7a8b9c0d
unipile_delete_chatDelete a chat.DestructiveDelete Chat
Delete a chat. Supported for WhatsApp and LinkedIn only. Returns a confirmation object. Use only when the user asks to remove a conversation. This cannot be undone.
- Idempotent
Inputs
chat_idstringrequired- The id of the chat to delete. Example: 9f9uuKzhVHGUNo9PzbgUtQ
unipile_delete_emailDelete an email by moving it to the Trash folder.DestructiveDelete Email
Delete an email by moving it to the Trash folder. Returns a confirmation object. Use only when the user asks to remove an email.
- Idempotent
Inputs
email_idstringrequired- The id of the email to be deleted. Either the Unipile id or the provider uid. Example: Q2xhdWRlRW1haWwx
account_idstring- The id of the account related to the email. Required when using the provider uid. Example: mZ9tTq1xRkWJb3dLq8aXyA
unipile_delete_messageDelete a message.DestructiveDelete Message
Delete a message. Supported for WhatsApp and LinkedIn only; LinkedIn allows it only within 60 minutes of sending. Returns a confirmation object. Use only when the user asks to remove a sent message. This cannot be undone.
- Idempotent
Inputs
message_idstringrequired- The id of the message to delete. Example: kLm2Pq8RTu6VwXyZ1aBcDe
No tools match.