Enable AI highlights when creating a meeting. Receive highlights in real-time through the client SDK or via webhook to your backend.
// npm install v100-sdk
import { V100 } from 'v100-sdk';
const v100 = new V100('v100_live_YOUR_API_KEY');
// Create meeting with AI highlights enabled
const meeting = await v100.meetings.create({
name: 'Sprint Planning',
transcription: { enabled: true, mode: 'live' },
highlights: {
enabled: true,
types: ['action_item', 'decision', 'question', 'topic', 'sentiment'],
panel: true, // Show highlights panel in meeting UI
webhookUrl: 'https://api.yourapp.com/highlights',
clientFallback: true // Enable keyword detection if AI unavailable
}
});
// Listen for real-time highlights (client SDK)
v100.on('highlight.detected', (highlight) => {
console.log(highlight);
// {
// type: "action_item",
// text: "I'll send the updated pricing deck to the client by EOD Thursday",
// speaker: { id: "usr_abc", name: "Marcus Rivera" },
// timestamp: 847.2,
// confidence: 0.94,
// entities: {
// assignee: "Marcus Rivera",
// action: "send updated pricing deck to client",
// deadline: "Thursday EOD"
// }
// }
});
v100.on('highlight.topic_change', (topic) => {
// { topic: "Q3 Revenue Projections", startTime: 1204.5 }
});
// Get all highlights after meeting ends
const highlights = await v100.highlights.list(meeting.id);
// highlights.actionItems → [{ text: "...", assignee: "...", ... }, ...]
// highlights.decisions → [{ text: "...", decider: "...", ... }, ...]
// highlights.questions → [{ text: "...", answered: true, ... }, ...]
// highlights.topics → [{ topic: "...", startTime: ..., endTime: ... }, ...]
// highlights.sentiment → [{ segment: "...", score: 0.82, label: "positive" }, ...]
{
"event": "highlight.detected",
"meetingId": "mtg_abc123",
"highlight": {
"type": "decision",
"text": "We're going with the hybrid pricing model for Q3",
"speaker": { "id": "usr_xyz", "name": "Sarah Kim" },
"timestamp": 1547.8,
"confidence": 0.91
},
"signature": "sha256=a1b2c3d4..."
}