feature · 70+ actions

Workflows.
Async jobs, schedules,
full pipelines.

Live REST is one mode. Drop any action into an async job, a cron, or a multi-step pipeline that triggers, enriches and engages on its own — from your seats, at safe rates, with full audit.

  • SOC 2 Type II
  • Rate-limited per identity
  • Full audit log

Edges is not related to LinkedIn and is not an official LinkedIn product.

workflow · inbound-vp-productactive

Trigger

Job change

linkedin-extract-post-commenters

on

Enrich

Profile + company

linkedin-extract-people

1cr

Filter

VP Product, US/UK

if role.title ~

Engage

Send invite + note

linkedin-connect-profile

queued

// Compose

Build any LinkedIn workflow as a sequence of API calls.

Trigger → Enrich → Filter → Engage. Each step is a typed action from the library. Each handoff is JSON. No DSL, no canvas — your code orchestrates it.

The composable loop

Mix triggers and actions to model any GTM motion. Each step is its own endpoint, idempotent and re-runnable.

  1. 01Trigger linkedin-extract-post-commentersstream
  2. 02Enrich linkedin-extract-people1 cr
  3. 03Enrich linkedin-extract-company1 cr
  4. 04Filter your codefree
  5. 05Engage linkedin-connect-profile0 cr
  6. 06Follow-up linkedin-message-profile0 cr
workflow.tsedges · v2.4
// 1. pull the trigger audience
const { data } = await edges.linkedin.extractPostCommenters({
   input: { post_url: "linkedin.com/posts/…" }
})
for (const c of data.commenters) {
  // 2. enrich the subject
  const { data: person } = await edges.linkedin.extractPeople({
    input: { linkedin_profile_url: c.profile_url }
  })
  const { data: company } = await edges.linkedin.extractCompany({
    input: { company_url: person.linkedin_company_url }
  })

  // 3. your filter, your code
  if (company.size_range !== "500-1k") continue

  // 4. engage from one of your seats
  await edges.linkedin.connectProfile({
    input: {
      identity: "alex@yourco.com",
      linkedin_profile_url: person.linkedin_url,
      message: render("vp-product", { person, company })
    }
  })
}

// Playbooks

Six workflows your team is already running.

Copy a playbook, edit the criteria, point it at your seats. Each is a documented recipe in the library — runs as-is or as a starting point.

Inbound
webhooklinkedin-extract-peoplecrm.upsert

Inbound enrichment

Resolve every signup to a full profile and write to your CRM at p50 1.2s.

Outbound
jobChangesenrichinvite

Job-change outreach

Watch your TAM for role changes and ping the new VPs within the first week.

Outbound
fundingemployeesinmail

Funding triggers

On a new Series-B, surface buying-committee personas and send InMails.

Engagement
engagementenrichfollow

Warm-audience builder

Find who liked a target post, enrich them, queue follows + connection asks.

Recruiting
linkedin-search-peopleactivityinmail

Sourcing pipeline

Sales-Nav search, filtered by recent activity, then InMail from the recruiter seat.

Lifecycle
trial.startedenrichslack

PQL routing

On trial start, enrich and route to an AE in Slack with a one-pager profile.

// Identities & safety

Send from your seats. At safe rates. With full audit.

Connect any LinkedIn or Sales Navigator account, and we rate-limit per-identity to ramp safely. Every send is logged, every reply is webhook-streamed back.

Connected identities

Eight seats across your team, each with its own ramp schedule and daily quotas.

  • Alex Chenalex@yourco.com48 / 80 today
  • Priya Raopriya@yourco.com61 / 80 today
  • Jamie Diazjamie@yourco.com12 / 30 warming
  • Mira Kleinmira@yourco.com79 / 80 today
  • Tomás Ortiztomas@yourco.com22 / 80 today
  • 3 more seatsrecruiter, sales-nav, premiummanage →

Per-identity rate limits

We enforce ramps automatically. You can request an override — but only when an identity's history backs it.

  • Connection requests / day61 / 80
  • Messages / day79 / 100 · soft cap
  • Profile views / day240 / 400
  • InMails / month128 / 250
  • Searches / day63 / 300

// Engagement actions

Every action your workflow can take.

Invites, messages, InMails, reactions, follows, posts — all unified under one API, sent from your seats.

ActionEndpointWhat it doesSurface
Connect profilePOSTlinkedin-connect-profileConnection request with optional note, from a chosen identity.linkedin
Message profilePOSTlinkedin-message-profileSend a custom message to a 1st-degree connection.linkedin
Send InMailPOSTsalesnavigator-inmail-profileSend and extract InMails via your Sales Navigator seat.sales nav
Like postPOSTlinkedin-like-postInteract with publications, articles and posts from an identity.linkedin
Follow profilePOSTlinkedin-follow-profileQuiet warm-up: follow or unfollow a list of profiles.linkedin
Comment on postPOSTlinkedin-comment-postPublish a comment automatically on a selected post.linkedin
Showing 6 of 70+ actionsBrowse the library

Workflows in production today.

The same API key unlocks live, async, scheduled and workflow modes. No upgrade, no separate plan.