API reference

Integration activities

Email, Excel, Google and Microsoft 365, HTTP, Jira, Salesforce, ServiceNow, PDF, OCR, shell and string operations.

Flow Current 42 min read Updated

Email, Excel, Google and Microsoft 365, HTTP, Jira, Salesforce, ServiceNow, PDF, OCR, shell and string operations. This page covers 19 activity types.

email#

Email. Send, read, search, delete, and manage emails. Supports SMTP, IMAP, Microsoft 365 Graph API, SendGrid, Mailgun, and AWS SES.

Operations: send, read, search, delete, move, mark. Set with the operation input.

Input Type Required Description
operation string Yes Operation to perform: send, read, search, delete, move, mark Allowed values: send, read, search, delete, move, mark. Default: send.
to string Yes Recipient email address(es), comma-separated (send) Used when operation is send.
from string No Sender email address (send) Used when operation is send.
templateId string No Use a saved email template for the subject/body below instead of typing them inline. Editing the template later updates every workflow referencing it. Used when operation is send.
subject string No Email subject line (send). Required unless a template is selected above. Used when operation is send.
body string No Email body — plain text or HTML (send). Required unless a template is selected above. Used when operation is send.
isHtml boolean No Send body as HTML rather than plain text (send). Required unless a template is selected above — the template's own isHtml setting is used instead. Used when operation is send. Default: True.
cc string No CC recipient(s), comma-separated (send) Used when operation is send.
bcc string No BCC recipient(s), comma-separated (send) Used when operation is send.
messageId string Yes [delete/move/mark] ID of the message to act on Used when operation is delete, move, mark.
permanent boolean No [delete] Permanently delete instead of moving to trash (default: false) Used when operation is delete.
fromFolder string Yes [move] Source folder the message currently resides in Used when operation is move.
toFolder string Yes [move] Destination folder to move the message to Used when operation is move.
markAs string Yes [mark] Flag to apply to the message, e.g. read, unread, flagged Used when operation is mark.
folder string No Mailbox folder to read from (read/search, default: INBOX) Used when operation is read, search, delete, mark.
limit number No Maximum number of emails to retrieve (read/search) Used when operation is read, search.
query string Yes Search query string (search) Used when operation is search.
unreadOnly boolean No Return only unread emails (read) Used when operation is read.
since string No ISO date string — return emails received after this date Used when operation is read.
Output Type Description
output.messageId string Message ID of the sent email
output.success boolean Whether the operation succeeded
output.emails array Array of email objects (read/search)
output.count number Number of emails returned

Config block example:

json
{
  "email": {
    "operation": "send",
    "provider": "smtp",
    "host": "smtp.example.com",
    "port": 587
  }
}

excel#

Excel. Read, write, and append .xlsx workbooks — table data, single cells, and sheet listing.

Operations: read, write, append, readCell, writeCell, listSheets. Set with the operation input.

Input Type Required Description
fileReference string No Use a File Reference activity's output instead of configuring Storage/Area/path separately below — the exact Storage, Area, and filename it built. Can reuse a file_reference node.
storageId string No Use a governed Storage instead of a literal path/contentBase64 below — the physical location is configured by an administrator and never exposed to the workflow.
areaId string No Storage Area within the Storage above — the RBAC boundary this operation is authorized against.
relativePath string No Workbook path relative to the Storage Area's root
path string No File path to read/write. For read/readCell/listSheets, either this or contentBase64 is required; for write/append/writeCell, this is the save target. Ignored when a Storage or File Reference is picked above.
contentBase64 string No Workbook content as base64 — an alternative to path for reading a workbook produced earlier in the run without touching disk. Ignored when a Storage or File Reference is picked above. Used when operation is read, readCell, listSheets.
sheetName string No Sheet name. Defaults to the first/active sheet for read operations, or "Sheet1" for write/append; created automatically if it doesn't exist yet.
range string No A1-style range, e.g. "A1:D50". Defaults to the sheet's used range. Used when operation is read.
hasHeaders boolean No Treat the first row as column headers (default true) — rows are returned as objects keyed by header when true, or plain arrays when false Used when operation is read.
maxRows number No Maximum number of data rows to return Used when operation is read.
rows array No Table data to write — array of row objects, e.g. bound from a database or Kiwi Federated Query activity's output.rows Used when operation is write, append.
headers array No Optional custom column header labels (each can use {{}} templates), applied positionally over the columns detected from "rows" — length must match the detected column count. Omit to use the row objects' own key names as headers. Used when operation is write, append.
heading string No Optional title written above the table, merged across its width, e.g. "Orders as of {{inputs.reportDate}}" ({{}} templates resolve automatically like any other input) Used when operation is write.
boldHeaderRow boolean No Bold the header row (default true) Used when operation is write, append.
autoFitColumns boolean No Auto-fit column widths to their content (default true) Used when operation is write, append.
overwrite boolean No Overwrite the file at path if it already exists (default: false — errors instead of replacing it) Used when operation is write.
createIfMissing boolean No Create the workbook/sheet fresh if the path doesn't exist yet (default true) Used when operation is append.
cell string No Cell reference, e.g. "B3" Used when operation is readCell, writeCell.
value string No Value to write into the cell Used when operation is writeCell.
Output Type Description
output.rows array Result rows (read) — objects keyed by header, or arrays when hasHeaders is false
output.rowCount number Number of rows returned (read) or written (write/append)
output.headers array Detected/used header labels (read)
output.sheetName string The sheet that was read from or written to
output.path string The file path written to (write/append/writeCell)
output.contentBase64 string The resulting workbook's content as base64 — always returned by write-style operations regardless of whether path was also given
output.rowsWritten number Number of data rows written (write/append)
output.startRow number The row number appended rows started at (append)
output.value string The cell's value (readCell)
output.sheets array Sheet names in the workbook (listSheets)

Config block example:

json
{
  "excel": {
    "operation": "write"
  },
  "inputs": [
    {
      "name": "path",
      "value": "C:/reports/orders.xlsx"
    },
    {
      "name": "heading",
      "value": "Orders as of {{inputs.reportDate}}"
    },
    {
      "name": "rows",
      "from": "kiwi_query_1.output.rows"
    }
  ]
}

excel_online#

