Skip to main content
The Actions RPC endpoint is the unified way to execute any of StackOne’s 10,000+ actions. It’s the same layer used by MCP servers and AI Toolset, giving you consistent programmatic access to all integrations.
This guide covers the Platform API approach to executing actions. For direct REST access to provider data, see the Unified APIs.
The RPC endpoint routes your request to the appropriate end-user’s provider based on the x-account-id header, handles authentication, transforms requests to match provider APIs, and returns normalized data.

Execute an Action

import { StackOne } from "@stackone/stackone-client-ts";

const stackOne = new StackOne({
  security: {
    username: process.env.STACKONE_API_KEY!,
    password: "",
  },
});

const result = await stackOne.actions.rpcAction({
  action: "bamboohr_list_employees",
  query: {
    pageSize: "25",
  },
  xAccountId: "customer-bamboohr",
});

// result.rpcActionResponse?.data = [{ id: "emp_123", ... }, ...]

Request Parameters

ParameterTypeDescription
actionstringThe action identifier (e.g., bamboohr_list_employees, greenhouse_create_candidate)
queryobjectQuery parameters for the action
bodyobjectRequest body for write operations
pathobjectPath parameters (e.g., { "id": "emp_123" })

Headers

HeaderRequiredDescription
x-account-idYesThe linked account to execute the action against
AuthorizationYesBasic auth with your API key

Discover Available Actions

Use GET /actions to find what actions are available for a specific account or provider:
const result = await stackOne.actions.listActionsMeta({
  filter: {
    connectors: "bamboohr",  // Filter by provider
  },
});

const actions = result.actionsMetaPaginated?.data?.[0]?.actions ?? [];

// actions = [
//   { id: "bamboohr_list_employees", label: "List Employees", ... },
//   { id: "bamboohr_get_employee", label: "Get Employee", ... },
//   ...
// ]
Build dynamic agent tooling by querying available actions first, then executing them via RPC. See Actions Metadata for a complete guide.

Common Action Patterns

Workday: List Employees

const result = await stackOne.actions.rpcAction({
  action: "workday_list_employees",
  query: { pageSize: "50" },
  xAccountId: "customer-workday",
});

Greenhouse: Create Candidate

const result = await stackOne.actions.rpcAction({
  action: "greenhouse_create_candidate",
  body: {
    first_name: "Jane",
    last_name: "Doe",
    email: "[email protected]"
  },
  xAccountId: "customer-greenhouse",
});

Salesforce: Get Contact

const result = await stackOne.actions.rpcAction({
  action: "salesforce_get_contact",
  path: { id: "contact_abc123" },
  xAccountId: "customer-salesforce",
});