deactivateduser
05/06/2026, 10:46 AMDasha
05/14/2026, 4:53 PMlinkedin_account_alerts
Hey everyone! ๐
We've shipped a new webhook event that lets you stay on top of LinkedIn account health in real time. Instead of finding out after a sequence stalls, you'll get notified the moment something needs attention.
What you'll be alerted about:
โข ๐ Sales Navigator disconnected - reconnect needed to keep InMail steps running
โข ๐ฌ InMail credits depleted - the account can't send InMails until credits renew
โข ๐ Weekly connection request limit reached - sending resumes after LinkedIn resets the quota
Why this matters:
Build automations that auto-pause sequences, ping the account owner in Slack, open a ticket, or trigger any custom recovery flow, no more silent failures.
Example payloads:
Sales Navigator disconnected
{
"event": {
"date": "2026-05-13T10:45:46.3926107Z",
"id": "22ff637a-fd81-40ba-b597-0c8f26189dca",
"type": "linkedin_account_alerts",
"user_id": 12345,
"team_id": 67890,
"subscription_id": 492
},
"workspace_id": 67890,
"workspace_name": "Default Team",
"linkedin_owner_name": "Jane D.",
"linkedin_owner_email": "<mailto:jane.d@example.com|jane.d@example.com>",
"linkedin_id": 262,
"linkedin_name": "Jane Doe",
"linkedin_account_alert": "Sales Navigator is disconnected. Please reconnect your LinkedIn account to continue sending InMail steps.",
"sequence_fields": {}
}
InMail credits depleted
{
"event": {
"date": "2026-05-13T10:47:16.6543506Z",
"id": "7227258a-8624-410a-bf6c-bd5197810d66",
"type": "linkedin_account_alerts",
"user_id": 12345,
"team_id": 67890,
"subscription_id": 492
},
"workspace_id": 67890,
"workspace_name": "Default Team",
"linkedin_owner_name": "Jane D.",
"linkedin_owner_email": "<mailto:jane.d@example.com|jane.d@example.com>",
"linkedin_id": 262,
"linkedin_name": "Jane Doe",
"linkedin_account_alert": "InMail credits are used up โ this account can't send InMails until credits renew.",
"sequence_fields": {}
}
Weekly connection limit reached
{
"event": {
"date": "2026-05-13T10:47:27.4486303Z",
"id": "654258f1-a426-4d3c-96a2-b3da5f78af29",
"type": "linkedin_account_alerts",
"user_id": 12345,
"team_id": 67890,
"subscription_id": 492
},
"workspace_id": 67890,
"workspace_name": "Default Team",
"linkedin_owner_name": "Jane D.",
"linkedin_owner_email": "<mailto:jane.d@example.com|jane.d@example.com>",
"linkedin_id": 262,
"linkedin_name": "Jane Doe",
"linkedin_account_alert": "Weekly connection request limit reached. Sending new connection requests will resume after LinkedIn resets the quota.",
"sequence_fields": {}
}
๐ Full docs: https://docs.reply.io/webhook-event-payloads#linkedin_account_alerts
Would love to hear what you build with it, drop a comment or share your workflow! ๐Dasha
05/18/2026, 12:37 PMDasha
05/27/2026, 3:18 PMDasha
06/08/2026, 5:41 PMtotalCount removed from Contacts endpoints
AffectsยทGET /v3/contactsPOST /v3/contacts/filter
Response now returns only2๏ธโฃ Sequence Preview feedback path moved โ now under the+items. If you readhasMore, switch to cursor-style pagination usingtotalCount.hasMore
ai-sdr segment:
3๏ธโฃ Tag renames/v3/sequences/ai-sdr/{id}/contacts/{id}/preview/steps/{step_id}/feedback
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โจ AI SDR Sequences โ now fully covered All 14 endpoints are live underโAI SDR Live DataยทLive DataโAI SDR Contact EnrichmentยทContact EnrichmentโJasonAi creditsReply credits
/v3/sequences/ai-sdr/{id} (Create = base path, no {id}):
Action Method Path
Create sequence POST (base)
Get settings GET /settings
Update settings PATCH /settings
Enable autopilot POST /autopilot/enable
Disable autopilot POST /autopilot/disable
Force-start autopilot POST /autopilot/force-start
Set approval mode PUT /approval-mode
Set generated step types PUT /generated-step-types
Get/Set/Remove playbook GET/PUT/DELETE /playbook
Get/Set/Remove knowledge base GET/PUT/DELETE /knowledge-base
Heads up on force-start errors:โจ More new endpoints โข Intent Signals (typeahead) โ(limit reached) ยท409 autopilotDisabledByContactsLimit(no contacts) ยท409 autopilotDisabledByLackOfContactson playbook/KB DELETE when nothing's attached.404
GET /v3/ai-sdr/intent-signals/industries ยท โฆ/technologies
โ ๏ธ These return Sales Navigator strings โ different from Live Data filter-value industries (Reply taxonomy), so don't mix them up.
โข Live Data Filter Values are live (finally off "coming soon" ๐) โ 5 typeahead endpoints under `/v3/live-data/filter-values`: industries ยท departments ยท seniorities ยท locations ยท job-titles
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ง Smaller improvements
โข Inbox โ filter by owner via new `ownerUserId`: POST /v3/inbox/threads/filter (body, integer nullable) and GET /v3/inbox/threads/categories (query param, integer). Target user must be on your team, else 400.
โข Rate limiting โ all 429 responses now include a Retry-After header (integer, seconds) so you can back off cleanly.
โข Sidebar reordered to strict AโZ, parent-first grouping.
โข Auth guide rewritten โ now covers Master API key + Organization API key (with impersonation details).
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Full docs: https://docs.reply.io/api-reference
Questions or hit a snag migrating? Drop them in the thread ๐งตDasha
06/15/2026, 5:12 PMAI voice LinkedIn message - playback speed removed
Before: body accepted textToSpeechSettings with a speed multiplier.
After: textToSpeechSettings / speed removed; only text is accepted.
Action required: remove textToSpeechSettings from your request body - it has no effect.๐ Full docs: https://docs.reply.io/api-reference
Dasha
06/30/2026, 3:45 PMTL;DR: Mostly AI SDR + Live Data roadmap โ search, autopilot-preview, and per-contact personalization endpoints are now fully documented ahead of their mid-June 2026 launch (still Coming Soon, not callable yet). The one live change is cosmetic: direct-outreach sends moved into their own Direct Outreach section.๐ข Now Live Direct Outreach โ sends get their own section. The 6 direct-send endpoints (already beta) moved out of Contacts into a new Direct Outreach group. Paths, methods, and behavior are unchanged โ docs grouping only, no action needed. ๐ Coming Soon (not callable yet) Live Data โ Search API โข Preview a search โ
POST /v3/live-data/searches/preview โ 202 {jobId} (no prospects, no credits)
โข Start a search โ POST /v3/live-data/searches โ 200 {searchId} (note: 200, not 202; consumes credits)
โข List searches โ GET /v3/live-data/searches (default top 100)
โข Get a search โ GET /v3/live-data/searches/{id}
New 422 liveDataSearch.noMatchingContacts. Status enum: inProgress / finished / noMoreContacts / manuallyPaused / pausedDueToInsufficientCredits.
AI SDR โ Autopilot preview
โข POST /v3/sequences/ai-sdr/{sequence_id}/autopilot/preview โ 202 {jobId}, poll GET /v3/background-jobs/{id} for {contactsCount, companiesCount, sampleContacts}. Try-before-save: filter config doesn't need saving first.
AI SDR โ Sequence preview & personalization
โข Get preview โ GET /v3/sequences/{sequence_id}/contacts/{contact_id}/preview (generic, not AI-SDR-only)
โข Reset preview โ POST .../preview/reset
โข Personalize โ POST /v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/preview/personalize โ 202 {jobId}, progress personalizedSteps/totalSteps
Early adopters: personalization endpoint renamed from๐ง Housekeeping โข New Direct Outreach tag (after Custom Fields) โข Live Data list + AI SDR Approvals listto `.../preview/personalize`; bulk stub removed. Never shipped, so no live impact..../personalization/start
top default corrected 25 โ 100
โข Live Data search status enum casing fixed to camelCase
โข totalSteps documented in the personalization job result
๐ Full docs: docs.reply.io/api-referenceDasha
07/08/2026, 3:51 PMDasha
07/17/2026, 11:17 AMTL;DR: Sequence sorting & date filters,๐ข Now Live โข Workspace โon contact accounts, new team-users endpoint. Counts, unarchive, CSV export & email stats documented ahead of July releases.emailProvider
GET /v3/whoami/team-users lists all users in your team: teamId, teamName, userId, userName, userEmail
โข Sequences โ GET /v3/sequences gains sortBy (`created`/`name`/`status`), sortDirection (`asc`/`desc`, requires sortBy), createdAfter (ISO-8601); invalid sort โ 400 sequence.invalidSort
โข Contact Accounts โ single-account responses add read-only emailProvider, resolved from the domain's MX records (gSuite, office, gmail, โฆ); null when undetermined
โข AI SDR Reply Handlers (beta) โ new deliveryMode (`draft`/`auto`/`stopAndNotify`) + `additionalNotificationEmail`; stopAndNotify is feature-gated โ 403 knowledgeBase.stopAndNotifyNotEnabled
๐ Coming Soon
late July 2026:
โข Counts (return {"count": N}): POST /v3/contacts/filter/count โข GET /v3/sequences/count โข GET /v3/sequences/{id}/contacts/count
โข Unarchive: POST /v3/sequences/{id}/unarchive โข POST /v3/sequences/unarchive (bulk, 1โ100 ids, non-atomic)
โข Email account stats: GET /v3/email-accounts/{id}/stats โข POST /v3/email-accounts/stats (emailsSentToday, totalEmailsSent, dailySendingLimit)
mid-July 2026:
โข GET /v3/holiday-calendars/{id}/export-csv โ CSV download, filename = calendar name
๐docs.reply.io/api-reference/introductionDasha
07/27/2026, 3:27 PMcontact_replied webhook, email_replied now fires on every email reply (was first-reply-only), richer sequence_fields on all sequence webhooks โ and one breaking change: email_replied dropped its reason field. All webhook changes are v3 only โ v2 is untouched.
๐ข Now Live
Contacts โ inbox threads on a contact's timeline (Beta)
โข GET /v3/contacts/{id}/inbox-threads โ email/LinkedIn threads for a contact; paged top (default 25, max 1000) / `skip`; scope contacts:read. New Contact Inbox Thread schema.
Inbox โ reply to a specific message
โข messageId (string, nullable) now returned on email & LinkedIn messages.
โข replyToMessageId (string, nullable) on the email send request โ omit to reply to the last message in the thread.
Webhooks โ email_replied now fires on every reply
โข Previously it fired only on the first reply from a contact, so any replies after that weren't tracked. Now you get an event for every new email reply.
Webhooks โ new contact_replied event
โข Channel-agnostic status signal โ fires whenever a contact's status changes to "Replied", regardless of how (email, LinkedIn, SMS, or manual/API mark). `reason`: EmailDetected / LinkedInDetected / SmsDetected / StatusSetManually.
โข Payload: reply_date, reply_message_id, reason, contact_fields, contact_custom_fields, sequence_fields. Correlate to per-channel webhooks via reply_message_id.
Webhooks โ richer sequence_fields
โข Now consistently carries id + name + step_number across sequence events (was id-only or `id`+`step_number` on some).
โข linkedin_reply_categorized now carries sequence_fields + opt-in linkedin_message (needs includeLinkedInMessageText).
Auth โ stable error codes for Organization API keys
โข Rejected impersonation โ application/problem+json with a `code`: 403 USER_REQUIRED, 401 USER_NOT_FOUND, 403 TEAM_NOT_ACCESSIBLE.
Breaking Changes
email_replied โ reason removed; scope narrowed
Before: fired only on the first detected reply or when contact status was set to "Replied"; payload had reason (`EmailDetected`/`StatusSetManually`).
After: no `reason`; fires on every detected email reply โ and only on detected replies. Manual "Replied" marks now flow through contact_replied.
Action: stop reading `reason`; expect multiple events per contact; to catch manual marks subscribe to contact_replied (reason: StatusSetManually).
Note: these webhook changes apply to v3 webhooks only โ v2 behavior is unchanged.
๐ Full docs: docs.reply.io/api-referenceDasha
08/11/2026, 1:16 PMTL;DR: The AI SDR API surface is now live in Beta โ 39 endpoints across AI SDR sequences, pending approvals, Live Data, sequence preview, offer generation, intent signals, the Strategist, and Inbox AI drafts moved from "coming soon" to Beta. No breaking changes.๐ข Now Live (Beta) AI SDR Sequences โ full lifecycle via API โข
POST /v3/sequences/ai-sdr โ create an AI SDR sequence
โข `GET`/`PATCH /v3/sequences/ai-sdr/{sequence_id}/settings` โ read / update AI settings
โข POST โฆ/autopilot/enable ยท โฆ/disable ยท โฆ/force-start ยท โฆ/preview
โข PUT โฆ/approval-mode ยท PUT โฆ/generated-step-types
โข `GET`/`PUT`/`DELETE โฆ/playbook` and โฆ/knowledge-base
AI SDR Pending Approvals
โข GET /v3/ai-sdr/approvals โ list pending approvals
โข POST /v3/ai-sdr/approvals/send-bulk โ send up to 20 at once
โข `GET`/`DELETE /v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/approval` โ inspect / reject
โข POST โฆ/approval/send ยท POST โฆ/approval/regenerate
Live Data
โข POST /v3/live-data/searches/preview โ free preview (async job)
โข `POST`/`GET /v3/live-data/searches` โ start / list searches
โข GET /v3/live-data/searches/{id} ยท GET /v3/live-data/filter-values/โฆ (typeaheads)
Sequence Preview & AI Personalization
โข GET /v3/sequences/{sequence_id}/contacts/{contact_id}/preview ยท POST โฆ/preview/reset
โข POST /v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/preview/personalize
More now in Beta: offer generation (POST /v3/ai-sdr/offers/generate + attachments), Strategist (POST /v3/ai-sdr/strategist/start), intent-signal typeaheads, Inbox AI drafts (POST /v3/inbox/threads/{id}/ai-draft/generate)
๐ Coming Soon
โข Mid August 2026: duplicate offer / duplicate playbook, holiday-calendar CSV export
โข Late August 2026: AI Insights, AI Web Search, Contact Enrichment (5 endpoints), count endpoints (contacts/sequences), sequence unarchive, email-account stats, AI feedback endpoints
๐ Docs: restructured into API Reference / MCP / Skills / CLI tabs, new MCP + CLI (reply-cli v0.3.0) + Skills + agent-guide sections, 8 task guides, and a new Slack developer community.
๐ Full documentation