Webhook payload reference
Complete payload schemas for every data type. Use this as a reference when building your receiving endpoint or configuring a downstream system to parse incoming webhook data.
Written By Kevin Lawrie
Last updated About 24 hours ago
General structure
All webhook payloads are delivered as HTTP POST requests with Content-Type: application/json. Every payload includes a timestamp (ISO 8601) and a webhook_name identifying which webhook sent it.
Posts (LinkedIn)
Event: new_post
{ "timestamp": "2025-03-16T12:00:00.000Z", "webhook_name": "Your Webhook Name", "data": [{ "id": "uuid", "content": "Full post text content", "author": { "name": "Jane Smith", "username": "jane-smith-acme", "profile_url": "https://linkedin.com/in/jane-smith-acme", "headline": "VP of Marketing at Acme Co", "company": "Acme Co", "profile_picture": "https://..." }, "engagement": { "likes": 142, "comments": 23, "shares": 8 }, "signal": { "id": "signal-uuid", "name": "Your Signal Name" }, "url": "https://linkedin.com/posts/...", "created_at": "2025-03-16T11:00:00.000Z", "platform": "linkedin" }] } Reddit posts
Platform: reddit
Same outer structure as LinkedIn posts. Reddit-specific fields replace LinkedIn fields:
{ "data": [{ "username": "redditor_handle", "text": "Post content", "company_name": "subreddit_name", "like_count": 42, "comments_count": 8, "post_url": "https://www.reddit.com/r/...", "posted_at": "2025-03-16T11:00:00.000Z", "platform": "reddit", "post_urn": "t3_abc123" }] } YouTube videos
Platform: youtube
{ "data": [{ "video_id": "dQw4w9WgXcQ", "title": "Video Title", "description": "Full description", "url": "https://www.youtube.com/watch?v=...", "channel": { "name": "Channel Name", "handle": "@channelhandle", "url": "https://www.youtube.com/@channelhandle", "subscribers": 12500, "verified": true }, "engagement": { "views": 125000, "likes": 8500, "comments": 420 }, "video_length": "3:45", "is_sponsored": false, "date_posted": "2025-03-16T10:00:00.000Z", "has_transcript": true, "platform": "youtube" }] } Reactions (batched)
Event: batch_reactions_export Delivered in batches of up to 50 reactions per HTTP call.
{ "type": "reactions", "event": "batch_reactions_export", "signal": { "id": "signal-uuid", "name": "Signal Name" }, "batch": { "id": "batch_reactions_1731672000000", "size": 50, "reactions": [{ "reaction_type": "like", "reacted_at": "2025-03-16T11:30:00.000Z", "profile": { "name": "John User", "headline": "Head of Sales at TechCorp", "linkedin_url": "https://linkedin.com/in/...", "profile_picture": "https://...", "urn": "ACoAAA123456" }, "post": { "url": "https://linkedin.com/posts/...", "text": "Full post text", "author": { "name": "Post Author", "username": "post-author", "headline": "CEO at Company" }, "total_reaction_count": 247, "comments_count": 23 } }] } } Comments (batched)
Event: batch_comments_export Delivered in batches of up to 50 comments per HTTP call.
{ "type": "comments", "event": "batch_comments_export", "signal": { "id": "signal-uuid", "name": "Signal Name" }, "batch": { "id": "batch_comments_1731672000000", "size": 50, "comments": [{ "text": "Great insights! Thanks for sharing.", "commented_at": "2025-03-16T11:45:00.000Z", "reactions": 12, "profile": { "name": "Jane Commenter", "headline": "Marketing Professional", "linkedin_url": "https://linkedin.com/in/...", "profile_picture": "https://...", "urn": "ACoAAA123456" }, "post": { "url": "https://linkedin.com/posts/...", "text": "Full post text", "author": { "name": "Post Author", "headline": "VP Marketing at InnovateCorp" }, "total_reaction_count": 150, "comments_count": 45 } }] } } Enriched contacts
Event: contact_export
{ "timestamp": "2025-03-16T12:00:00.000Z", "event_type": "contact_export", "origin": "export", "data": [{ "signal": { "id": "signal-uuid", "name": "Signal Name", "source": "keyword_monitoring" }, "contact": { "personal": { "first_name": "Jane", "last_name": "Smith", "email": "jane@example.com", "email_status": "valid", "headline": "VP of Marketing", "bio_summary": "...", "linkedin_url": "https://linkedin.com/in/...", "skills": ["Digital Marketing", "B2B Strategy"], "mobile_phone": "+1-415-555-0156" }, "location": { "city": "San Francisco", "country": "United States", "location_full": "San Francisco, California, United States" }, "current_position": { "job_title": "VP of Marketing", "employment_type": "Full-time", "company_name": "Acme Co" }, "company": { "name": "Acme Co", "linkedin_url": "https://linkedin.com/company/acme", "website_domain": "acme.com", "industry": "Software", "staff_count_range": "51-200", "funding_rounds": 3, "last_funding_type": "Series B", "last_funding_year": 2023 }, "education": { "school_name": "University Name", "degree": "BSc", "field_of_study": "Marketing" }, "engagement": { "original_post": { "text": "Post content", "url": "https://linkedin.com/posts/...", "author": { "name": "...", "headline": "..." } }, "user_interaction": { "reaction": { "reaction_type": "like", "reacted_at": "..." }, "comment": { "text": "Their comment", "commented_at": "..." } } } } }] } Origin values:
export— sent automatically by Signal on enrichmentai_agent— sent by AI Agent webhook actioncontact_export_ui— sent manually from Contacts manager
Job changes
{ "job_change": { "profile": { "first_name": "Jane", "last_name": "Smith", "headline": "VP of Marketing at New Corp", "email": "jane@example.com", "linkedin_url": "https://linkedin.com/in/..." }, "previous": { "title": "Director of Marketing", "company": "Old Corp" }, "current": { "title": "VP of Marketing", "company": "New Corp" }, "signal": { "name": "Job Change Signal" }, "detected_at": "2025-03-16T12:00:00.000Z" } } AI Agent payloads
All AI Agent webhook payloads add an ai_analysis block to the standard data type payload:
{ "type": "post", "event": "ai_agent_post_analysis", "post": { ... }, "ai_analysis": { "agent_name": "Buyer Intent Agent", "response": "TRUE", "custom_message": "Buyer intent detected for Jane Smith at Acme Co", "processed_at": "2025-03-16T12:00:00.000Z" } } The type field will be post, contact, or comment depending on the agent's data target.