Back to Blog
Features 8 min read Jan 1, 2025

Implementing AI Call Summaries

Enable AI-powered summaries, transcriptions, and action item extraction.

What You Get

CallPayMin's AI summary feature automatically generates:

  • Full Transcription - Word-for-word transcript with speaker labels
  • Key Points - Bullet-point summary of main discussion topics
  • Action Items - Tasks and follow-ups mentioned in the call
  • Sentiment Analysis - Overall tone and satisfaction indicators

Enabling AI Summaries

Enable AI summaries when creating a call:

Enable on Call Creation
const call = await client.calls.create({
  expertId: 'expert_123',
  questerId: 'quester_456',
  type: 'video',
  settings: {
    aiSummary: true,           // Enable AI summary
    transcription: true,        // Enable transcription
    recording: true,            // Required for summary
  },
});

Note: Recording must be enabled for AI summaries to work. The summary is generated from the call recording.

Receiving the Summary

Summaries are generated asynchronously after the call ends. Listen for the summary.ready webhook:

Webhook Handler
app.post('/webhooks/callpaymin', (req, res) => {
  const event = req.body;

  if (event.type === 'summary.ready') {
    const { callId, summary } = event.data;

    console.log('Summary ready for call:', callId);
    console.log('Key Points:', summary.keyPoints);
    console.log('Action Items:', summary.actionItems);
    console.log('Transcript:', summary.transcript);

    // Store in your database
    await db.callSummaries.create({
      callId,
      ...summary,
    });

    // Notify participants
    sendEmail(event.data.questerId, {
      subject: 'Your Call Summary is Ready',
      summary: summary.keyPoints,
    });
  }

  res.status(200).json({ received: true });
});

Summary Object Structure

Summary Object
{
  "id": "sum_abc123",
  "callId": "call_xyz789",
  "generatedAt": "2025-01-15T15:30:00Z",
  "duration": 1847, // seconds

  "keyPoints": [
    "Discussed Q1 marketing strategy",
    "Agreed to increase social media budget by 20%",
    "Planning product launch for March"
  ],

  "actionItems": [
    {
      "task": "Send updated marketing proposal",
      "assignee": "expert",
      "deadline": "2025-01-20"
    },
    {
      "task": "Review competitor analysis",
      "assignee": "quester"
    }
  ],

  "transcript": [
    {
      "speaker": "expert",
      "timestamp": 0,
      "text": "Hi, thanks for joining today..."
    },
    {
      "speaker": "quester",
      "timestamp": 5,
      "text": "Thanks for having me..."
    }
  ],

  "sentiment": {
    "overall": "positive",
    "score": 0.85
  }
}

Fetching Summaries via API

You can also fetch summaries directly via the API:

Get Summary
// Get summary for a specific call
const summary = await client.summaries.get('call_xyz789');

// List all summaries
const summaries = await client.summaries.list({
  limit: 20,
  startDate: '2025-01-01',
});

Pricing

Self-Managed Mode

  • AI Summary: $0.075 per call
  • Transcription: $0.038/min

Fully Managed Mode

  • AI Summary: $0.095 per call
  • Transcription: $0.048/min

Best Practices

  • Only enable for calls where summaries add value
  • Let users opt-in to summaries for privacy
  • Store summaries in your database for search
  • Use action items to drive user engagement

View your summaries in the Summaries Dashboard.