Skip to content

LinkedIn

Your agents post as you, find people engaging with posts on your problem, and send each a request and a first message, 20 a weekday.

Connect
Sign in once, 3 grants
First run
List 25 people engaging with posts on your problem, about 0.95¢
Prospect.find
You, to your agent

Find the property managers who commented on LinkedIn posts about late rent this month, and show me the first 25.

curl -X POST "https://api.sb/leaseline.app/prospects/find?mode=try" \
  -H "Authorization: Bearer $SB_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"question":"property managers who commented on LinkedIn posts about late rent in the last 30 days","limit":25,"save":0,"maxCost":0.5}'
npx startup-builder do Prospect.find --try --data '{"question":"property managers who commented on LinkedIn posts about late rent in the last 30 days","limit":25,"save":0,"maxCost":0.5}'
{
  "name": "do",
  "arguments": {
    "mode": "try",
    "code": "return await $.Prospect.find({ question: 'property managers who commented on LinkedIn posts about late rent in the last 30 days', limit: 25, save: 0, maxCost: 0.5 })"
  }
}
import { $ } from 'startup-builder'

const result = await $.try.Prospect.find({ question: 'property managers who commented on LinkedIn posts about late rent in the last 30 days', limit: 25, save: 0, maxCost: 0.5 })
Response
{
  "$type": "Prospect",
  "mode": "try",
  "stored": false,
  "prospects": [
    {
      "name": "Rosa Alvarez",
      "title": "Owner",
      "organization": {
        "name": "Northgate Rentals",
        "hostname": "northgate-rentals.com"
      },
      "reason": "Commented “we still chase this by text” on a post about late rent, Oct 21",
      "hasEmail": true
    },
    {
      "name": "Maya Chen",
      "title": "Owner",
      "organization": {
        "name": "Cedar Hollow Rentals",
        "hostname": "cedar-hollow-rentals.example"
      },
      "reason": "Reacted to a post comparing rent ledgers, Oct 14",
      "hasEmail": true
    }
  ],
  "total": 38,
  "cost": {
    "usd": 0.11,
    "maxUsd": 0.5
  }
}
Try mode reads, stores nothing and spends nothingAPI referenceIts Nouns

Connect once

  1. Call Integration.connect with system: 'social' and venue: 'linkedin', then open the connectUrl it returns and sign in as yourself on LinkedIn.
  2. Sign in once more in the browser window the platform opens; that saved session sends requests and messages, and posts as your company page if you are its admin.
  3. Call Handle.connect for each account that posts: your profile, and your company page if you have one.
GrantWhat it unlocksScope
Sign inYour name and member id, so every Post and request is filed under your accountopenid profile email
Post as youPosts with text, an image, a document or a video, published from your profilew_member_social
Your saved sessionConnection requests, messages and company page posts, done in LinkedIn’s own screensbrowser session: linkedin.com
ToDo this
PauseIntegration.pause stops every call through LinkedIn at once and keeps the token; Integration.resume picks up from the same cursor.
ReconnectIntegration.reconnect returns a fresh connectUrl that lasts one hour, and keeps the Integration's id and cursor, so nothing imports twice.
DisconnectIntegration.revoke revokes the token with LinkedIn; every record it brought in stays in your records.

What your agents do

AskVerbRuns throughPrice
Post this as me, with the chart attached.Post.publishYour accountFree
Post the same update as our company page.Post.publishA browser agentAbout 1.6¢ a step
Send a connection request to each of them, signed in as me, no more than 20 a weekday.Message.scheduleA browser agentAbout 1.6¢ a step
When they accept, send my first message within a day and one follow-up after 4 days, signed in as me.Contact.enrollA browser agentAbout 1.6¢ a step
Answer each reply in the same LinkedIn thread, signed in as me.Conversation.answerA browser agentAbout 1.6¢ a step

Calls on your own account are free.

Reading this site’s public data needs no account: Prospect.find, Keyword.search, Ad.find are Data calls (the three ways a call runs).

What it holds

