Last updated on October 23, 2026
Ready-made actions
List and run ready-made jobs on an end customer's platform, such as reading a call transcript.
Actions are in the TypeScript package only. The Ruby gem and the Python package do not have them yet.
What actions are
Actions are ready-made jobs on the end customer's platform that Appnigma writes and keeps up to date, such as reading a Gong call's transcript. You do not write them, and they work for every end customer.
List actions: actions.list
actions.list names every action on the platforms switched on for you. Each comes with the JSON Schema of its input and output, and the scopes the end customer's connection must have.
const { actions } = await appnigma.actions.list({ platform: "gong" });
for (const action of actions) console.log(action.platform, action.name, action.description);Narrows the list to one platform. Leave it out for every platform switched on for you.
Each entry in actions has:
The platform the action runs on.
The action's name. Pass it as action to run it.
What the action does.
The action's version.
What the end customer's connection must have been given to run it.
JSON Schema of what the action takes.
JSON Schema of what the action answers.
Run an action: actions.run
actions.run runs one action for one end customer. The input is checked against the action's shape before it runs, so a wrong or missing field is a SdkInputError naming it as input.<field>.
const { output } = await appnigma.actions.run({
endCustomerId: "lawfirm-123",
platform: "gong",
action: "get-call-transcript",
input: { callId: "7782342274025937895" },
});
for (const part of output.transcript) console.log(part.speakerId, part.sentences);Your own id for your customer.
The platform the action runs on.
The action's name, from actions.list.
What the action takes, in the shape it declares.
What the action answered, in the shape it declares.
Types for your functions also writes the actions' input and output types, so your editor checks them.
When it fails
ACTION_NOT_FOUND: the platform has no action with that name. This is aSdkNotFoundError.MISSING_SCOPES: the end customer's connection was not given a scope the action needs. This is aSdkAuthError, anddetails.missingnames the scopes.
actions.run is made once and never tried again. actions.list is tried again only when that is safe. See Retries and time limits.