ReplySparrow Docs

Contacts

Add a signal to a contact

Designed for first-party signals: actions a lead takes in your own product or stack, pushed programmatically the moment they happen. Hook it to any event you already track (a lead signs up for a free trial, books a demo, attends your webinar, downloads your pricing guide, upgrades to a paid plan...) and the signal is added to the contact, next to the signals detected by ReplySparrow agents, most recent first. Anything that can send an HTTP request can feed it: your backend, a CRM workflow, a form or scheduling tool webhook, Zapier, Make or n8n. Needs the signals:write scope.

To send a first-party signal, describe what happened in intent (e.g. "Booked a demo from the pricing page"), optionally add a short label in intent_keyword (e.g. "demo_booked"), and leave intent_type empty. Signals without an intent_type are recorded on every call, so repeated events (a second demo, another webinar) are all kept; make sure your integration sends each event only once.

Set intent_type only to record one of the signal types detected by ReplySparrow agents. A typed signal the contact already has (same intent_type and intent_keyword) is not recorded twice and the call returns created: false; hiring, hiring_surge, new_decision_maker, recently_active, job_change and funding are recorded at most once per contact, whatever the keyword. At least one of intent, intent_type or intent_keyword is required.

posthttps://app.replysparrow.com/api/v1/contacts/{id}/signals

Authorizations

Authorizationstringheaderrequired

Your API key from Settings → API, sent as Bearer <token>.

Path Parameters

idstringrequired

Contact id

Body

application/json
intentstring

Human-readable description of what the lead did, as it should appear on the contact

Example: "Booked a demo from the pricing page"

intent_typeenum<string>

Leave empty for first-party signals. Only set it to record one of the signal types detected by ReplySparrow agents.

Available options: competitor_engagementinfluencer_engagementkeyword_engagementown_content_engagementjob_changehiringfundingwebsite_visitlookaliketop_activerecently_activenew_decision_makerhiring_surgeprofile_viewcompany_followtechnologyproduct_intent

Short label for the signal, e.g. trial_signup, demo_booked or webinar_attended

Example: "demo_booked"

Response

application/json

Whether the signal was recorded, and the contact with its up-to-date signals

createdbooleanrequired

false when the contact already had this signal (only possible when intent_type is set)

