Installation
Initialization
Accounts
getProfile
Get the current user’s profile information.
Promise<ProfileItem>
Apps
listApps
List all available apps with optional filtering.
| Name | Type | Required | Description |
|---|---|---|---|
appKeys | array | No | Filter by specific app keys |
search | string | No | Search term to filter apps by name |
pageSize | number | No | Number of apps per page |
maxItems | number | No | Maximum total items to return across all pages |
cursor | string | No | Cursor for pagination |
Promise<PaginatedResult<AppItem>>
getApp
Get detailed information about a specific app.
| Name | Type | Required | Description |
|---|---|---|---|
appKey | string | Yes | App key (e.g., slack, github) |
Promise<AppItem>
Actions
listActions
List all actions for a specific app.
| Name | Type | Required | Description |
|---|---|---|---|
appKey | string | Yes | App key to list actions for |
actionType | string | No | Filter by type: read, write, search, run, filter, search_or_write, read_bulk |
pageSize | number | No | Number of actions per page |
maxItems | number | No | Maximum total items to return |
cursor | string | No | Cursor for pagination |
Promise<PaginatedResult<ActionItem>>
getAction
Get detailed information about a specific action.
| Name | Type | Required | Description |
|---|---|---|---|
appKey | string | Yes | App key |
actionType | string | Yes | Action type |
actionKey | string | Yes | Specific action key |
Promise<ActionItem>
runAction
Execute an action with the given inputs.
| Name | Type | Required | Description |
|---|---|---|---|
appKey | string | Yes | App key |
actionType | string | Yes | Action type |
actionKey | string | Yes | Action key |
authenticationId | string, number | No | Authentication ID to use |
inputs | object | No | Input parameters for the action |
pageSize | number | No | Number of results per page |
maxItems | number | No | Maximum total items to return |
cursor | string | No | Cursor for pagination |
Promise<PaginatedResult<ActionResultItem>>
listInputFields
Get the input fields required for a specific action.
| Name | Type | Required | Description |
|---|---|---|---|
appKey | string | Yes | App key |
actionType | string | Yes | Action type |
actionKey | string | Yes | Action key |
authenticationId | string, number | No | Authentication ID (required for some fields) |
inputs | object | No | Current inputs that may affect available fields |
Promise<PaginatedResult<RootFieldItem>>
listInputFieldChoices
Get available choices for a dynamic dropdown field.
| Name | Type | Required | Description |
|---|---|---|---|
appKey | string | Yes | App key |
actionType | string | Yes | Action type |
actionKey | string | Yes | Action key |
inputFieldKey | string | Yes | Field to get choices for |
authenticationId | string, number | No | Authentication ID |
inputs | object | No | Current inputs |
Promise<PaginatedResult<InputFieldChoiceItem>>
getInputFieldsSchema
Get the JSON Schema for an action’s input fields.
Promise<InputSchemaItem>
App Proxy Pattern
The SDK provides a convenient proxy pattern for accessing apps and actions.apps.{appKey}
Bind an authentication to an app for cleaner syntax.
apps.{appKey}.{actionType}.{actionKey}
Run an action directly with inline authentication.
Authentications
listAuthentications
List available authentications with optional filtering.
| Name | Type | Required | Description |
|---|---|---|---|
appKey | string | No | Filter by app key |
authenticationIds | array | No | Filter by specific IDs |
search | string | No | Search by title |
title | string | No | Filter by exact title match |
accountId | string | No | Filter by account ID |
owner | string | No | Filter by owner (me or specific user ID) |
isExpired | boolean | No | Filter by expiration status |
Promise<PaginatedResult<AuthenticationItem>>
getAuthentication
Get a specific authentication by ID.
Promise<AuthenticationItem>
findFirstAuthentication
Find the first authentication matching criteria.
Promise<AuthenticationItem>
findUniqueAuthentication
Find exactly one authentication matching criteria (throws if multiple found).
Promise<AuthenticationItem>
Client Credentials
listClientCredentials
List client credentials for the authenticated user.
Promise<PaginatedResult<ClientCredentialsItem>>
createClientCredentials
Create new client credentials.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
name | string | Yes | — | Name for the credentials |
allowed_scopes | array | No | ["external"] | Scopes to allow |
deleteClientCredentials
Delete client credentials by client ID.
HTTP Requests
request
Make authenticated HTTP requests through Zapier’s relay service.
| Name | Type | Required | Description |
|---|---|---|---|
url | string | Yes | URL to request |
method | string | No | HTTP method (GET, POST, etc.) |
body | string | No | Request body |
headers | object | No | Request headers |
authenticationId | string | No | Authentication ID to use |
callbackUrl | string | No | URL for async response |
authenticationTemplate | string | No | Custom auth template |
Promise<Response>
fetch
A fetch-compatible interface for making requests.
Promise<Response>