Pitchit API Docs
Public API Documentation
Endpoint:
POST /api/v1/integrations/external-services/public-api/webhook
Request Payload:
{
"event_type": "add_lead",
"event_body": {
"campaign": "string",
"data": {
"email": "string",
"phone_number": "string",
"first_name": "string",
"last_name": "string",
"title": "string",
"website": "string",
"company_name": "string",
"linkedin_profile_url": "string",
"facebook_profile_url": "string",
"twitter_profile_url": "string",
"instagram_profile_url": "string"
}
}
}
- Where ‘campaign’ attribute is required
- ‘Campaign’ attribute can not be empty
- At least on of two attributes ‘phone_number’ or ‘email’ can no be empty and can not be missing
Request Example:
curl -X POST https://app.pitchit.ai/api/v1/integrations/external-services/public-api/webhook \
-H "Content-Type: application/json" \
-H "Authorization: ApiKey your-api-key" \
-d '{
"event_body": {
"data": {
"email": "test@test.com",
"title": "string",
"website": "string",
"last_name": "string",
"first_name": "string",
"company_name": "string",
"phone_number": "string",
"twitter_profile_url": "string",
"facebook_profile_url": "string",
"linkedin_profile_url": "string",
"instagram_profile_url": "string"
},
"campaign": "your-pitchit-campaign-uuid"
},
"event_type": "add_lead"
}'
Response Format:
The endpoint returns a JSON object with the following structure:
{
"webhook_uuid": "f09314ce-0bc8-4af7-9299-215509534814"
}
Response Fields:
uuid
The unique identifier of the received webhook.
Pitchit Webhooks Documentation
Actions: Recipient Priority Update
Description:
Every time pitch recipient is (re)qualified based on his interest, Pitchit app sends pitch recipient information with updated priority. Pitch recipient is re-qualified every time he replies by AI Agent or, it can be manually qualified by an end-user.
Data:
- Pitch recipient first name
- Pitch recipient last name
- Pitch recipient full name
- Pitch recipient phone number
- Pitch recipient email
- Pitch recipient priority
- Communication channel (SMS, Email, etc.)
Webhook payload:
{
"first_name": "Alice",
"last_name": "Smith",
"full_name": "Alice Smith",
"phone_number": "+15557778888",
"email": "alice.smith@example.com",
"priority": "High",
"channel": "Email"
}
Actions: Pitch Sent
Description:
Every time when a new pitch is sent, Pitchit app triggers an action to send pitch recipient data with sent pitch text.
Data:
- Pitch recipient first name
- Pitch recipient last name
- Pitch recipient phone number
- Pitch recipient email
- Campaign name of the sent pitch
- Text of a sent pitch
- Channel where pitch was sent
Webhook Payload:
{
"first_name": "John",
"last_name": "Doe",
"phone_number": "+15551234567",
"email": "john.doe@example.com",
"campaign_name": "Summer Sales 2025",
"pitch_text": "Hi John, I'd love to tell you about our new summer collection. It's designed to help you stay cool and stylish all season long. Are you free for a quick chat sometime this week?",
"pitch_channel_name": "Email"
}
Actions: Reply Received
Description:
Every time when reply received from a pitch recipient, Pitchit app sends pitch recipient data with reply information.
Data:
- Pitch recipient first name
- Pitch recipient last name
- Pitch recipient phone number
- Pitch recipient email
- Text of a reply
Webhook Payload:
{
"first_name": "Jane",
"last_name": "Doe",
"phone_number": "+15559876543",
"email": "jane.doe@example.com",
"reply_text": "Thanks for reaching out! I'm interested in learning more. When would be a good time to connect?"
}
Actions: Meeting Booked
Description:
Every time when meeting is booked by a pitch recipient, Pitch app send booking details and pitch recipient relevant information.
Data:
- Pitch recipient first name
- Pitch recipient last name
- Pitch recipient phone number
- Pitch recipient email
- Date, time and timezone of a meeting
- Link to a meeting (MS Teams or Google Meet)
- Email of a calendar owner
Webhook payload:
{
"first_name": "Peter",
"last_name": "Jones",
"phone_number": "+15552223333",
"email": "peter.jones@example.com",
"meeting_datetime": "2025-06-10T14:30:00Z",
"meeting_link": "https://meet.example.com/peterjonesmeeting",
"calendar_owner": "sales_team@example.com"
}
Actions: Pitch Recipient Insights Update
Description:
Every time pitch recipient is replying and provide more data about himself (location, profession, etc.) AI Agent identifies it and updates insights about the pitch recipient which may be helpful to win a deal. Once insights are updated - Pitchit app send pitch recipient data with updated insights information about him.
Data:
- Pitch recipient first name
- Pitch recipient last name
- Pitch recipient phone number
- Pitch recipient email
- Pitch recipient priority explanation
- Pitch recipient additional information
Webhook Payload:
{
"first_name": "Robert",
"last_name": "Brown",
"phone_number": "+15554449999",
"email": "robert.brown@example.com",
"insights_score_explanations": "High engagement with pricing page, downloaded whitepaper on advanced features.",
"insights_additional_information": "Expressed interest in enterprise-level solutions during initial call."
}
How to Subscribe:
First of all you need to find the webhooks you are subscribed to. To find them, do the following:

Step 1: Click user-name at the bottom of the left navigation menu

Step 2: Navigate to the Webhooks tab

Step 3: Now you can see the list of created webhooks. No webhooks? Don’t worry, let’s create a new one - click "Create Webhook"

Step 4: Once clicked, you’ll find a webhook set up page. Here you can easily set up a webhook, give it a name, and select a trigger you’d like to subscribe to (see here for a full list of the available triggers).
Do not forget to mention the URL where the data will be posted every time when event is triggered.
If you’d like to authorize a POST request from the Pitch app, you can easily do it by providing an API Key, Value and where in the request it should be set (header or query params). Other Auth Types will supported in the near future.
And the last step, you need to select Pitchit Campaigns you’d like to subscribe to, multiselect is supported.