contactobjectrequired
Add a signal to a contact
curl --request POST \  --url https://app.replysparrow.com/api/v1/contacts/string/signals \  --header 'Authorization: Bearer <token>' \  --header 'Content-Type: application/json' \  --data '{  "intent": "Booked a demo from the pricing page",  "intent_keyword": "demo_booked"}'
{  "created": true,  "contact": {    "id": "8f1c2c3e-5b7a-4a51-9d0e-2b6f8f6d9c11",    "workspace_id": "ws_123",    "first_name": "Ada",    "last_name": "Lovelace",    "full_name": "Ada Lovelace",    "headline": "CTO at Analytical Engines",    "summary": null,    "title": "CTO",    "seniority": null,    "tenure_months": null,    "linkedin_url": "https://www.linkedin.com/in/ada-lovelace",    "sales_nav_url": null,    "linkedin_member_urn": null,    "profile_image_url": null,    "degree": null,    "location": "London, UK",    "city": null,    "country": null,    "time_zone": null,    "company": "Analytical Engines",    "company_id": null,    "company_size": 120,    "company_industry": "Software Development",    "company_location": null,    "company_linkedin_url": null,    "company_logo_url": null,    "company_description": null,    "website": null,    "position_dates": "2023 - Present",    "email": "ada@example.com",    "email_status": "valid",    "email_verified_at": null,    "email_domain_catchall": null,    "phone": "+441234567890",    "intent_score": 25,    "fit_score": 88,    "fit_verdict": "fit",    "fit_reason": null,    "fit_confidence": null,    "lead_score": 82,    "scored_at": null,    "lead_source": "api",    "agent_id": null,    "agent_status": "qualified",    "skip_reason": null,    "hand_picked": 0,    "owner_id": null,    "notes": null,    "connection_requested_at": null,    "connected_at": null,    "message_sent_at": null,    "inmail_sent_at": null,    "last_replied_at": null,    "email_replied_at": null,    "reply_kind": null,    "enriched_at": null,    "created_at": "2026-10-01 09:12:44",    "linkedin_identifier": "ada-lovelace",    "skills": [      "Mathematics",      "Engineering"    ],    "bounced": false,    "unsubscribed": false,    "blocked": false,    "company_blocked": false,    "email_enriched": true,    "phone_enriched": true,    "enriching_email": false,    "enriching_phone": false,    "ready_for_campaign": true,    "has_started_campaign": true,    "state": "in_campaign",    "rejected_at": null,    "rejected_by_user_id": null,    "rejection_reason": null,    "rejection_reason_text": null,    "intent": "Became CTO at Analytical Engines",    "intent_type": "job_change",    "intent_keyword": null,    "campaign_status": [      {        "campaign_id": "a3f1c2d4-0000-4000-8000-000000000001",        "campaign_name": "Q4 founders",        "track": "linkedin",        "state": "in_progress",        "current_step": 2,        "next_step_at": "2026-10-26 09:00:00"      }    ],    "signals": [      {        "id": "c7e0e0a2-2f4b-4c1e-9d55-0b9a4e3f1a10",        "contact_id": "8f1c2c3e-5b7a-4a51-9d0e-2b6f8f6d9c11",        "type": "job_change",        "title": "Became CTO at Analytical Engines",        "description": null,        "score": 25,        "source": "linkedin",        "source_url": null,        "occurred_at": "2026-09-28T00:00:00.000Z",        "metadata": {},        "created_at": "2026-09-28T08:00:00.000Z"      }    ],    "custom_fields": {      "favorite_tool": "Notion"    },    "agent": {      "id": "5b0f3c2e-8a8e-4bd1-9a51-6f1f3c0f2a10",      "name": "VP Sales in US SaaS",      "target_job_titles": [        "VP Sales",        "Head of Sales"      ],      "target_industries": [        "Software Development"      ],      "target_company_sizes": [        "51-200",        "201-500"      ],      "target_locations": [        "United States"      ],      "target_company_types": [],      "ignored_companies": [        "Globex"      ],      "mandatory_keywords": [],      "exclude_service_providers": true,      "skip_icp_filter": false,      "signals": [        {          "id": "8e2d…",          "type": "competitor_engagement",          "values": [            "https://www.linkedin.com/company/globex/"          ],          "enabled": true        }      ],      "paused": false,      "status": "active",      "min_lead_score": 70,      "list_id": "c1a4…",      "last_run": null,      "last_error": null,      "created_at": "2026-10-24T09:12:44.000Z",      "updated_at": "2026-10-24T09:12:44.000Z"    },    "lists": [      {        "id": "list_1",        "name": "Q4 targets",        "campaigns": [          {            "id": "5b0c6c1e-8a43-4f7e-9d7d-1f8a2b3c4d5e",            "name": "Q4 founders",            "active": false,            "channel": "linkedin",            "status": "draft",            "goal": "conversations",            "tone": "professional",            "language": null,            "booking_url": null,            "exclude_first_degree": true,            "split_messages": false,            "skip_invitation_after_days": 7,            "linkedin_account_id": "acc_123",            "email_account_id": null,            "linkedin_account_ids": [              "acc_123"            ],            "email_account_ids": [],            "list_id": "9f8e7d6c-0000-4000-8000-000000000001",            "list_ids": [              "9f8e7d6c-0000-4000-8000-000000000002"            ],            "workflow_id": "wf_123",            "steps": [              {                "id": "st_1",                "track": "linkedin",                "order": 1,                "type": "connect",                "delay_days": null,                "message": null,                "connect_note": null,                "email_subject": null,                "email_body": null,                "ai": true              },              {                "id": "st_2",                "track": "linkedin",                "order": 2,                "type": "delay",                "delay_days": 1,                "message": null,                "connect_note": null,                "email_subject": null,                "email_body": null,                "ai": false              },              {                "id": "st_3",                "track": "linkedin",                "order": 3,                "type": "message",                "delay_days": null,                "message": "Hi {{first_name}}, thanks for connecting!",                "connect_note": null,                "email_subject": null,                "email_body": null,                "ai": false              }            ],            "created_at": "2026-10-24T09:12:44.000Z",            "updated_at": "2026-10-24T09:12:44.000Z"          }        ]      }    ]  }}