Skip to main content
Custom Function Actions are pre-built integrations you can call directly from your custom function code via subverseActions. When you build a custom function, you select which actions you want to use and attach the required credentials. The Code Assistant is aware of your selected actions and credentials, so you can describe what you want in plain English and it will generate the correct code for you.
Actions that require credentials will prompt you to select a saved credential when you add the action to your function. Credentials are stored securely and injected at runtime — your code never contains secrets.

HTTP Send Request

Make an outbound HTTP request to any URL. Supports all standard methods, custom headers, query parameters, and request body. Optionally authenticates using a stored credential. Compatible credentials: HTTP Basic Auth, HTTP Bearer Auth, HTTP Header Auth (API Key), HTTP Digest Auth, HTTP Query Auth, HTTP Custom Auth

Airtable List Records

Fetch a list of records from an Airtable table. Supports filtering, sorting, field selection, and pagination.

Airtable Get Record by ID

Retrieve a single Airtable record by its record ID.

Airtable Create Record

Create one or more records in an Airtable table. Use fields for a single record or records for bulk creation.

Airtable Update Record

Update specific fields of an existing Airtable record. Only provided fields are changed; others remain untouched.

Airtable Delete Record

Permanently delete a single Airtable record by its record ID.

Google Sheets Read Rows

Read values from a range in a Google Sheet. Returns a 2D array where each inner array is a row. Optionally filter rows by column values in-memory — no extra API calls needed. Compatible credentials: Google Sheets Service Account, Google Sheets OAuth2 API, Google Sheets API Key (public sheets only)

Read Rows with Filtering

Filter rows in-memory by column name without making extra API calls. The first row of the range is used as the header row for column name lookup.

Google Sheets Append Rows

Append rows to the end of a Google Sheet after the last row with data. Rows can be positional arrays or key-value objects — when objects are used, the executor reads the sheet header and auto-maps values to columns by name. Compatible credentials: Google Sheets Service Account, Google Sheets OAuth2 API

Append Rows with Auto-Mapping (Object Rows)

Pass key-value objects instead of positional arrays. The executor reads the header row and maps each key to the corresponding column automatically.

Google Sheets Update Rows

Overwrite existing rows at a specific range. The data dimensions must match the range provided. Optionally, use keyColumn + keyValue to find a specific row by column name and update only that row — when combined with object rows, only the provided fields are written (partial update), preserving other column values. Compatible credentials: Google Sheets Service Account, Google Sheets OAuth2 API

Update Rows with Key-Based Find-and-Update

Find a row by column name and value, then update only that row in a single call. No need to read the sheet first or compute row numbers manually.

Update Rows with Auto-Mapping (Object Rows)

When keyColumn is not set, object rows are auto-mapped to positional arrays using the sheet header and the entire range is overwritten.

Google Sheets Append or Update Rows

Upsert rows by a lookup column. For each row, if an existing row has a matching value at the lookup column, that row is updated in place; otherwise the row is appended after the last row with data. The lookup column can be specified by index (lookupColumnIndex) or by name (keyColumn). Rows can be positional arrays or key-value objects that are auto-mapped to columns by header name. Compatible credentials: Google Sheets Service Account, Google Sheets OAuth2 API * Either lookupColumnIndex or keyColumn must be provided.

Append or Update with Key Column by Name

Use keyColumn instead of lookupColumnIndex to reference the lookup column by its header name. The executor reads the header row and resolves the index dynamically.

Append or Update with Mixed Batch

A single call can update existing rows and append new ones. Rows matching an existing value in the key column are updated; the rest are appended.

Google Sheets Clear Range

Clear values from a range in a Google Sheet. Cell values are removed but formatting and data validation rules are preserved. Compatible credentials: Google Sheets Service Account, Google Sheets OAuth2 API

Google Sheets Create Sheet

Create a new sheet (tab) within an existing Google Spreadsheet. Returns the new sheet’s numeric ID and title. Compatible credentials: Google Sheets Service Account, Google Sheets OAuth2 API

Google Sheets Delete Sheet

Permanently delete a sheet (tab) from a Google Spreadsheet by its numeric sheet ID. This action cannot be undone. Compatible credentials: Google Sheets Service Account, Google Sheets OAuth2 API

Google Sheets Delete Rows or Columns

