Why OnePgr.Action?
Build AI agents that can actually execute tasks, not just chat about them.
Unified Interface
One consistent API for all your systems, regardless of underlying technology or protocol.
Secure by Default
Built-in authentication, authorization, and audit logging for every action execution.
Composable Actions
Chain actions together to build complex workflows and multi-step processes.
Version Control
Track action versions, rollback changes, and maintain backward compatibility.
Action Families
Organized action categories covering all major system integrations
Send emails, read inbox, manage threads
onepgr.Action.email.sendonepgr.Action.email.readonepgr.Action.email.replyPhone
Make calls, send SMS, manage voicemail
onepgr.Action.phone.callonepgr.Action.phone.smsonepgr.Action.phone.voicemailCalendar
Schedule meetings, check availability, manage events
onepgr.Action.calendar.createonepgr.Action.calendar.findonepgr.Action.calendar.updateDocuments
Create, read, update documents
onepgr.Action.document.createonepgr.Action.document.readonepgr.Action.document.updateDatabase
Query databases, update records, run transactions
onepgr.Action.database.queryonepgr.Action.database.updateonepgr.Action.database.transactionWeb
HTTP requests, webhooks, API calls
onepgr.Action.web.getonepgr.Action.web.postonepgr.Action.web.hookMessaging
Slack, Teams, WhatsApp, and more
onepgr.Action.message.sendonepgr.Action.message.readonepgr.Action.message.threadPayments
Process payments, refunds, subscriptions
onepgr.Action.payment.chargeonepgr.Action.payment.refundonepgr.Action.payment.subscribeQuick Start Guide
Get up and running with OnePgr.Action in minutes
Install the SDK
npm install @babuai/onepgr-action
# or
pip install babuai-onepgr-actionInitialize the Client
import { OnePgrAction } from '@babuai/onepgr-action';
const client = new OnePgrAction({
apiKey: process.env.ONEPGR_API_KEY,
environment: 'production'
});Execute Your First Action
// Send an email
const result = await client.execute({
action: 'onepgr.Action.email.send',
params: {
to: 'customer@example.com',
subject: 'Welcome to Babu.ai',
body: 'Thank you for joining!'
}
});
console.log(result);Chain Actions Together
// Create a meeting and send confirmation
const workflow = await client.execute([
{
action: 'onepgr.Action.calendar.create',
params: {
title: 'Product Demo',
attendees: ['customer@example.com'],
duration: 60
}
},
{
action: 'onepgr.Action.email.send',
params: {
to: 'customer@example.com',
subject: 'Meeting Confirmed',
body: 'Your demo is scheduled for tomorrow at 2 PM.'
}
}
]);Real-World Examples
See how OnePgr.Action is used in production workflows
Sales Follow-up Workflow
Automatically send a follow-up email after a sales call
// After a sales call, automatically follow up
const followUp = await client.execute({
action: 'onepgr.Action.email.send',
params: {
to: contact.email,
subject: `Follow-up: ${callTopic}`,
body: `Hi ${contact.name},\n\nThanks for the call today about ${callTopic}. Here's the information we discussed...`,
attachments: callRecording ? [callRecording] : []
},
metadata: {
dealId: deal.id,
callId: call.id,
triggeredBy: 'sales-call-complete'
}
});Meeting Scheduler
Find available time and schedule a meeting with confirmation
// Find available time and schedule
const availability = await client.execute({
action: 'onepgr.Action.calendar.find',
params: {
attendees: ['customer@example.com', 'sales@company.com'],
duration: 60,
timezone: 'America/New_York'
}
});
if (availability.slots.length > 0) {
const meeting = await client.execute({
action: 'onepgr.Action.calendar.create',
params: {
title: 'Product Demo',
start: availability.slots[0].start,
end: availability.slots[0].end,
attendees: availability.attendees
}
});
// Send confirmation
await client.execute({
action: 'onepgr.Action.email.send',
params: {
to: 'customer@example.com',
subject: 'Meeting Scheduled',
body: `Your meeting is confirmed for ${meeting.start}`
}
});
}Support Ticket Creation
Create a support ticket from a customer message
// Create support ticket from incoming message
const ticket = await client.execute({
action: 'onepgr.Action.database.create',
params: {
table: 'support_tickets',
data: {
customerId: message.customerId,
subject: message.subject,
description: message.body,
priority: message.urgency === 'high' ? 'urgent' : 'normal',
status: 'open',
createdAt: new Date().toISOString()
}
}
});
// Notify support team
await client.execute({
action: 'onepgr.Action.message.send',
params: {
channel: 'support-team',
platform: 'slack',
text: `New ticket #${ticket.id}: ${ticket.subject}`
}
});Payment Processing
Process a payment and send receipt
// Process payment
const payment = await client.execute({
action: 'onepgr.Action.payment.charge',
params: {
amount: order.total,
currency: 'USD',
customerId: order.customerId,
paymentMethod: order.paymentMethod,
description: `Order #${order.id}`
}
});
if (payment.status === 'succeeded') {
// Update order status
await client.execute({
action: 'onepgr.Action.database.update',
params: {
table: 'orders',
id: order.id,
data: { status: 'paid', paymentId: payment.id }
}
});
// Send receipt
await client.execute({
action: 'onepgr.Action.email.send',
params: {
to: order.customerEmail,
subject: 'Payment Confirmed - Receipt',
body: `Your payment of $${payment.amount} has been processed.\n\nReceipt: ${payment.receiptUrl}`
}
});
}