Skip to main content
Kapso exposes conversation history via the Meta proxy. Results include the phone number and the Kapso phoneNumberId that owns the conversation.

List conversations

const page = await client.conversations.list({
  phoneNumberId: '123',
  status: 'active',
  lastActiveSince: '2025-01-01T00:00:00Z',
  perPage: 20
});

page.data.forEach((c) => {
  console.log(c.id, c.phoneNumber, c.status, c.phoneNumberId);
});
Common filters
  • status: active | ended
  • lastActiveSince / lastActiveUntil: ISO-8601 timestamps
  • phoneNumber: filter by customer phone (E.164)

Get a conversation

const conv = await client.conversations.get({ conversationId: 'conv-123' });

// Example shape
// {
//   id: 'conv-123',
//   phoneNumber: '+15551234567',
//   status: 'active',
//   lastActiveAt: '2025-01-01T12:00:00Z',
//   phoneNumberId: '123',
//   metadata: {}
// }

Update status

await client.conversations.updateStatus({
  conversationId: 'conv-123',
  status: 'ended'
});
Conversations are available when using the Kapso proxy base URL. When calling Meta directly, this data is not provided by Graph.
I