---
title: "LinkupAPI Integration"
description: "LinkupAPI connects an agent to LinkedIn and WhatsApp with B2B enrichment on top. Workflows search people, companies, and Sales Navigator leads, send connection requests and messages, post and engage with content, enrich emails, and react to replies and accepted invitations."
url: https://flowrunner.ai/integrations/linkupapi
date_modified: 2026-09-04T19:38:13-07:00
---

# LinkupAPI

[Sales Outreach](https://flowrunner.ai/integrations/category/crm-sales)

LinkupAPI connects an agent to LinkedIn and WhatsApp with B2B enrichment on top. Workflows search people, companies, and Sales Navigator leads, send connection requests and messages, post and engage with content, enrich emails, and react to replies and accepted invitations.

[Verified](https://flowrunner.ai/integrations/verified "What does verified mean?") · 3 triggers · 51 actions · API key · available

[LinkupAPI website](https://linkupapi.com/) · [Platform Documentation](https://docs.linkupapi.com/) · Capability data verified 2026-08-25

1.  A daily keyword monitor matches a post in the target market
2.  Get Post Reactions and Get Post Comments return who engaged and what they said
3.  Validate Email confirms the enriched addresses are deliverable before anything is written
4.  Check Invitation Status drops anyone already connected or already holding an invitation
5.  Visit Profile warms each remaining lead so the account is not a stranger
6.  The shortlist, both credit balances, and the drafted copy post to the campaign owner
7.  The owner decides who gets a free invitation and who is worth a premium credit

## What This Integration Enables

Most LinkedIn tools are outreach tools. LinkupAPI is broader than that, and the breadth is the reason to pick it. The same key reaches profile and company data, keyword and Sales Navigator search, the network and its invitations, and messaging including InMail. It also covers content publishing and engagement on both personal and company pages, a full recruiting surface with job postings and candidate CVs, and an email enrichment set that needs no connected account at all. WhatsApp accounts connect alongside LinkedIn ones. If a person can do it during a working day on the platform, this connector reaches it.

That range is what makes an agent worth building here. A flow can listen to a topic, read who engaged with it, resolve those people to work addresses, check whether a relationship already exists, warm the good ones, and open a conversation, without leaving one [connector](https://flowrunner.ai/concepts/connectors). Every read is billed per result and the vendor publishes the cost, so an agent can price its own run before starting it. And because reads are cheap and irreversible acts are not, this is a natural fit for FlowRunner's [human-in-the-loop](https://flowrunner.ai/concepts/human-in-the-loop) model: the gathering, the deduplication, and the drafting run unattended, and the moment that spends something the platform will not give back waits for a person.

### Without FlowRunner

**Signals live where nobody looks**: Reactions and comments on the posts that matter are visible in the feed and captured nowhere

**Two spends, one blind spot**: API credits and premium seat credits drain from different pools and neither is checked before a run

**Channels are separate projects**: LinkedIn, WhatsApp, and email enrichment each need their own tooling and their own key

### With FlowRunner

**Engagement becomes a working list**: Reactors and commenters are pulled, enriched, deduplicated against existing relationships, and ranked

**Both balances are read first**: The run is sized against what the API bills and what the platform seat allows, before it starts

**One connection covers the surface**: Profiles, search, network, messaging, content, recruiting, and enrichment are steps in the same flow

## Use Case Scenarios

### The competitor's comment section as a lead list

Search Posts with a keyword and a past-24-hours window is a daily monitor for a topic. The agent runs it, and for each post that matters it calls Get Post Reactions and Get Post Comments. Reactors are a soft signal. Commenters are a much better one, because the comment says what they think. Get Profile Info resolves each person, Find Email turns a profile URL into a verified work address without needing any account to be signed in, and Validate Email screens out the catch-all domains before anything writes. The result lands in [Clay](https://flowrunner.ai/integrations/clay) for scoring and in [HubSpot](https://flowrunner.ai/integrations/hubspot) as new contacts with the originating post recorded on each one.

### A pipeline that reacts to acceptance, not to a schedule

On Invitation Accepted fires the moment a connection request the account sent is accepted, which is the moment a first message becomes possible. The agent moves the record forward in the CRM, drafts an opener grounded in the person's recent comments rather than their headline, and posts it for review in [Slack](https://flowrunner.ai/integrations/slack). Separately, a weekly pass calls List Sent Invitations and Withdraw Invitation on anything old, because an account carrying hundreds of pending invitations has its quota cut by the platform. On Account Disconnected covers the failure that otherwise goes unnoticed, since a lapsed session makes every other operation fail for a reason that names something else.

### A hiring loop that ends with a human reading a CV

Create Job Posting writes a draft on the company page and deliberately stops there, because the posting stays invisible until it is published. A flow can build the posting from an approved requisition, but the publish step is a person's call. Once it is live, Get Job Candidates returns applicants with the id each CV needs, and Get Candidate CV returns the file inline as base64 for the flow to decode. Summaries and the structured fields go to the hiring manager in a [Google Sheets](https://flowrunner.ai/integrations/google-sheets) tracker. The CV itself is personal data about a real applicant, so the flow routes the document rather than parsing it into a scoring model nobody agreed to.

## Human-in-Loop Highlight

Send Message looks like one operation and is actually two. A normal message costs an API credit. An InMail spends a credit from the connected account's premium seat, a completely different pool from the one LinkupAPI bills, and this API cannot give it back. The trap is in the parameters: passing a Recipient URN sends an InMail whether or not the InMail toggle is set, while a subject line on its own does not make a message an InMail. So the same call shape can spend a scarce premium credit that nobody intended to spend. FlowRunner puts the decision where it belongs. The agent drafts, resolves the recipients, and then stops with both numbers on the table: "34 messages ready. 11 recipients are second or third degree and need InMail to reach at all. Get InMail Balance shows 15 premium credits left this cycle. Get Credit Balance shows 4,180 API credits. Send all 34 as drafted, send the 23 direct messages and hold the 11, or pick which of the 11 are worth a premium credit?" The reply names the recipients. The agent sends exactly those.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via preferred channel

Human decides

Agent resumes with decision

## Agent Capabilities

51 actions

### Accounts

5

-   **Connect Account** Signs a LinkedIn or WhatsApp account in and returns the account id nearly every other operation needs. This is a real login and it can land on a checkpoint, so a flow reads the status before assuming the account is usable.
-   **Verify Checkpoint** Submits the two-factor code that completes a connection left at a checkpoint. The code is short-lived, so a flow that waits on a person should expect to restart the connection rather than reuse a stale one.
-   **List Accounts** Returns the accounts this API key has connected. How a flow discovers an account id, and where to check whether an account is still connected after a disconnection event.
-   **Get Account** Returns one connected account's state, platform, and seat. Worth calling before a campaign, since an expired session makes every other operation fail for a reason that names something else.
-   **Delete Account** Disconnects an account and deletes everything attached to it, including its webhooks, so a running trigger on that account stops silently. The underlying platform account is untouched.

### Credits and Balances

2

-   **Get Credit Balance** Returns the API key's remaining credits. The guard to put in front of a campaign, because reads are billed per batch of results and one large search can cost hundreds before anything is done with them.
-   **Get InMail Balance** Returns the InMail credits left on the account's premium seat. A different pool from API credits, and the one an InMail campaign exhausts first.

### Profiles and Companies

8

-   **Get My Profile** Returns the connected account's own profile. The cheapest way to confirm the session is live and belongs to who you think it does.
-   **Get Profile Info** Returns a person's profile by URL, public identifier, or URN. The URN is the identifier that survives someone changing their vanity name.
-   **Get Contact Info** Returns the email, phone, websites, and social handles a person has published on their own profile. It reads what they chose to show, so it is empty for most people.
-   **Visit Profile** Views a profile so the visit appears in that person's viewer list. A deliberate outreach signal rather than a read, and it counts against the platform's daily activity allowance.
-   **Get Profile Comments** Returns the comments a person has left on posts and articles. Usually a better signal of what somebody currently cares about than their own posts.
-   **Get Profile Reactions** Returns the posts and comments a person has reacted to. Pairs with their comments to build a picture of current interest rather than stated title.
-   **Get Profile Viewers** Returns who recently viewed the connected account's own profile. Some viewers come back anonymized once the account's quota is used, so a partial list is normal rather than a failure.
-   **Get Company Info** Returns a company page's description, industry, headcount, follower count, and imagery.

### Search

3

-   **Search People** Searches profiles by keyword, company, title, location, school, industry, and network degree. The expensive one, billed per batch of results, so the result count is a spending decision.
-   **Search Companies** Searches company pages by keyword, location, sector, and headcount.
-   **Search Leads (Sales Navigator)** Runs a Sales Navigator lead search and returns richly detailed leads. It needs a Sales Navigator seat on the connected account, and the simplest route is to build the search in Sales Navigator and pass its URL, which carries every filter with it.

### Network and Invitations

8

-   **Send Connection Request** Invites somebody to connect, with an optional note. The platform's own daily limit is the binding one, and crossing it gets the underlying account restricted in a way no API call undoes.
-   **Accept Invitation** Accepts a pending invitation. It requires two opaque values that only the invitation listing returns, so that listing is a required first step.
-   **Withdraw Invitation** Cancels a pending invitation you sent. Worth running routinely, because an account carrying hundreds of pending invitations has its quota cut by the platform.
-   **Check Invitation Status** Reports whether you are already connected, have a pending invitation in either direction, or have no relationship. The guard to put ahead of a connection request.
-   **List Connections** Returns the account's connections, billed per larger batch than most reads, which makes it one of the cheaper calls.
-   **List Invitations** Returns the pending invitations somebody has sent you, each carrying the values acceptance needs.
-   **List Sent Invitations** Returns your own invitations that are still pending. Paired with withdrawal, this is how a campaign keeps its quota intact.
-   **Get Network Recommendations** Returns the platform's own suggestions for the account. A one-shot snapshot rather than a paginable list, sized by the account's network.

### Messaging

3

-   **Send Message** Sends a message, or a Sales Navigator InMail. The InMail path spends a premium-seat credit that cannot be recovered, and the recipient parameter can force it regardless of the toggle. The operation this page's human gate exists for.
-   **List Inbox** Returns conversations from the inbox by category. The Sales Navigator inbox is a different set of conversations rather than a formatting option.
-   **Get Conversation** Returns a conversation's messages, newest first, identified either by conversation id or by the other person's profile URL, which lets a flow reply without having stored a thread id.

### Content and Engagement

10

-   **Create Post** Publishes a post from the connected account, with optional single media or a carousel.
-   **Create Company Post** Publishes a post on a company page. The connected account must be an admin of that page, and a non-admin is refused rather than quietly posting as the person.
-   **Comment On Post** Adds a comment to a post, optionally as a company page rather than as the person, which needs admin rights on that page.
-   **Reply To Comment** Posts a threaded reply under an existing comment. It needs three opaque values that only the post's comment listing returns, so there is no reply-from-a-URL shortcut.
-   **React To Post** Adds a reaction to a post. There are several reaction types, and a non-default one is noticeably more visible to the author.
-   **Repost** Shares a post to the connected account's own feed.
-   **Get Post Comments** Returns a post's comments, each carrying the values a threaded reply needs.
-   **Get Post Reactions** Returns who reacted to a post and how. A cheap engagement signal, and the reason a competitor's post can become a working list.
-   **Get Feed** Returns the connected account's home feed. Cursor based, because the feed is a moving stream where an offset would skip and repeat posts.
-   **Search Posts** Searches posts by keyword with filters on author, company, industry, date, and mentions. The listening tool, and a recent-window filter turns it into a daily topic monitor.

### Recruiting

6

-   **Create Job Posting** Creates a job posting on a company page as a draft. It is invisible until it is published, so a flow that stops here has posted nothing.
-   **Publish Job Posting** Makes a draft posting live and open for applications. The step the draft deliberately leaves to a person.
-   **Close Job Posting** Closes an active posting so it takes no more applications. Existing applications stay readable.
-   **Get Job Posts** Returns the account's job postings, or one in full when an id is supplied. A listing without full detail is the fast path when only ids and titles are needed.
-   **Get Job Candidates** Returns the people who applied to a posting, each with the id their CV requires.
-   **Get Candidate CV** Returns a candidate's CV inline as base64 rather than as a download link, so a flow decodes it before writing it anywhere. It contains personal data about a real applicant and should be handled that way.

### Email Enrichment

3

-   **Find Email** Guesses and verifies a professional email address from a name and company, or from a profile URL. No connected account is needed. Supplying the profile URL alone is usually best, since the current company is read from it rather than from stale local data.
-   **Reverse Email Lookup** Turns a professional email address into the matching profile. Personal mailbox providers are refused outright rather than returning an empty result, so addresses are worth filtering before the call.
-   **Validate Email** Checks whether an address is syntactically valid, deliverable, and not a catch-all. Cheaper than sending to a bad address and having a sending domain absorb the consequence.

### Webhooks

3

-   **List Webhooks** Returns the webhooks registered on this API key, including the ones the triggers created. Worth checking when credits drain unexpectedly, since live monitoring carries a daily cost per account whether or not events fire.
-   **Stop Webhook Monitoring** Pauses a webhook's live monitoring without deleting it, which stops the daily monitoring cost while keeping the configuration.
-   **Start Webhook Monitoring** Resumes a webhook that was stopped, and restarts its daily monitoring cost. Creating a webhook already starts monitoring, so this is only for resuming.

## Triggers

3 triggers

### Event Triggers

3

-   **On Message Received** Fires when the watched account receives a message, in near real time. The payload carries the sender's profile URL, which the conversation read accepts directly.
-   **On Invitation Accepted** Fires when connection requests the watched account sent are accepted. The event a campaign is built on, because it is the moment a first message becomes possible and reacting within minutes is most of the value.
-   **On Account Disconnected** Fires when the watched account's platform session expires. The event that saves a silent campaign, since after it every other operation on that account fails for reasons that point elsewhere.

## Frequently Asked Questions

### What can FlowRunner do with LinkupAPI?

FlowRunner agents can run Connect Account, Verify Checkpoint, and List Accounts in LinkupAPI, plus 48 more actions.

### Does connecting LinkupAPI to FlowRunner require OAuth?

No. LinkupAPI connects to FlowRunner with an API key, no OAuth flow required.

### Can LinkupAPI trigger a FlowRunner workflow automatically?

Yes. LinkupAPI supports 3 triggers that can start a FlowRunner workflow automatically.

**Work at LinkupAPI?** This integration exposes LinkupAPI to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/linkupapi. Site index: https://flowrunner.ai/llms.txt