Delete one or more ranges of rows or columns from a Google Sheet. Uses 0-based indices — rows or columns after the deleted range shift to fill the gap. Supports deleting multiple non-contiguous ranges in a single request. Compatible credentials: Google Sheets Service Account, Google Sheets OAuth2 API

Google Sheets Create Spreadsheet

Create a new Google Spreadsheet owned by the authenticated account. Requires a title. Returns the new spreadsheet ID and URL. Compatible credentials: Google Sheets Service Account, Google Sheets OAuth2 API

Google Sheets Delete Spreadsheet

Move a Google Spreadsheet to trash by its ID. Uses the Google Drive API — the spreadsheet is trashed (not permanently destroyed) and can be restored from Google Drive trash. Compatible credentials: Google Sheets Service Account, Google Sheets OAuth2 API

SubVerse Agents Trigger Voice Call

All agent trigger actions authenticate via an httpHeaderAuth credential carrying the workspace API key. Set the header name to x-api-key and value to your workspace API key. Trigger an outbound voice call to a customer phone number. The call is queued immediately and dispatched by the voice infrastructure.

SubVerse Agents Trigger Chat Message

Send a WhatsApp message or start a chat agent session for a customer.
When messageType is template, provide templateId, templateLanguage, and templateVariables to fill the template’s placeholders. templateVariables is decoupled from metadata — only templateVariables is used for template substitution.

SubVerse Agents Trigger Email

Send an email or start an email agent session for a customer.

Email Send

Send an email directly through an SMTP server using a saved Email (SMTP / IMAP) credential. This action is useful for transactional emails, alerts, and reports from a custom function. Compatible credentials: Email (SMTP / IMAP)

Shopify

The Shopify actions below connect to a Shopify store via a saved Shopify credential. All actions support credentialId plus an options object. Compatible credentials: Shopify API Key, Shopify Access Token, Shopify OAuth2

Shopify Create Order

Create a new order in Shopify. Requires at least one line item. Supports billing/shipping addresses, discount codes, fulfillment options, and email notifications.

Shopify Get Order

Retrieve a single Shopify order by its ID.

Shopify Get All Orders

Retrieve a list of Shopify orders with optional filtering and pagination.

Shopify Update Order

Update an existing Shopify order by ID.

Shopify Delete Order

Permanently delete a Shopify order. Only test orders can be deleted via the API.

Shopify Create Product

Create a new product in your Shopify store. A title is required.

Shopify Get Product

Retrieve a single Shopify product by its ID.

Shopify Get All Products

Retrieve a list of Shopify products with optional filtering and pagination.

Shopify Update Product

Update an existing Shopify product by ID.

Shopify Delete Product

Permanently delete a Shopify product by its ID. This cannot be undone.

WhatsApp

The WhatsApp actions let you send messages directly through the Meta WhatsApp Business Cloud API using a saved WhatsApp API credential. All three actions require a credentialId, the recipient’s phone number, and your sender’s Phone Number ID (not stored in the credential — supply it explicitly in options). Compatible credentials: WhatsApp API (whatsAppApi, with Access Token and Business Account ID)

WhatsApp Send Text Message

Send a plain text message to a WhatsApp number.

WhatsApp Send Template Message

Send an approved WhatsApp message template. Templates must be created and approved in your Meta Business account before use.

WhatsApp Send Media Message

Send an image, video, audio file, document, or sticker to a WhatsApp number.

Freshdesk

The Freshdesk actions connect to your Freshdesk support desk using a saved Freshdesk API credential. All actions require a credentialId plus an options object. Compatible credentials: Freshdesk API

Freshdesk Create Ticket

Create a new support ticket in Freshdesk. Requires a requester identifier and value.

Freshdesk Get Ticket

Retrieve a single Freshdesk ticket by ID.

Freshdesk Get All Tickets

List Freshdesk tickets with optional filters and pagination.

Freshdesk Update Ticket

Update an existing Freshdesk ticket by ID. Only provided fields are changed.

Freshdesk Delete Ticket

Delete a Freshdesk ticket by ID.

Freshdesk Add Ticket Note

Add a reply or private note to a Freshdesk ticket.

Next Steps

Custom Functions

Write and test custom function code using these actions

Credentials

Set up and manage the credentials used by your actions