Skip to main content
Intro APIs are where Introd stops being analysis and starts being workflow. They create requests, normalize status, record lifecycle events, and feed that history back into the graph.

Main routes

RoutePurpose
GET /api/dashboard/intro-requestsList intro requests for the dashboard
POST /api/dashboard/intro-requestsCreate a request through the dashboard bridge
PATCH /api/dashboard/intro-requests/:idUpdate request content, schedule, or status
POST /api/people/network-introCreate a request directly from people search
GET /api/graph/intro-outcomesOutcome dashboard
GET /api/graph/intro-outcomes/leaderboardsConnector and target outcome views
GET /api/graph/intro-marketplaceMarketplace-style route intelligence
GET /api/graph/intro-marketplace/routes/:targetIdRanked connector options for a target
/api/intros-ai/*AI prep cards, follow-ups, and insight helpers

Create request payload

The dashboard bridge accepts a surprisingly rich draft payload:
{
  "target_name": "Jane Founder",
  "target_company": "Acme Bio",
  "target_title": "CEO",
  "target_linkedin_url": "https://www.linkedin.com/in/example/",
  "via_name": "Trusted Connector",
  "via_company": "Introd",
  "via_title": "Founder",
  "via_linkedin_url": "https://www.linkedin.com/in/connector/",
  "path_strength": "strong",
  "mutual_count": 3,
  "path_evidence": [
    "6 emails exchanged",
    "1 meetings",
    "Shared investor network"
  ],
  "path_reason": "Recent email evidence and investor overlap",
  "subject": "Warm intro to Jane Founder",
  "message": "Would you be open to introducing me?",
  "status": "draft",
  "scheduled_for": "2026-06-15T15:00:00.000Z"
}

Lifecycle normalization

The intro request bridge maps multiple raw statuses into a smaller product vocabulary.
Input or eventDashboard statusConnector statusTarget status
draft, draftedpendingdraftednot_contacted
pending, requested, awaiting_connectorpendingawaiting_connectornot_contacted
approved, accepted, connector_repliedapprovedconnector_repliednot_contacted
sent, intro_sentin_progresscompletedintro_sent
replied, target_repliedrepliedcompletedtarget_replied
meeting, meeting_bookedmeetingcompletedmeeting_booked
completed, convertedcompletedcompletedconverted
declineddeclineddeclineddeclined
failed, ghosted, archived, cancelledcancelledfailedghosted

What happens after create or update

When a request is created or updated, Introd already does important follow-on work:
  • creates an intro request event
  • invalidates connector execution insights
  • invalidates relationship intelligence caches
  • schedules a user graph sync
  • syncs intro outcomes back into the graph when relevant
That feedback loop is the reason intro execution belongs in the documentation, not just the UI.

Tracking tabs

The dashboard request list already supports meaningful filtering:
  • all
  • active
  • in_progress
  • completed
  • declined

Why outcomes matter

Intro outcomes directly influence:
  • connector score
  • introducer likelihood
  • target responsiveness
  • route ranking for similar future asks