NounThe account’s objectWhenWhich side leads
Postshare or ugcPostYour agent publishes from your profile or your pageYour records
ProspectpersonSomeone engages with a post in your category, or accepts your requestYour records
OrganizationorganizationA Prospect’s employer is seen for the first timeYour records
MessagemessageA request is accepted or a reply arrivesThe account

Events and webhooks

DirectionEvent
EmitsPost.published, Message.created, Prospect.engaged, Contact.enrolled

Any Event can wake a Workflow, and a Watch delivers it to your endpoint, signed (Events and webhooks).

Limits

WhatLimitCall
Connection requestsCapped by your standing approval at 20 a weekday, about 100 a week; LinkedIn publishes no number, and a request past your standing approval waits with over-mandateMessage.schedule
Pending requestsA request unanswered after 3 weeks is withdrawn, so pending requests never pile upMessage.schedule
Follow-upsOne first message and one follow-up per person; any reply stops the restContact.enroll
RepliesRead from your LinkedIn inbox every 30 minutes on weekdays, since LinkedIn sends no webhook for member messagesEvery call
Company page postsNeed your administrator or content admin role on the pagePost.publish

Start here

MoveThe rule
StructureOne personal profile that names the buyer and the outcome in its headline, a featured walkthrough, and 3 posts in the last 30 days before the first request goes out.
BudgetNo ad spend: 20 requests a weekday under your standing approval, warm sources first (people who engaged with posts in your category, then the authors of problem posts), at about 1.6¢ a browser step.
CreativeNo note for warm sources, one line naming the shared post for cold ones. On acceptance, one message within a day that leads with the evidence and asks one easy question; one follow-up after 4 days.
Kill ruleRead at 200 requests: under 20% accepted means fix the profile or the targeting before sending more; under 5% replying after acceptance means rewrite the first message.
BenchmarkSource
28.5% of requests accepted; 10.4% reply to the first message after acceptanceVendor study of 13.2 million requests
A note lowers acceptance (25.3% against 27.6%) and raises replies (8.2% against 5.3%)Vendor study of 11.5 million requests
About 100 requests a week per seatPractitioner reports
400 requests a month, about 12 replies, about 6 positiveOur planning number

Field map

Our fieldLinkedIn’s fieldNotesCalls
Post.bodycommentaryMentions and hashtags keep LinkedIn’s own annotation formatPost.publish
Post.mediacontent.media.idAn image, video or document is uploaded first and posted by its URNPost.publish
Post.handleauthorurn:li:person for you, urn:li:organization for your pagePost.publish
Post.statuslifecycleStateAlways PUBLISHED on create; a scheduled Post is held by the platform and published at its timePost.publish
Message.bodyinvitation note or messageTyped into LinkedIn’s own screens by the browser agentMessage.schedule, Contact.enroll

What try does here

Posts render as LinkedIn will show them and nothing is sent; requests and messages return each person, the note and the day it goes, and no browser session opens.

How long a connection lasts

A connection lasts 60 days per access token, renewed from a refresh token that LinkedIn ends 365 days after your first sign-in, however often it is used.

The platform asks you to reconnect 7 days before it runs out; until you do, a call that needs it refuses with needs-reauth.

Formats

SiteFormatLimits
LinkedInFeed post3,000 characters, with one image, a document, a video or several images
LinkedInSingle image ad Size 1200 × 628, 1200 × 1200 or 720 × 900Intro text 3,000 characters, 150 before it truncates; headline 200, 70 before it truncates; JPG, PNG or GIF up to 5 megabytes
LinkedInDocument adPDF, DOC, DOCX, PPT or PPTX up to 100 megabytes and 300 pages; LinkedIn advises under 10 pages

Plays and strategies

Used by

Reference

5 calls, each with its path and price
CallPathPrice
Post.publishPOST /posts/publishFree
Post.publishPOST /posts/publishAbout 1.6¢ a step
Message.schedulePOST /messages/scheduleAbout 1.6¢ a step
Contact.enrollPOST /contacts/enrollAbout 1.6¢ a step
Conversation.answerPOST /conversations/answerAbout 1.6¢ a step

Contents