Communication
- Gmail (Google Workspace)
- Outlook (Microsoft 365)
- Slack
- Microsoft Teams
- Discord
Learn about Agent Actions, Scalekit's solution for connecting to third-party applications and executing tools through a unified API
Agent Actions is Scalekit’s powerful solution that enables your applications to connect to third-party services and execute tools on behalf of your users. It provides a unified API interface for interacting with popular business applications like Gmail, Slack, Jira, and more.
Agent Actions abstracts the complexity of integrating with multiple third-party APIs by providing:
Providers are third-party applications that your users can connect to. Each provider offers specific capabilities and tools.
Examples:
Connections are configurations that define how to authenticate and interact with a specific provider. They contain:
Connected accounts represent individual user or organization connections to providers. They link a specific identifier (user_id, org_id) to a provider account and maintain:
Tools are standardized functions that can be executed against connected accounts. They abstract complex API operations into simple, consistent interfaces.
Configure connections for each provider you want to support:
// Create a connection for Gmailconst gmailConnection = await agentConnect.connections.create({ provider: 'gmail', auth_type: 'oauth2', credentials: { client_id: 'your-gmail-client-id', client_secret: 'your-gmail-client-secret' }, scopes: ['https://www.googleapis.com/auth/gmail.send']});When users want to connect their accounts, create connected accounts:
// Create a connected account for a userconst connectedAccount = await agentConnect.accounts.create({ connection_id: gmailConnection.id, identifier: 'user_123', identifier_type: 'user_id'});
// Generate OAuth URL for user authenticationconst authUrl = await agentConnect.accounts.getAuthUrl(connectedAccount.id);// Redirect user to authUrl to complete OAuth flowOnce authenticated, execute tools on behalf of users:
// Send an email using the connected accountconst result = await agentConnect.tools.execute({ connected_account_id: connectedAccount.id, tool: 'send_email', parameters: { to: 'recipient@example.com', subject: 'Hello from Agent Actions', body: 'This email was sent via Agent Actions' }});Agent Actions supports a wide range of popular business applications:
Communication
Productivity
Project Management
Development
Automate customer support workflows across multiple platforms:
// Create support ticket in Jira and notify team in Slackawait Promise.all([ agentConnect.tools.execute({ connected_account_id: 'jira_account', tool: 'create_issue', parameters: { project: 'SUPPORT', summary: 'Customer inquiry from John Doe', description: 'Customer needs help with billing' } }), agentConnect.tools.execute({ connected_account_id: 'slack_account', tool: 'send_message', parameters: { channel: '#support-team', text: 'New support ticket created for John Doe' } })]);Send personalized emails and track responses:
// Send campaign email and create calendar reminderconst emailResult = await agentConnect.tools.execute({ connected_account_id: 'gmail_account', tool: 'send_email', parameters: { to: 'lead@example.com', subject: 'Special offer for you', body: 'Check out our latest product updates...' }});
// Schedule follow-up reminderawait agentConnect.tools.execute({ connected_account_id: 'calendar_account', tool: 'create_event', parameters: { title: 'Follow up with lead', start_time: '2024-01-20T10:00:00Z', end_time: '2024-01-20T10:30:00Z' }});Coordinate project activities across different tools:
// Create project in Jira and set up Slack channelconst project = await agentConnect.tools.execute({ connected_account_id: 'jira_account', tool: 'create_project', parameters: { key: 'NEWPROJ', name: 'New Project', description: 'Exciting new project' }});
// Create dedicated Slack channelawait agentConnect.tools.execute({ connected_account_id: 'slack_account', tool: 'create_channel', parameters: { name: 'newproj-team', topic: 'New Project coordination' }});Agent Actions supports multiple authentication approaches:
Use Scalekit’s shared OAuth applications for quick setup:
Use your own OAuth applications for complete control:
Ready to start using Agent Actions? Here’s what you need to do:
Agent Actions makes it easy to build powerful integrations that connect your application to the tools your users already love. Start building today and unlock the full potential of connected applications.