Excel Online. Read, write, append, clear, and manage sheets in an Excel workbook stored in OneDrive/SharePoint via a connected Microsoft account.

Operations: read, write, append, clear, addSheet, listSheets. Set with the operation input.

Input Type Required Description
clientId string No Override the connected Microsoft account's Client ID at runtime.
clientSecret string No Override the connected Microsoft account's Client Secret at runtime. Secret: stored encrypted.
tenantId string No Override the connected Microsoft account's tenant ID at runtime.
accessToken string No Override the connected Microsoft account's access token at runtime. Secret: stored encrypted.
refreshToken string No Override the connected Microsoft account's refresh token at runtime. Secret: stored encrypted.
tokenExpiresAt string No Override the connected Microsoft account's token expiry at runtime.
path string No '/'-separated OneDrive path to the workbook, e.g. /Reports/summary.xlsx - the primary way to address it. Used when operation is read, write, append, clear, addSheet, listSheets.
itemId string No OneDrive item ID for the workbook - alternative to path, useful when chaining from a prior step's output. Used when operation is read, write, append, clear, addSheet, listSheets.
driveId string No Target a specific drive (e.g. a SharePoint site's document library) instead of the connected account's own OneDrive.
sheetName string No Sheet (tab) name. Used when operation is read, write, append, clear, addSheet.
range string No [read (optional, defaults to the used range) / write / clear (required)] A1-notation range, e.g. 'A1:C10'. Used when operation is read, write, clear.
hasHeaders boolean No [read] Treat the first row of the range as column headers. Used when operation is read. Default: True.
rows array No [write / append] Array of flat row objects - same shape sql_database/mongodb/excel produce. Used when operation is write, append.
headers array No [write / append] Optional positional relabel of the detected columns (must match column count). Used when operation is write, append.
Output Type Description
output.rows array Result rows (read)
output.rowCount number Number of rows returned or written
output.headers array Detected/used header labels
output.address string The cell range address that was read from or written to
output.sheetName string The sheet that was read from or written to
output.sheetId string The sheet's ID within the workbook (addSheet)
output.sheets array Sheet names in the workbook (listSheets)
output.rowsWritten number Number of data rows written (write/append)
output.success boolean Whether the operation completed successfully (clear)

Config block example:

json
{
  "operation": "write"
}

google_calendar#

Google Calendar. List, get, create, update, and delete events in Google Calendar via a connected Google account.

Operations: list, get, create, update, delete, listCalendars. Set with the operation input.

Input Type Required Description
clientId string No Override the connected Google account's Client ID at runtime.
clientSecret string No Override the connected Google account's Client Secret at runtime. Secret: stored encrypted.
accessToken string No Override the connected Google account's access token at runtime. Secret: stored encrypted.
refreshToken string No Override the connected Google account's refresh token at runtime. Secret: stored encrypted.
tokenExpiresAt string No Override the connected Google account's token expiry at runtime.
calendarId string No Target calendar ID - defaults to the connected account's primary calendar. Used when operation is list, get, create, update, delete.
eventId string No [get / update / delete] The event's ID. Used when operation is get, update, delete.
title string No [create / update] Event title (summary). Used when operation is create, update.
description string No [create / update] Event description. Used when operation is create, update.
location string No [create / update] Event location. Used when operation is create, update.
start string No [create / update] Start date/time, ISO 8601 (e.g. 2026-09-01T10:00:00-04:00). Used when operation is create, update.
end string No [create / update] End date/time, ISO 8601. Used when operation is create, update.
timeZone string No [create / update] IANA time zone (e.g. America/New_York), applied alongside start/end. Used when operation is create, update.
allDay boolean No [create / update] Treat start/end as whole-day dates instead of timestamps. Used when operation is create, update. Default: False.
attendees array No [create / update] Array of attendee email addresses. Used when operation is create, update.
addOnlineMeeting boolean No [create / update] Attach a Google Meet link to the event. Used when operation is create, update. Default: False.
sendInvites boolean No [create / update] Email attendees an invite (or update notice). Set false to add attendees silently. Used when operation is create, update. Default: True.
timeMin string No [list] Lower bound (inclusive), ISO 8601 - omit to list without a start-time floor. Used when operation is list.
timeMax string No [list] Upper bound (exclusive), ISO 8601. Used when operation is list.
maxResults number No [list] Maximum number of events to return. Used when operation is list.
Output Type Description
output.events array Matching events (list)
output.eventCount number Number of events returned
output.id string The event's ID
output.title string The event's title/summary
output.description string The event's description
output.location string The event's location
output.start string The event's start time
output.end string The event's end time
output.htmlLink string A browser-viewable link to the event
output.attendees array The event's attendee list
output.onlineMeetingUrl string The video-call join link, if the event has one
output.eventId string The created/updated event's ID (create, update)
output.success boolean Whether the operation completed successfully (delete)
output.calendars array The account's calendars (listCalendars)

Config block example:

json
{
  "operation": "create"
}

google_drive#

Google Drive. Upload, download, list, search, and manage files/folders in Google Drive via a connected Google account.

Operations: upload, download, list, search, getMetadata, delete, createFolder, move, copy, createShareLink. Set with the operation input.

Input Type Required Description
clientId string No Override the connected Google account's Client ID at runtime.
clientSecret string No Override the connected Google account's Client Secret at runtime. Secret: stored encrypted.
accessToken string No Override the connected Google account's access token at runtime. Secret: stored encrypted.
refreshToken string No Override the connected Google account's refresh token at runtime. Secret: stored encrypted.
tokenExpiresAt string No Override the connected Google account's token expiry at runtime.
fileId string No [most operations] Drive file/folder ID to act on - takes priority over path if both are given. Used when operation is download, getMetadata, delete, move, copy, createShareLink, list.
path string No [most operations] Friendly '/'-separated path resolved to a file/folder ID by walking Drive folders by name. Used when operation is download, getMetadata, delete, move, copy, createShareLink, list, upload, createFolder.
createIfMissing boolean No [upload / createFolder via path] Create any missing intermediate folders along 'path' instead of failing. Used when operation is upload, createFolder. Default: False.
fileName string No [upload] Name to give the uploaded file. Used when operation is upload.
contentBase64 string No [upload] File content, base64-encoded. Used when operation is upload.
mimeType string No [upload] MIME type of the content (default application/octet-stream). Used when operation is upload.
query string No [search] Drive search query, e.g. name contains 'report' or fullText contains 'invoice'. Used when operation is search.
pageSize number No [list / search] Maximum number of results to return. Used when operation is list, search. Default: 100.
destinationFolderId string No [move / copy] Destination parent folder ID. Used when operation is move, copy.
destinationPath string No [move / copy] Destination parent folder as a friendly path (alternative to destinationFolderId). Used when operation is move, copy.
newName string No [copy] Name for the copy (defaults to the source file's name). Used when operation is copy.
role string No [createShareLink] Access level to grant: reader or writer (default reader). Used when operation is createShareLink.
shareType string No [createShareLink] Who the link is for: anyone, domain, or user (default anyone). Used when operation is createShareLink.
Output Type Description
output.fileId string The Drive file/folder ID (upload, createFolder, copy, move, getMetadata)
output.name string The file/folder's name
output.mimeType string The file's MIME type
output.webViewLink string A browser-viewable link to the file (upload, copy, createShareLink)
output.contentBase64 string The downloaded file's content as base64 (download)
output.files array Matching files/folders (list, search)
output.success boolean Whether the operation completed successfully (delete, move, copy)

Config block example:

json
{
  "operation": "upload"
}

google_oauth2#

Google (OAuth2). Shared Google OAuth2 connection used by Google Drive and other Google activities. Bring your own OAuth Client ID/Secret from a Google Cloud project, then click Connect to sign in with a real Google account.

This activity only opens a connection; other activities reuse it.

Uses a shared google OAuth2 connection.

Input Type Required Description
clientId string No OAuth Client ID from your Google Cloud project's OAuth 2.0 credentials.
clientSecret string No OAuth Client Secret for the same credential. Secret: stored encrypted.
accessToken string No Set automatically once you click Connect - never edited directly. Secret: stored encrypted.
refreshToken string No Set automatically once you click Connect - never edited directly. Secret: stored encrypted.
tokenExpiresAt string No Set automatically once you click Connect.
connectedAccountEmail string No The Google account you're connected as - populated automatically.

google_sheets#

Google Sheets. Read, write, append, clear, and manage sheets in Google Sheets via a connected Google account.

Operations: read, write, append, clear, addSheet, listSheets, createSpreadsheet. Set with the operation input.

Input Type Required Description
clientId string No Override the connected Google account's Client ID at runtime.
clientSecret string No Override the connected Google account's Client Secret at runtime. Secret: stored encrypted.
accessToken string No Override the connected Google account's access token at runtime. Secret: stored encrypted.
refreshToken string No Override the connected Google account's refresh token at runtime. Secret: stored encrypted.
tokenExpiresAt string No Override the connected Google account's token expiry at runtime.
spreadsheetId string No [all except createSpreadsheet] The spreadsheet's ID - chain from a google_drive node's fileId output, or paste one directly. Used when operation is read, write, append, clear, addSheet, listSheets.
sheetName string No [read / write / append / clear / addSheet] Sheet (tab) name - required for addSheet, combined with 'range' (e.g. 'Sheet1!A1:C10') for the others. Used when operation is read, write, append, clear, addSheet.
range string No [read / write / append / clear] A1-notation range, e.g. 'A1:C10'. At least one of sheetName/range is required. Used when operation is read, write, append, clear.
hasHeaders boolean No [read] Treat the first row of the range as column headers. Used when operation is read. Default: True.
rows array No [write / append] Array of flat row objects - same shape sql_database/mongodb/excel produce. Used when operation is write, append.
headers array No [write / append] Optional positional relabel of the detected columns (must match column count). Used when operation is write, append.
title string No [createSpreadsheet] Title for the new spreadsheet. Used when operation is createSpreadsheet.
Output Type Description
output.rows array Result rows (read)
output.rowCount number Number of rows returned or written
output.headers array Detected/used header labels
output.spreadsheetId string The spreadsheet's ID
output.spreadsheetUrl string A browser-viewable link to the spreadsheet (createSpreadsheet)
output.sheetName string The sheet that was read from or written to
output.sheetId number The sheet's numeric ID within the spreadsheet (addSheet)
output.sheets array Sheet names in the spreadsheet (listSheets)
output.rowsWritten number Number of data rows written (write/append)
output.success boolean Whether the operation completed successfully (clear)

Config block example:

json
{
  "operation": "write"
}

html_scrape#

HTML Scrape. Scrape structured data from plain-text HTML using CSS selectors. Bind the 'html' input to the response body of a preceding http_request activity.

Operations: extract_fields, extract_list, extract_table, extract_text. Set with the operation input.

Input Type Required Description
html string Yes Plain-text HTML to parse — typically bound to response.body from a preceding http_request activity
Output Type Description
output.text string Plain text content (extract_text operation, or full page body if no selector)
output.items array Array of extracted values (extract_list operation)
output.count number Number of items in the list (extract_list operation)
output.rows array Array of row objects keyed by column header (extract_table operation)
output.rowCount number Number of data rows extracted (extract_table operation)
output.headers array Column header names extracted from the table (extract_table operation)
output.success boolean Whether the scrape operation succeeded

Config block example:

json
{
  "html_scrape": {
    "operation": "extract_fields",
    "outputSchema": [
      {
        "name": "title",
        "selector": "h1.product-title",
        "attribute": "text"
      },
      {
        "name": "price",
        "selector": "span.price",
        "attribute": "text"
      },
      {
        "name": "imageUrl",
        "selector": "img.hero",
        "attribute": "src"
      }
    ]
  }
}

http_request#

HTTP Request. Send an HTTP request to a remote endpoint and capture the response body, status code, and headers

Input Type Required Description
url string Yes Target URL (supports {{template}} interpolation)
method string Yes HTTP method: GET, POST, PUT, PATCH, DELETE Allowed values: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS.
body string No Request body as a JSON string or raw text
headers object No Key-value pairs for request headers
authHeader string No Authorization header value (e.g. Bearer <token>)
contentType string No Content-Type header (default: application/json) Allowed values: application/json, text/plain, application/x-www-form-urlencoded, multipart/form-data.
timeoutSeconds number No Request timeout in seconds (default: 30)
Output Type Description
output.statusCode number HTTP response status code
output.body object Parsed JSON response body (or raw string)
output.headers object Response headers as key-value pairs
output.ok boolean True when status code is in 2xx range

Config block example:

json
{
  "url": "https://api.example.com/data",
  "method": "GET"
}

jira#

Jira. Interact with Jira via the REST API. Supports issues (CRUD, transitions, assignment, search), comments, worklogs, attachments, projects, Agile boards and sprints, fix versions, and metadata.

Operations: create_issue, get_issue, update_issue, delete_issue, transition_issue, get_transitions, assign_issue, search_issues, search_all, add_comment, get_comments, add_worklog, attach_file, get_project, list_projects, list_boards, list_sprints, move_to_sprint, create_version, release_version, get_fields, get_user. Set with the operation input.

Input Type Required Description
baseUrl string No Jira base URL (e.g. https://myorg.atlassian.net) — override the config-block value at runtime
authMode string No Authentication mode: 'cloud' (email + API token, default) or 'server' (Personal Access Token / PAT) Allowed values: cloud, server. Default: cloud.
email string No [authMode: cloud] Atlassian account email address Used when authMode is cloud.
apiToken string No [authMode: cloud] Atlassian API token Used when authMode is cloud. Secret: stored encrypted.
pat string No [authMode: server] Personal Access Token for Jira Server / Data Center Used when authMode is server. Secret: stored encrypted.
projectKey string No [create_issue / get_project] Jira project key (e.g. PROJ) Used when operation is create_issue, get_project.
issueType string No [create_issue] Issue type name (e.g. Bug, Story, Task, Epic) Used when operation is create_issue.
summary string No [create_issue] Issue summary / title Used when operation is create_issue.
description string No [create_issue] Issue description (plain text — automatically wrapped in ADF for Cloud) Used when operation is create_issue.
priority string No [create_issue] Priority name (e.g. High, Medium, Low) Used when operation is create_issue.
assigneeEmail string No [create_issue / assign_issue] Assignee email address Used when operation is create_issue, assign_issue.
labelsJson string No [create_issue] Serialised JSON array of label strings (e.g. ["backend","urgent"]) Used when operation is create_issue.
fieldsJson string No [create_issue / update_issue] Serialised JSON object of additional or updated field values Used when operation is create_issue, update_issue.
issueKey string No [get_issue / update_issue / delete_issue / transition_issue / get_transitions / assign_issue / add_comment / get_comments / add_worklog / attach_file] Jira issue key (e.g. PROJ-42) Used when operation is get_issue, update_issue, delete_issue, transition_issue, get_transitions, assign_issue, add_comment, get_comments, add_worklog, attach_file.
expand string No [get_issue] Comma-separated expand flags (e.g. renderedFields,names,schema) Used when operation is get_issue.
transitionId string No [transition_issue] Transition ID — use get_transitions to list available IDs Used when operation is transition_issue.
comment string No [transition_issue] Optional comment to add along with the transition Used when operation is transition_issue.
accountId string No [assign_issue / get_user] Atlassian account ID Used when operation is assign_issue, get_user.
jql string No [search_issues / search_all] JQL query string Used when operation is search_issues, search_all.
fields string No [search_issues / search_all] Comma-separated list of fields to include in search results Used when operation is search_issues, search_all.
startAt number No [search_issues] Zero-based index of the first result (default: 0) Used when operation is search_issues.
maxResults number No [search_issues] Maximum number of results per page (default: pageSize from config) Used when operation is search_issues.
text string No [add_comment] Comment text (plain text — automatically wrapped in ADF for Cloud) Used when operation is add_comment.
timeSpent string No [add_worklog] Time spent in Jira duration format (e.g. 2h30m, 1d) Used when operation is add_worklog.
started string No [add_worklog] Work start date-time in ISO 8601 (default: now) Used when operation is add_worklog.
fileName string No [attach_file] Attachment file name including extension Used when operation is attach_file.
fileBase64 string No [attach_file] Base64-encoded file content Used when operation is attach_file.
mimeType string No [attach_file] MIME type (default: application/octet-stream) Used when operation is attach_file.
projectType string No [list_projects] Filter by project type: software | service_desk | business Used when operation is list_projects. Allowed values: software, service_desk, business.
boardId string No [list_sprints] Agile board ID Used when operation is list_sprints.
state string No [list_sprints] Sprint state filter: active | closed | future Used when operation is list_sprints. Allowed values: active, closed, future.
sprintId string No [move_to_sprint] Target sprint ID Used when operation is move_to_sprint.
issuesJson string No [move_to_sprint] Serialised JSON array of issue keys to move (e.g. ["PROJ-42","PROJ-43"]) Used when operation is move_to_sprint.
projectId string No [create_version] Numeric project ID (visible in project settings) Used when operation is create_version.
versionName string No [create_version] Fix version name (e.g. 1.2.0) Used when operation is create_version.
releaseDate string No [create_version / release_version] Release date in YYYY-MM-DD format Used when operation is create_version, release_version.
versionId string No [release_version] ID of the version to mark as released Used when operation is release_version.
Output Type Description
output.success boolean True if the API call succeeded
output.issueKey string [create_issue / get_issue / update_issue / delete_issue / transition_issue / assign_issue / add_comment / add_worklog / attach_file] Jira issue key
output.issueId string [create_issue] Internal numeric issue ID
output.transitionId string [transition_issue] Transition ID that was applied
output.transitions array [get_transitions] Available transitions (each element is a raw JSON string)
output.issues array [search_issues / search_all] Array of matching issues (each element is a raw JSON string)
output.count number Number of items returned in this response
output.total number [search_issues / search_all] Total number of matching issues in Jira
output.hasMore boolean [search_issues] True if additional pages are available
output.nextPageToken string [search_issues] startAt value for the next page
output.truncated boolean [search_all] True if the result was truncated at maxRecords
output.commentId string [add_comment] ID of the created comment
output.comments array [get_comments] Array of comments (each element is a raw JSON string)
output.worklogId string [add_worklog] ID of the created worklog entry
output.projectKey string [get_project] Project key
output.projects array [list_projects] Array of project objects (each element is a raw JSON string)
output.boards array [list_boards] Array of Agile board objects
output.sprints array [list_sprints] Array of sprint objects
output.sprintId string [move_to_sprint] Sprint ID that issues were moved to
output.versionId string [create_version / release_version] Fix version ID
output.versionName string [create_version] Fix version name
output.fields array [get_fields] Array of field descriptor objects
output.fileName string [attach_file] Name of the uploaded attachment
output.statusCode number HTTP status code of the API response
output.response string Raw JSON response body from the API

Config block example:

json
{
  "jira": {
    "operation": "search_issues",
    "baseUrl": "https://myorg.atlassian.net",
    "authMode": "cloud",
    "email": "me@example.com",
    "apiToken": "ATT..."
  }
}

microsoft_oauth2#

Microsoft (OAuth2). Shared Microsoft OAuth2 connection used by OneDrive and other Microsoft 365 activities. Bring your own Azure AD app registration's Client ID/Secret, then click Connect to sign in with a real Microsoft account.

This activity only opens a connection; other activities reuse it.

Uses a shared microsoft OAuth2 connection.

Input Type Required Description
clientId string No Application (client) ID from your Azure AD app registration.
clientSecret string No Client secret value for the same app registration. Secret: stored encrypted.
tenantId string No Directory (tenant) ID - leave as 'common' to allow both personal Microsoft accounts and any work/school account. Default: common.
accessToken string No Set automatically once you click Connect - never edited directly. Secret: stored encrypted.
refreshToken string No Set automatically once you click Connect - never edited directly. Secret: stored encrypted.
tokenExpiresAt string No Set automatically once you click Connect.
connectedAccountEmail string No The Microsoft account you're connected as - populated automatically.

ocr_extract#

OCR Extract. Extract text and structured fields from images using Tesseract OCR. Bind the 'imageBase64' input to base64-encoded image content from a preceding activity.

Operations: extract_text, extract_fields. Set with the operation input.

Input Type Required Description
imageBase64 string Yes Base64-encoded image bytes — typically bound to the output of a preceding download or file-read activity
language string No Tesseract language code (default: eng)
dataPath string No Path to tessdata folder (default: ./tessdata)
Output Type Description
output.text string Full raw text extracted from the image
output.confidence number Mean OCR confidence score (0–1)
output.fields object Named field dictionary extracted via outputSchema regex patterns (extract_fields only)
output.success boolean Whether the OCR operation succeeded

Config block example:

json
{
  "ocr_extract": {
    "operation": "extract_fields",
    "language": "eng",
    "dataPath": "./tessdata",
    "outputSchema": [
      {
        "name": "invoiceNumber",
        "pattern": "Invoice\\s+No\\.?\\s*[:\\-]?\\s*([A-Z0-9\\-]+)"
      },
      {
        "name": "amountDue",
        "pattern": "Amount\\s+Due\\s*[:\\-]?\\s*(\\$[\\d,\\.]+)"
      }
    ]
  }
}

onedrive#

OneDrive. Upload, download, list, search, and manage files/folders in OneDrive via a connected Microsoft account.

Operations: upload, download, list, search, getMetadata, delete, createFolder, move, copy, createShareLink. Set with the operation input.

Input Type Required Description
clientId string No Override the connected Microsoft account's Client ID at runtime.
clientSecret string No Override the connected Microsoft account's Client Secret at runtime. Secret: stored encrypted.
tenantId string No Override the connected Microsoft account's tenant ID at runtime.
accessToken string No Override the connected Microsoft account's access token at runtime. Secret: stored encrypted.
refreshToken string No Override the connected Microsoft account's refresh token at runtime. Secret: stored encrypted.
tokenExpiresAt string No Override the connected Microsoft account's token expiry at runtime.
path string No [most operations] '/'-separated OneDrive path, e.g. /Reports/2024/summary.xlsx - the primary way to address items. Used when operation is download, getMetadata, delete, move, copy, createShareLink, list, upload, createFolder.
itemId string No [most operations] OneDrive item ID - alternative to path, useful when chaining from a prior step's output. Used when operation is download, getMetadata, delete, move, copy, createShareLink.
driveId string No Target a specific drive (e.g. a SharePoint site's document library) instead of the connected account's own OneDrive.
fileName string No [upload] Name to give the uploaded file (when not already the last segment of path). Used when operation is upload.
contentBase64 string No [upload] File content, base64-encoded. Used when operation is upload.
query string No [search] Free-text search query. Used when operation is search.
pageSize number No [list / search] Maximum number of results to return. Used when operation is list, search. Default: 100.
destinationPath string No [move / copy] Destination parent folder path. Used when operation is move, copy.
newName string No [copy / move] New name for the item at its destination (defaults to keeping the current name). Used when operation is move, copy.
role string No [createShareLink] Access level to grant: view or edit (default view). Used when operation is createShareLink.
shareScope string No [createShareLink] Link scope: anonymous, organization, or users (default anonymous). Used when operation is createShareLink.
Output Type Description
output.itemId string The OneDrive item (file/folder) ID
output.name string The file/folder's name
output.webUrl string A browser-viewable link to the item (upload, copy, createShareLink)
output.contentBase64 string The downloaded file's content as base64 (download)
output.items array Matching files/folders (list, search)
output.success boolean Whether the operation completed successfully (delete, move, copy)

Config block example:

json
{
  "operation": "upload"
}

outlook_calendar#

Outlook Calendar. List, get, create, update, and delete events in Outlook/Microsoft 365 Calendar via a connected Microsoft account.

Operations: list, get, create, update, delete, listCalendars. Set with the operation input.

Input Type Required Description
clientId string No Override the connected Microsoft account's Client ID at runtime.
clientSecret string No Override the connected Microsoft account's Client Secret at runtime. Secret: stored encrypted.
tenantId string No Override the connected Microsoft account's tenant ID at runtime.
accessToken string No Override the connected Microsoft account's access token at runtime. Secret: stored encrypted.
refreshToken string No Override the connected Microsoft account's refresh token at runtime. Secret: stored encrypted.
tokenExpiresAt string No Override the connected Microsoft account's token expiry at runtime.
calendarId string No Target calendar ID - defaults to the connected account's default calendar. Used when operation is list, create.
eventId string No [get / update / delete] The event's ID. Used when operation is get, update, delete.
title string No [create / update] Event title (subject). Used when operation is create, update.
description string No [create / update] Event description. Used when operation is create, update.
location string No [create / update] Event location. Used when operation is create, update.
start string No [create / update] Start date/time, ISO 8601 (e.g. 2026-09-01T10:00:00-04:00). Used when operation is create, update.
end string No [create / update] End date/time, ISO 8601. Used when operation is create, update.
timeZone string No [create / update] IANA time zone (e.g. America/New_York), applied alongside start/end. Used when operation is create, update.
allDay boolean No [create / update] Treat start/end as whole-day dates instead of timestamps. Used when operation is create, update. Default: False.
attendees array No [create / update] Array of attendee email addresses. Used when operation is create, update.
addOnlineMeeting boolean No [create / update] Attach a Microsoft Teams meeting link to the event. Used when operation is create, update. Default: False.
timeMin string No [list] Lower bound, ISO 8601 - required together with timeMax to list within a range (omit both to list without a range filter). Used when operation is list.
timeMax string No [list] Upper bound, ISO 8601. Used when operation is list.
maxResults number No [list] Maximum number of events to return. Used when operation is list.
Output Type Description
output.events array Matching events (list)
output.eventCount number Number of events returned
output.id string The event's ID
output.title string The event's title/subject
output.description string The event's body/description
output.location string The event's location
output.start string The event's start time
output.end string The event's end time
output.htmlLink string A browser-viewable link to the event
output.attendees array The event's attendee list
output.onlineMeetingUrl string The Teams/video-call join link, if the event has one
output.eventId string The created/updated event's ID (create, update)
output.success boolean Whether the operation completed successfully (delete)
output.calendars array The account's calendars (listCalendars)

Config block example:

json
{
  "operation": "create"
}

pdf#

PDF. PDF operations: inspect structure (info), extract embedded text (extract_text), rasterize pages to images (render_page / render_pages), pull AcroForm field values (extract_fields), extract embedded images (extract_images), split into single-page PDFs (split), or combine multiple PDFs (merge). Input pdfBase64 from a preceding file read_base64 activity.

Operations: info, extract_text, render_page, render_pages, extract_fields, extract_images, split, merge. Set with the operation input.

Input Type Required Description
pdfBase64 string Yes Base64-encoded PDF content from a preceding file read_base64 activity Used when operation is info, extract_text, render_page, render_pages, extract_fields, extract_images, split.
pageNumber number No 1-based page number for render_page (default: 1) Used when operation is render_page.
startPage number No First page (inclusive, 1-based) for render_pages, extract_text, and split. Defaults to 1. Used when operation is extract_text, render_pages, split.
endPage number No Last page (inclusive, 1-based) for render_pages, extract_text, and split. Defaults to last page. Used when operation is extract_text, render_pages, split.
dpi number No Render resolution in DPI for render_page and render_pages (default: 150). Higher values produce larger, sharper images. Used when operation is render_page, render_pages.
format string No Image output format for rendering operations: 'png' (default, lossless) or 'jpeg' (smaller, lossy) Used when operation is render_page, render_pages. Allowed values: png, jpeg.
pdfs array No List of base64-encoded PDFs to combine, required for the merge operation Used when operation is merge.
Output Type Description
output.pageCount number Number of pages (info, render_pages, split, merge)
output.hasEmbeddedText boolean True if the PDF contains extractable text; false indicates a scanned/image-only PDF (info)
output.totalWordCount number Total word count across all pages (info)
output.title string PDF document title metadata (info)
output.author string PDF author metadata (info)
output.producer string PDF producer application (info)
output.creationDate string PDF creation date (info)
output.pages array Per-page detail: [info] pageNumber/width/height/wordCount/hasText; [render_pages] pageNumber/content/mimeType/width/height/dpi; [split] pageNumber/content/mimeType
output.text string Full extracted text, all requested pages concatenated (extract_text)
output.content string Base64-encoded image (render_page) or merged PDF (merge)
output.mimeType string MIME type of the content output: image/png, image/jpeg, or application/pdf
output.width number Rendered page width in pixels (render_page)
output.height number Rendered page height in pixels (render_page)
output.dpi number DPI used for rendering (render_page)
output.fields object Key-value map of AcroForm field names to submitted values (extract_fields)
output.fieldCount number Number of form fields found (extract_fields)
output.hasForm boolean True if the PDF contains an AcroForm (extract_fields)
output.images array Embedded image objects: content/mimeType/pageNumber/width/height (extract_images)
output.count number Number of embedded images found (extract_images)

Config block example:

json
{
  "pdf": {
    "operation": "render_pages",
    "dpi": 150,
    "format": "png"
  }
}

salesforce#

Salesforce. Interact with Salesforce via the REST API. Supports full CRUD on any sObject, SOQL/SOSL query, Bulk API v2, file uploads, Apex REST, and org limits.

Operations: create_record, get_record, update_record, delete_record, upsert_record, query, query_all, search, bulk_insert, bulk_update, bulk_upsert, upload_file, download_file, describe_object, invoke_apex, get_limits. Set with the operation input.

Input Type Required Description
instanceUrl string No Salesforce instance URL (e.g. https://myorg.my.salesforce.com) — override the config-block value at runtime
clientId string No Connected App client ID — override the config-block value at runtime
clientSecret string No Connected App client secret — override the config-block value at runtime Secret: stored encrypted.
objectType string No [create_record / get_record / update_record / delete_record / upsert_record / describe_object / bulk_*] Salesforce sObject API name (e.g. Account, Contact, Opportunity) Used when operation is create_record, get_record, update_record, delete_record, upsert_record, describe_object, bulk_insert, bulk_update, bulk_upsert.
recordId string No [get_record / update_record / delete_record] 18-character Salesforce record ID Used when operation is get_record, update_record, delete_record.
fieldsJson string No [create_record / update_record / upsert_record] Serialised JSON object of field name → value pairs Used when operation is create_record, update_record, upsert_record.
externalIdField string No [upsert_record / bulk_upsert] API name of the external ID field Used when operation is upsert_record, bulk_upsert.
externalIdValue string No [upsert_record] Value of the external ID field Used when operation is upsert_record.
fields string No [get_record] Comma-separated list of fields to return Used when operation is get_record.
soql string No [query / query_all] SOQL query string Used when operation is query, query_all.
sosl string No [search] SOSL search string Used when operation is search.
recordsJson string No [bulk_insert / bulk_update / bulk_upsert] Serialised JSON array of record objects Used when operation is bulk_insert, bulk_update, bulk_upsert.
fileBase64 string No [upload_file] Base64-encoded file content Used when operation is upload_file.
fileName string No [upload_file] File name including extension Used when operation is upload_file.
title string No [upload_file] Title for the ContentVersion record (defaults to fileName without extension) Used when operation is upload_file.
linkedRecordId string No [upload_file] Optional sObject record ID to link the uploaded file to Used when operation is upload_file.
contentVersionId string No [download_file] ContentVersion record ID Used when operation is download_file.
apexPath string No [invoke_apex] Apex REST endpoint path (e.g. /MyEndpoint/action) Used when operation is invoke_apex.
method string No [invoke_apex] HTTP method (GET, POST, PUT, PATCH, DELETE — default: GET) Used when operation is invoke_apex. Allowed values: GET, POST, PUT, PATCH, DELETE.
bodyJson string No [invoke_apex] Serialised JSON request body Used when operation is invoke_apex.
Output Type Description
output.success boolean True if the API call succeeded
output.id string [create_record / upsert_record] ID of the created or matched record
output.recordId string [update_record / delete_record] Salesforce record ID that was operated on
output.created boolean [upsert_record] True if a new record was created; false if an existing record was updated
output.records array [query / query_all / search] Array of matching sObject records (each element is a raw JSON string)
output.totalSize number [query / query_all] Total number of records matching the SOQL query
output.count number Number of records returned in this response
output.done boolean [query] True if all matching records are included in this response
output.hasMore boolean [query] True if additional pages are available
output.nextPageToken string [query] URL fragment to retrieve the next page (pass as nextPageToken input on subsequent calls)
output.truncated boolean [query_all] True if the result was truncated at maxRecords
output.jobId string [bulk_*] Bulk API v2 job ID
output.state string [bulk_*] Final job state (JobComplete or Aborted)
output.successCount number [bulk_*] Number of records processed successfully
output.contentVersionId string [upload_file] ContentVersion record ID of the uploaded file
output.content string [download_file] Base64-encoded file content
output.mimeType string [download_file] MIME type reported by Salesforce
output.sizeBytes number [download_file] File size in bytes
output.apiCallsRemaining number [get_limits] Remaining daily API calls
output.statusCode number HTTP status code of the API response
output.response string Raw JSON response body from the API

Config block example:

json
{
  "salesforce": {
    "operation": "query",
    "instanceUrl": "https://myorg.my.salesforce.com",
    "clientId": "3MVG9...",
    "clientSecret": "ABC123...",
    "apiVersion": "v62.0"
  }
}

servicenow#

ServiceNow. Interact with ServiceNow via the Table API. Supports full CRUD on any table, ITSM convenience wrappers (Incident, Change, Service Request), CMDB CI lookup, attachments, user lookup, and Scripted REST.

Operations: create_record, get_record, update_record, delete_record, upsert_record, query_records, query_all, create_incident, resolve_incident, create_change, create_service_request, get_ci, add_attachment, get_user, invoke_api. Set with the operation input.

Input Type Required Description
instanceUrl string No ServiceNow instance URL (e.g. https://myinstance.service-now.com) — override the config-block value at runtime
authMode string No Authentication mode: 'basic' (username + password, default) or 'oauth' (OAuth 2.0 password grant) Allowed values: basic, oauth. Default: basic.
username string No ServiceNow username (required for both Basic and OAuth)
password string No ServiceNow password (required for both Basic and OAuth) Secret: stored encrypted.
clientId string No [authMode: oauth] OAuth client ID Used when authMode is oauth.
clientSecret string No [authMode: oauth] OAuth client secret Used when authMode is oauth. Secret: stored encrypted.
tableName string No [create_record / get_record / update_record / delete_record / upsert_record / query_records / query_all / add_attachment] Target table name (e.g. incident, problem, change_request, cmdb_ci) Used when operation is create_record, get_record, update_record, delete_record, upsert_record, query_records, query_all, add_attachment.
sysId string No [get_record / update_record / delete_record / add_attachment] sys_id of the target record Used when operation is get_record, update_record, delete_record, add_attachment.
fieldsJson string No [create_record / update_record / upsert_record] Serialised JSON object of field name → value pairs Used when operation is create_record, update_record, upsert_record.
uniqueField string No [upsert_record] Field name to search for an existing record Used when operation is upsert_record.
uniqueValue string No [upsert_record] Value to match against uniqueField Used when operation is upsert_record.
query string No [query_records / query_all] ServiceNow encoded query string (sysparm_query syntax) Used when operation is query_records, query_all.
fields string No [get_record / query_records / query_all] Comma-separated list of fields to return Used when operation is get_record, query_records, query_all.
limit number No [query_records] Maximum number of records per page (default: 100) Used when operation is query_records.
offset number No [query_records] Offset for pagination (default: 0) Used when operation is query_records.
shortDescription string No [create_incident / create_change / create_service_request] Short description / title Used when operation is create_incident, create_change, create_service_request.
description string No [create_incident / create_change / create_service_request] Detailed description Used when operation is create_incident, create_change, create_service_request.
callerEmail string No [create_incident] Email address of the caller / affected user Used when operation is create_incident.
impact string No [create_incident] Impact level: 1 (High), 2 (Medium), 3 (Low — default) Used when operation is create_incident. Allowed values: 1, 2, 3.
urgency string No [create_incident] Urgency level: 1 (High), 2 (Medium), 3 (Low — default) Used when operation is create_incident. Allowed values: 1, 2, 3.
assignmentGroup string No [create_incident / create_change / create_service_request] Name or sys_id of the assignment group Used when operation is create_incident, create_change, create_service_request.
category string No [create_incident / create_change] Category value Used when operation is create_incident, create_change.
closeNotes string No [resolve_incident] Resolution notes Used when operation is resolve_incident.
closeCode string No [resolve_incident] Close code (default: Solved (Permanently)) Used when operation is resolve_incident.
changeType string No [create_change] Change type: normal | standard | emergency (default: normal) Used when operation is create_change. Allowed values: normal, standard, emergency.
startDate string No [create_change] Planned start date (ISO 8601) Used when operation is create_change.
endDate string No [create_change] Planned end date (ISO 8601) Used when operation is create_change.
requestedFor string No [create_service_request] sys_id or username of the user the request is for Used when operation is create_service_request.
ciName string No [get_ci] Name of the CI to look up (mutually exclusive with sysId) Used when operation is get_ci.
ciClass string No [get_ci] CMDB table to search (default: cmdb_ci) Used when operation is get_ci.
fileName string No [add_attachment] Attachment file name including extension Used when operation is add_attachment.
fileBase64 string No [add_attachment] Base64-encoded file content Used when operation is add_attachment.
mimeType string No [add_attachment] MIME type (default: application/octet-stream) Used when operation is add_attachment.
email string No [get_user] Email address to look up (mutually exclusive with userName / sysId) Used when operation is get_user.
userName string No [get_user] sys_user.user_name to look up Used when operation is get_user.
apiPath string No [invoke_api] Scripted REST API path (e.g. /api/x_myco/my_api/action) Used when operation is invoke_api.
method string No [invoke_api] HTTP method: GET, POST, PUT, PATCH, DELETE (default: GET) Used when operation is invoke_api. Allowed values: GET, POST, PUT, PATCH, DELETE.
bodyJson string No [invoke_api] Serialised JSON request body Used when operation is invoke_api.
Output Type Description
output.success boolean True if the API call succeeded
output.sysId string [create_record / update_record / delete_record / create_incident / create_change / create_service_request / resolve_incident] sys_id of the record operated on
output.number string [create_incident / create_change / create_service_request] Human-readable ticket number (e.g. INC0001234)
output.created boolean [upsert_record] True if a new record was created; false if an existing record was updated
output.records array [query_records / query_all] Array of matching records (each element is a raw JSON string)
output.count number Number of records returned in this response
output.hasMore boolean [query_records] True if additional pages are available
output.nextPageToken string [query_records] Offset value for the next page (pass as 'offset' on subsequent calls)
output.truncated boolean [query_all] True if the result was truncated at maxRecords
output.attachmentSysId string [add_attachment] sys_id of the created attachment record
output.statusCode number HTTP status code of the API response
output.response string Raw JSON response body from the API

Config block example:

json
{
  "servicenow": {
    "operation": "create_incident",
    "instanceUrl": "https://myinstance.service-now.com",
    "authMode": "basic",
    "username": "admin",
    "password": "secret"
  }
}

shell_command#

Shell Command. Execute a shell command locally on the worker node. Automatically selects cmd/PowerShell on Windows, bash/sh on Linux, zsh/bash on macOS.

Input Type Required Description
command string Yes The shell command to execute
workingDirectory string No Working directory for the command (default: current directory)
timeoutSeconds number No Command timeout in seconds (default: 30)
failOnNonZeroExit boolean No Throw an error if exit code is non-zero (default: true)
shell string No Shell override: auto, cmd, powershell, bash, sh, zsh (default: auto) Allowed values: auto, cmd, powershell, bash, sh, zsh.
Output Type Description
output.exitCode number Process exit code
output.stdout string Standard output captured from the command
output.stderr string Standard error captured from the command

Config block example:

json
{
  "command": "dotnet build",
  "timeoutSeconds": 120
}

string_op#

String Operation. String manipulation activities: transform case, split, join, replace, match regex, format templates, and more

Operations: transform, split, join, replace, match, contains, format, truncate, extract, pad, concat, length. Set with the operation input.

Input Type Required Description
operation string Yes Operation to perform: transform, split, join, replace, match, contains, format, truncate, extract, pad, concat, length Allowed values: transform, split, join, replace, match, contains, format, truncate, extract, pad, concat, length. Default: transform.
value string No Primary input string Used when operation is transform, split, replace, match, contains, truncate, extract, pad, length.
subOperation string No Sub-operation for transform: upper, lower, title, trim, reverse, base64Encode, base64Decode, urlEncode, urlDecode Used when operation is transform. Allowed values: upper, lower, title, trim, reverse, base64Encode, base64Decode, urlEncode, urlDecode.
delimiter string No Delimiter string to split on (default: ",") Used when operation is split.
removeEmpty boolean No Discard empty segments after splitting (default: false) Used when operation is split.
maxParts number No Maximum number of segments to produce, 0 = unlimited (default: 0) Used when operation is split.
parts array No Array of strings to join Used when operation is join.
separator string No Separator inserted between joined/concatenated values Used when operation is join, concat.
prefix string No Text prepended before the joined result Used when operation is join.
suffix string No Text appended after the joined result Used when operation is join.
values array No Array of values to concatenate Used when operation is concat.
find string Yes Literal string or regex pattern to find Used when operation is replace.
replacement string No Replacement string Used when operation is replace.
useRegex boolean No Treat "find" as a regular expression instead of a literal string (default: false) Used when operation is replace.
ignoreCase boolean No Case-insensitive comparison (default: false) Used when operation is replace, match, contains.
maxCount number No Maximum number of replacements to make, 0 = unlimited (default: 0) Used when operation is replace.
pattern string Yes Regex pattern string Used when operation is match.
multiline boolean No Enable multiline regex mode, ^/$ match line boundaries (default: false) Used when operation is match.
search string Yes String to search for Used when operation is contains.
template string Yes Template string with {placeholder} substitutions filled in from other resolved inputs Used when operation is format.
maxLength number No Maximum character length before truncating (default: 100) Used when operation is truncate.
ellipsis string No Text appended when the value is truncated (default: "...") Used when operation is truncate.
start number No Start index of the substring (default: 0) Used when operation is extract.
length number No Number of characters to extract, -1 = to the end (default: -1) Used when operation is extract.
fromEnd boolean No Measure "start" from the end of the string instead of the beginning (default: false) Used when operation is extract.
totalWidth number No Target width to pad the value to (default: value's own length, i.e. no-op) Used when operation is pad.
direction string No Which side(s) to pad (default: right) Used when operation is pad. Allowed values: left, right, both.
padChar string No Single character used for padding (default: space) Used when operation is pad.
Output Type Description
output.result string Transformed or processed string result
output.parts array Array of string segments (split/match operations)
output.matched boolean Whether the pattern or search term was found (match/contains operations)
output.count number Number of matches found (match/extract operations)

Config block example:

json
{
  "operation": "transform",
  "subOperation": "upper"
}