Skip to main content
After each call finishes, Famulor automatically sends a POST request to your configured webhook URL. This payload includes call details, AI-extracted variables, conversation transcript, and optionally the recording link.

Setting Up Webhooks

To receive post-call webhooks:
  1. Set your webhook URL in assistant settings
  2. Activate “Post call webhook” in assistant configuration
  3. Configure which variables the AI should extract from conversations

Webhook Request Format

The webhook is delivered as a POST request to your URL with JSON payload:

Payload Structure

id
integer
Call identifier
customer_phone
string
Customer’s phone number in E.164 format (example: “+1234567890”) or null
assistant_phone
string
Assistant’s phone number in E.164 format or null
duration
integer
Call length in seconds
status
string
Final call outcome (e.g., “completed”, “busy”, “failed”)
extracted_variables
object
AI-extracted data based on your post-call schema
input_variables
object
Variables provided to the assistant before call start
transcript
string
Full conversation transcript
recording_url
string
Download URL for call recording (only if enabled in assistant settings)
created_at
string
ISO 8601 timestamp of call initiation
finished_at
string
ISO 8601 timestamp of call completion (uses call record’s updated_at)
lead
object
Lead details (only for campaign calls)
{
  "id": 12345,
  "customer_phone": "+1234567890",
  "assistant_phone": "+1987654321",
  "duration": 125,
  "status": "completed",
  "extracted_variables": {
    "status": true,
    "summary": "Customer interested in product demo",
    "lead_quality": "high",
    "next_action": "schedule_demo"
  },
  "input_variables": {
    "customer_name": "John Doe",
    "product_interest": "Pro Plan"
  },
  "transcript": [
    {
      "text": "Hello! This is Sarah from Famulor. How are you today?",
      "type": "transcript",
      "sender": "bot",
      "timestamp": 1756812511.315143
    },
    {
      "text": "Hi, I'm doing well, thanks for calling.",
      "type": "transcript",
      "sender": "human",
      "timestamp": 1756812514.104436
    },
    {
      "text": "I'm calling to tell you about our new product features.",
      "type": "transcript",
      "sender": "bot",
      "timestamp": 1756812522.918859
    },
    {
      "text": "That sounds interesting, tell me more.",
      "type": "transcript",
      "sender": "human",
      "timestamp": 1756812525.234567
    }
  ],
  "formatted_transcript": "AI: Hello! This is Sarah from Famulor. How are you today?\nCustomer: Hi, I'm doing well, thanks for calling.\nAI: I'm calling to tell you about our new product features.\nCustomer: That sounds interesting, tell me more.",
  "recording_url": "https://app.famulor.de/storage/recordings/call-12345.mp4",
  "created_at": "2025-01-15T10:30:00.000000Z",
  "finished_at": "2025-01-15T10:32:05.000000Z",
  "lead": {
    "id": 789,
    "phone_number": "+1234567890",
    "variables": {
      "source": "website",
      "interest_level": "high"
    },
    "status": "contacted",
    "created_at": "2025-01-15T09:00:00.000000Z",
    "updated_at": "2025-01-15T10:32:05.000000Z",
    "campaign": {
      "id": 456,
      "name": "Product Demo Campaign",
      "status": "active",
      "allowed_hours_start_time": "09:00",
      "allowed_hours_end_time": "17:00",
      "allowed_days": ["monday", "tuesday", "wednesday", "thursday", "friday"],
      "max_calls_in_parallel": 5,
      "max_retries": 3,
      "retry_interval": 60,
      "created_at": "2025-01-15T08:00:00.000000Z",
      "updated_at": "2025-01-15T08:00:00.000000Z"
    }
  }
}

Configuration Options

Customize your post-call webhook behavior:
  • Send webhook only on completed: Only trigger webhooks for successfully completed calls
  • Include recording in webhook: Add the recording_url field to the payload
  • Custom variables: Define specific variables for AI to extract during conversations

Important Notes

  • customer_phone and assistant_phone may be null if unavailable
  • recording_url is only included when “Include recording in webhook” is enabled in assistant settings
  • The lead object only appears for campaign-related calls
  • extracted_variables contains only the variables defined in your assistant’s post-call schema