Skip to main content

SDK Examples

Upload a Document to RAG

const result = await senda.knowledge.ingest(
'agent_soporte',
'returns_policy_2026.txt',
`Return Policy:
- All items can be returned within 30 days
- Electronics have a 15-day return window
- Refunds are processed within 5 business days`
);
console.log(`Uploaded: ${result.file_id} (${result.status})`);

Execute an Action Directly

const result = await senda.actions.execute('create_ticket', {
summary: 'Login page returns 500',
description: 'After latest deploy, /login returns Internal Server Error',
priority: 'high'
});

if (result.success) {
console.log(`Ticket created: ${result.response.key}`);
} else {
console.error(`Failed: ${result.response}`);
}

Monitor Usage

const usage = await senda.usage.getUsage('7d');
console.log(`Last 7 days:`);
console.log(` Messages: ${usage.metrics.messages}`);
console.log(` Tokens: ${usage.metrics.llm_tokens.total.toLocaleString()}`);
console.log(` Actions: ${usage.metrics.actions.successful}/${usage.metrics.actions.total}`);

Manage API Keys

// Create a new key for a widget
const newKey = await senda.keys.create('Widget Production', {
scopes: ['chat']
});
console.log(`New key: ${newKey.key}`); // Save this!

// List all keys
const keys = await senda.keys.list();
for (const key of keys) {
console.log(`${key.name} (${key.key_prefix}...) — ${key.is_active ? '✅' : '❌'}`);
}

// Revoke an old key
await senda.keys.revoke('ak_old_key_id');