Skip to content

iPaaS · Beta

Workato
API integration

Ship iPaaS features without building the integration. Full Workato API access via Proxy, normalized data through Unified APIs, and 330+ MCP-ready tools for AI agents — all extensible to your exact use case.

Built for specific customer use cases. Issues are resolved quickly.

Talk to us
Workato

Use Cases

Why integrate with Workato

Common scenarios for SaaS companies building Workato integrations for their customers.

01

Sync enterprise org structures into your SaaS product

Enterprises use Workato to orchestrate identity and access data across systems like Okta, Active Directory, and Workday. By integrating with Workato via Truto, your product can pull standardized Users, Groups, and Roles to automatically mirror your customer's organizational hierarchy without building connectors to each upstream identity provider.

02

Automate user provisioning and deprovisioning

When enterprise customers manage employee lifecycle events through Workato recipes, your SaaS can consume those user changes in real time. This lets you offer automatic seat provisioning on hire and deprovisioning on termination — critical for enterprise security and compliance requirements.

03

Offer Workato as a native integration alongside other identity sources

Many of your enterprise customers already use Workato as their central integration hub. By offering Workato as a first-class integration option in your product via Truto's Unified User Directory API, you meet customers where they are without forcing them to adopt a separate connector or manual CSV workflow.

04

Enrich in-app access controls with enterprise role and group data

SaaS products that support role-based access control can pull Roles and Groups data from Workato to automatically map enterprise-defined permissions into their own authorization model, reducing manual admin work and improving security posture for large customers.

What You Can Build

Ship these features with Truto + Workato

Concrete product features your team can ship faster by leveraging Truto’s Workato integration instead of building from scratch.

01

Automated org chart sync

Pull Users and Groups from Workato via Truto's Unified User Directory API to keep your product's team structure continuously aligned with the customer's enterprise directory.

02

Just-in-time user provisioning

Automatically create accounts in your product when new users appear in the customer's Workato-managed identity pipeline, eliminating manual onboarding steps.

03

Role-based access mapping

Import enterprise Roles from Workato and map them to your product's permission tiers so customers get correct access levels out of the box.

04

Group-based feature entitlements

Use Groups data to gate features, workspaces, or content areas within your product based on the customer's existing organizational groupings.

05

User offboarding and license reclamation

Detect when users are removed or deactivated in the enterprise directory via Workato and automatically revoke access and free up seats in your product.

06

Authenticated user context via /me endpoint

Use the Me resource to resolve the currently connected user's identity and display personalized integration status or account linking confirmation in your UI.

SuperAI

Workato AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_workato_users

List collaborator groups in a Workato workspace. Returns: id, name, description, members_count, system, created_at, updated_at. Supports filtering by name; max page size 100.

get_single_workato_user_by_id

Get a single Workato collaborator group by id. Returns: id, name, description, system, created_at, updated_at, data. Required: id (string collaborator group ID; retrieve group IDs via the list method).

delete_a_workato_user_by_id

Delete a Workato collaborator group by id. Group members lose project access unless they have access from another source; the built-in 'All collaborators' system group cannot be deleted. Returns an empty 204 response on success. Required: id.

update_a_workato_user_by_id

Updates an existing collaborator's roles by their ID. To remove a collaborator's access, include `NoAccess` in the request body. Required: id, env_roles.

list_all_workato_groups

List Workato collaborator groups in a workspace. Returns: id, name, description, members_count, system, created_at, updated_at. Max 100 per page.

get_single_workato_group_by_id

Get a single Workato collaborator group by id. Returns a data object with the group's id, name, description, members_count, system, created_at, and updated_at. Required: id.

update_a_workato_group_by_id

Update a Workato collaborator group by id. Returns a data object with the group's id, name, description, members_count, system, created_at, and updated_at. Required: id, user_group, user_group.name.

delete_a_workato_group_by_id

Delete a Workato collaborator group by id. Returns a data object with the deleted group's id, name, description, members_count, system, created_at, and updated_at. Required: id. The default 'All collaborators' group cannot be deleted.

create_a_workato_group

Create a collaborator group in a Workato workspace. Returns a data object with the new group's id, name, description, members_count, system, created_at, and updated_at. Required: user_group, user_group.name.

list_all_workato_me

Get details of the authenticated Workato user. Returns: id, name, created_at, avatar_url, recipes_count, interested_applications, last_seen, contact_phone, email, phone, active_recipes_count, root_folder_id, plan_id, current_billing_period_start, current_billing_period_end, team_name, environment_name, is_partial_error, message_ids.

get_single_workato_environment_role_by_id

Get details of a Workato environment role by id. Returns the role including id, name, config, members_count, type, created_at, and updated_at. Required: id.

list_all_workato_environment_roles

List Workato environment roles in your workspace. Returns each role's id, name, members_count, type, created_at, and updated_at. Filterable by name; max 100 per page.

create_a_workato_environment_role

Create a new Workato environment role. Returns the created role including id, name, config, members_count, type, created_at, and updated_at. Required: environment_role with name and config.

update_a_workato_environment_role_by_id

Update a Workato environment role by id. Returns the updated role including id, name, config, members_count, type, created_at, and updated_at. Required: id, environment_role with name and config.

delete_a_workato_environment_role_by_id

Delete a Workato environment role by id. Returns an empty 204 response on success. The role cannot be deleted while collaborators are assigned to it.

list_all_workato_project_roles

List project roles in a Workato workspace. Returns: id, name, config, members_count, type, created_at, updated_at. Filter with name; max 100 per page.

get_single_workato_project_role_by_id

Get a Workato project role by id. Returns the role in data, including id, name, config, members_count, type, created_at, and updated_at. Required: id.

update_a_workato_project_role_by_id

Update a Workato project role by id. Returns the updated role in data, including id, name, config, members_count, type, created_at, and updated_at. Required: id and project_role (with name and config).

delete_a_workato_project_role_by_id

Delete a Workato project role by id. Returns an empty 204 response on success. The role cannot be deleted while collaborators are assigned to it. Required: id.

create_a_workato_project_role

Create a project role in a Workato workspace. Returns the created role in data, including id, name, config, members_count, type, created_at, and updated_at. Required: project_role (with name and config).

list_all_workato_properties

Returns a list of environment properties belonging to a customer that matches a prefix. For example, if the prefix provided is `salesforce_sync.`, any environment property with a name **beginning** with 'salesforce\_sync.' will be returned. Not paginated by Workato. Returns: salesforce_sync.object_name, salesforce_sync.object_field.

create_a_workato_property

Upserts environment properties. Matches by the names of the properties provided in the request. Returns: success. Required: properties.

list_all_workato_agentic_genies

Returns a list of genies. Returns: id, name, description, state, folder_id, instructions, ai_provider, chat_interface, channel_mode, channel_scope.

create_a_workato_agentic_geny

Creates a new genie. Returns: id. Required: name, description, folder_id, instructions, ai_provider, shared_account_id, custom_oauth_key_id, matrix.

update_a_workato_agentic_geny_by_id

Updates an existing genie. Returns: id, name, description, folder_id, project_id, instructions, ai_provider, shared_account_id, custom_oauth_key_id, matrix. Required: id.

get_single_workato_agentic_geny_by_id

Returns the genie associated with the ID you specify. Returns: id, name, description, state, folder_id, project_id, instructions, ai_provider, chat_interface, channel_mode. Required: id.

delete_a_workato_agentic_geny_by_id

Deletes a genie. Returns: success. Required: id.

workato_agentic_genies_start

Starts the genie associated with the ID you specify. Returns: success. Required: genie_id.

workato_agentic_genies_stop

Stops the genie associated with the ID you specify. Returns: success. Required: genie_id.

workato_agentic_genies_assign_skills

Assigns skills to the genie associated with the ID you specify. Required: genie_id, skill_ids.

workato_agentic_genies_remove_skills

Removes a skill from the genie associated with the ID you specify. Required: genie_id, skill_ids.

workato_agentic_genies_assign_knowledge_bases

Assigns knowledge bases to the genie associated with the ID you specify. Required: genie_id, knowledge_base_ids.

workato_agentic_genies_remove_knowledge_bases

Removes a knowledge base from the genie associated with the ID you specify. Required: genie_id, knowledge_base_ids.

workato_agentic_genies_assign_user_groups

Assigns user group access to the genie associated with the ID you specify. Required: genie_id, user_group_ids.

workato_agentic_genies_remove_user_groups

Removes user group access from the genie associated with the ID you specify. Required: genie_id, user_group_ids.

list_all_workato_agentic_genies_clients

Returns the genie clients in the workspace. Not paginated by Workato. Returns: client_id, client_name.

create_a_workato_agentic_genies_client

Creates a genie client. Set `auth.type` to `api_key` for a server-to-server credential, or `oauth` for a browser-based OAuth 2.0 (PKCE) client. Returns: data. Required: client_name, auth.

update_a_workato_agentic_genies_client_by_id

Updates a genie client's name. Required: id, client_name.

delete_a_workato_agentic_genies_client_by_id

Deletes a genie client and invalidates its credentials. Detach a genie client to remove it from a genie without deleting it. Required: id.

workato_agentic_genies_clients_regenerate

Regenerates the API key for an API-key client. The previous key is invalidated immediately, and the new key is returned only once. Returns: data. Required: client_id.

create_a_workato_agentic_genie_client

Attaches a client to the genie you specify. The genie can't have an existing client. The client can only be attached to one genie at a time. Required: genie_id, genie_client_id.

delete_a_workato_agentic_genie_client_by_id

Detaches a client from the genie you specify. The client isn't deleted and can be attached to another genie. Required: id, genie_client_id.

list_all_workato_agentic_genie_conversations

Returns a list of conversations a genie has had. The most recently active conversations return first. Returns: id, topic, created_at, last_message_at, started_by, started_via, app_type, chat_type, genie_version, test_conversation. Required: genie_id.

get_single_workato_agentic_genie_conversation_by_id

Returns a genie conversation you specify. Returns: id, topic, created_at, last_message_at, started_by, started_via, app_type, chat_type, genie_version, totals. Required: id, genie_id.

list_all_workato_agentic_genie_conversation_events

Returns the full events of a single conversation. Refer to Genie conversation events for information about each event type. Returns: event_id, event_type, date_time, workspace_id, environment_id, conversation_id, genie_run_id, identity_user_id, genie_handle, chat_type. Required: genie_id, conversation_id.

get_single_workato_agentic_genie_guardrail_by_id

Returns the guardrail and its policies for the genie associated with the ID you specify. Returns: id, policies. Required: id.

update_a_workato_agentic_genie_guardrail_policy_by_id

Creates or updates a single guardrail policy on the genie associated with the ID you specify. A new policy is created if no policy exists for the `policy_type` you provide. Otherwise the existing policy's configuration is replaced in full. You must send the complete configuration you plan to use. Partial updates aren't supported. Returns: data. Required: id, genie_guardrail_policy_id, genie_id, configuration.

list_all_workato_agentic_guardrail_pii_entities

Returns the list of PII entity type strings you can use in a `pii_detection` policy's `pii_entities[].type` field. This list isn't specific to your current environment. Not paginated by Workato. Returns: data.

list_all_workato_agentic_knowledge_bases

Returns a list of knowledge bases.

create_a_workato_agentic_knowledge_base

Creates a new knowledge base. Required: name, description, folder_id, source_type, data_sources.

get_single_workato_agentic_knowledge_base_by_id

Returns the knowledge base associated with the ID you specify. Required: id.

update_a_workato_agentic_knowledge_base_by_id

Updates an existing knowledge base. Returns: id, name, description, folder_id, source_type, data_sources. Required: id.

delete_a_workato_agentic_knowledge_base_by_id

Deletes a knowledge base. Returns: success. Required: id.

get_single_workato_agentic_knowledge_base_data_source_by_id

Returns the data sources associated with the knowledge base ID you specify. Returns: knowledge_base_id, data_sources. Required: id.

list_all_workato_agentic_knowledge_base_recipes

Returns the recipes associated with the knowledge base ID you specify. Returns: id, name, description, knowledge_base_id. Required: knowledge_base_id.

list_all_workato_agentic_skills

Returns a list of skills. Returns: id, name, description, folder_id, project_id.

create_a_workato_agentic_skill

Converts an existing recipe into a skill. The recipe must use a Start workflow trigger with defined inputs and actions. Call this endpoint with the `recipe_id` to register the recipe as a skill in Agent Studio. Returns: name, description, recipe_id, folder_id, project_id. Required: recipe_id.

get_single_workato_agentic_skill_by_id

Returns the skill associated with the ID you specify. Returns: name, description, recipe_id, folder_id, project_id. Required: id.

list_all_workato_developer_api_clients

List all Developer API clients. Returns: result.

create_a_workato_developer_api_client

Create a Developer API client. Returns: result. Required: all_folders.

get_single_workato_developer_api_client_by_id

Get a Developer API client by ID. Returns: id, name, api_privilege_group_id, created_at, updated_at, all_folders, environment_name, environment_id, token, user. Required: id.

update_a_workato_developer_api_client_by_id

Update a Developer API client. Returns: result. Required: id, all_folders.

delete_a_workato_developer_api_client_by_id

Delete a Developer API client. Returns: result. Required: id.

workato_developer_api_clients_regenerate

Regenerates the API token for an API client. This invalidates the previous API token. Returns: result. Required: developer_api_client_id.

list_all_workato_developer_api_client_roles

List all Developer API Client roles. Returns: result.

list_all_workato_integrations

Returns a list of connectors and associated metadata specified in the API request. Not paginated by Workato. Returns: name, title, categories, oauth, deprecated, secondary, triggers, actions. Required: applications.

workato_integrations_list_all

Returns a paginated list of all connectors and associated metadata in a non-embedded workspace. This includes both standard and platform connectors. Workato includes the total number of records at the end of the response.

list_all_workato_api_collections

List all API collections. The endpoint returns the `project_id` of the project to which the collections belong in the response. Returns: id, name, version, url, api_spec_url, created_at, updated_at, project_id.

create_a_workato_api_collection

Create an API collection within a project you specify. Returns: id, name, version, url, api_spec_url, project_id, public_access, created_at, updated_at. Required: project_id, name.

update_a_workato_api_collection_by_id

Update an existing API collection. Returns: id, name, version, url, api_spec_url, project_id, public_access, created_at, updated_at. Required: id.

delete_a_workato_api_collection_by_id

Delete an API collection along with all of its endpoints. Returns: result. Required: id.

get_single_workato_api_collection_openapi_by_id

Get the OpenAPI (Swagger) specification for an API collection. Returns: openapi, info, servers, tags, paths, components, security. Required: id.

list_all_workato_api_endpoints

Lists all API endpoints. Specify the `api_collection_id` to obtain the list of endpoints in a specific collection. Returns: id, api_collection_id, flow_id, name, method, url, legacy_url, base_path, path, active.

workato_api_endpoints_enable

Enables an API endpoint. You must start the associated recipe to enable the API endpoint successfully. Required: api_endpoint_id.

workato_api_endpoints_disable

Disables an active API endpoint. The endpoint can no longer be called by a client. Required: api_endpoint_id.

create_a_workato_api_collection_api_endpoint

Create an API endpoint within an API collection you specify. Returns: id, api_collection_id, flow_id, name, method, url, legacy_url, base_path, path, active. Required: api_collection_id, name, method, path.

update_a_workato_api_collection_api_endpoint_by_id

Update an existing API endpoint. Returns: id, api_collection_id, flow_id, name, method, url, legacy_url, base_path, path, active. Required: id, api_collection_id.

get_single_workato_api_endpoint_openapi_by_id

Get the OpenAPI (Swagger) specification for a specific API endpoint. Returns: openapi, info, servers, tags, paths, components, security. Required: id.

list_all_workato_api_clients

List all API clients. This endpoint includes the `project_id` to which the API client belongs in the response. Not paginated by Workato. Returns: id, name, created_at, updated_at, project_id.

create_a_workato_api_client

Create a new API client within a project you specify. Returns: id, name, created_at, updated_at. Required: project_id, name.

list_all_workato_api_clients_v_2

List all API clients. This endpoint includes the `project_id` of the API client in the response. Returns: id, name, description, active_api_keys_count, total_api_keys_count, created_at, updated_at, logo, logo_2x, is_legacy.

create_a_workato_api_clients_v_2

Create a new API client within a project you specify. Returns: data. Required: name, api_collection_ids, auth_type.

get_single_workato_api_clients_v_2_by_id

Retrieve details of an API client by ID. Returns: id, name, description, active_api_keys_count, total_api_keys_count, created_at, updated_at, is_legacy, email, auth_type. Required: id.

update_a_workato_api_clients_v_2_by_id

Update an existing API client within a project you specify. Returns: data. Required: id, name, api_collection_ids, api_policy_id.

delete_a_workato_api_clients_v_2_by_id

Delete an existing API client. Required: id.

list_all_workato_api_access_profiles

List all access profiles for an API client. If you don't provide an API client ID, this endpoint returns access profiles for all API clients. Returns: id, name, api_client_id, api_collection_ids, active, auth_type, created_at, updated_at.

create_a_workato_api_access_profile

Create an access profile for an API client. To use this endpoint, the workspace must contain at least one API collection to assign to the access profile. The response returned depends on the auth type chosen (Auth token, JSON web token or OAuth 2.0). - Auth token authorization will return the auth token in the `secret` response - JWT token has 2 signing methods: HMAC and RSA. Depending on the chosen method, the respective secret or public is required in the payload - OAuth 2.0 authorization will return the client ID and secret in `oauth_client_id` and `oauth_client secret` Returns: id, name, api_client_id, api_collection_ids, active, auth_type, jwt_method, jwt_secret, oauth_client_id, oauth_client_secret. Required: name, api_collection_ids, active, auth_type.

update_a_workato_api_access_profile_by_id

Update an access profile for an API client. The response returned depends on the auth type chosen (Auth token, JSON web token or OAuth 2.0). - Auth token authorization will return the auth token in the `secret` response - JWT token has 2 signing methods: HMAC and RSA. Depending on the chosen method, the respective secret or public is required in the payload - OAuth 2.0 authorization will return the client ID and secret in `oauth_client_id` and `oauth_client secret` Required: id, name, api_collection_ids, active, auth_type.

workato_api_access_profiles_enable

Enable an access profile belonging to an API client. Enabling an access profile will allow API calls to be accepted with the enabled profile. This call returns `success` or error messages for Unauthorized/Bad requests. Required: api_access_profile_id.

workato_api_access_profiles_disable

Disable an access profile belonging to an API client. Disabling an access profile will stop allowing API calls to be accepted with the access profile. This call returns `success` or error messages for Unauthorized/Bad requests. Required: api_access_profile_id.

workato_api_access_profiles_refresh_secret

Refreshes the auth token or OAuth 2.0 client secret. This endpoint will fail if the authorization type on the access profile is `JWT`. The response returned depends on the authorization type of the access profile (Auth token or OAuth 2.0). - Auth token authorization will return a new auth token in the `secret` response - OAuth 2.0 authorization will return a new client ID and secret in `oauth_client_id` and `oauth_client secret` Returns: id, name, api_client_id, api_collection_ids, active, auth_type, jwt_method, jwt_secret, oauth_client_id, oauth_client_secret. Required: access_profile_id.

list_all_workato_api_client_api_keys_v_2

Retrieve all API keys for an API client. Provide the `api_client_id` parameter to filter keys for a specific client. If you don’t provide the `api_client_id` parameter, the endpoint returns API keys for all clients. Not paginated by Workato. Returns: id, name, auth_type, ip_allow_list, ip_deny_list, active, active_since, auth_token. Required: api_client_id.

create_a_workato_api_client_api_keys_v_2

Create a new API key for an API client. Returns: data. Required: api_client_id, name, active.

update_a_workato_api_client_api_keys_v_2_by_id

Update an existing API key for an API client. Returns: data. Required: id, api_client_id.

workato_api_client_api_keys_v_2_enable

Enable an API key for an API client. Returns: success. Required: api_client_id, api_key_id.

workato_api_client_api_keys_v_2_disable

Disable an API key for an API client. Returns: success. Required: api_client_id, api_key_id.

workato_api_client_api_keys_v_2_refresh_secret

Refresh the authentication token or OAuth 2.0 client secret for an API key. Returns: data. Required: api_client_id, api_key_id.

delete_a_workato_api_client_api_keys_v_2_by_id

Delete an API key for an API client. Returns: success. Required: id, api_client_id.

list_all_workato_api_portals_v_2

List all API portals associated with API clients in your workspace. Not paginated by Workato. Returns: id, user_id, name, subdomain, brand_color, api_collection_ids, created_at, updated_at, logo, logo_2x.

list_all_workato_cert_bundles

List all certificate bundles. Not paginated by Workato. Returns: id, name, cert_count, leaf_ca_cn, expires_at, updated_at, client_count.

create_a_workato_cert_bundle

Upload a new certificate bundle. Required: cert_bundle_pem.

update_a_workato_cert_bundle_by_id

Update a certificate bundle by ID. Required: id.

delete_a_workato_cert_bundle_by_id

Delete a certificate bundle by ID. Returns: success. Required: id.

workato_cert_bundles_download

Download a certificate bundle by ID. Returns a file or a signed download URL rather than a JSON record. Required: certificate_bundle_id.

list_all_workato_user_group_members

Retrieves members of a collaborator group. Returns: user_id, member_invitation_id, name, email, type, avatar_url. Required: user_group_id.

create_a_workato_user_group_member

Adds collaborators to an existing collaborator group by their IDs. Required: user_group_id, user_ids.

workato_user_group_members_bulk_delete

Removes collaborators from a collaborator group by their IDs. Required: user_group_id, user_ids, member_invitation_ids.

list_all_workato_user_group_project_grants

Retrieves project roles assigned to a collaborator group. Returns: id, project, project_role. Required: user_group_project_id.

list_all_workato_connections

Returns all connections and associated data for the authenticated Workato user. Not paginated by Workato. Returns: application, id, name, description, authorized_at, authorization_status, authorization_error, created_at, updated_at, external_id.

workato_connections_pick_list

Returns a list of picklist values for a specified connection. Returns: result. Required: connection_id, pick_list_name.

create_a_workato_connection

Create a new connection. This endpoint supports the following actions: - Create a shell connection - Create and authenticate a connection Returns: application, id, name, description, authorized_at, authorization_status, authorization_error, created_at, updated_at, external_id. Required: folder_id.

update_a_workato_connection_by_id

Updates a connection in a non-embedded workspace. Returns: application, id, name, description, authorized_at, authorization_status, authorization_error, created_at, updated_at, external_id. Required: id.

workato_connections_disconnect

Disconnects an active connection in a non-embedded workspace. If the connection is already disconnected, no action is taken. Returns: success, status. Required: connection_id.

delete_a_workato_connection_by_id

Deletes a connection in a non-embedded workspace. This method deletes active (authenticated) and disconnected connections. If the connection is used by active recipes or as an Audit log streaming destination, this API request fails. Returns: success, status. Required: id.

list_all_workato_cross_workspace_grants

Retrieves a list of grants owned by the caller's workspace, with optional name filtering and sorting. Returns: handle, name, description, created_by, created_at, updated_at, environments.

get_single_workato_cross_workspace_grant_by_id

Retrieves a single grant owned by the caller's workspace, resolved by handle. Returns: handle, name, description, created_by, created_at, updated_at, environments. Required: id.

create_a_workato_cross_workspace_grant

Creates a grant in the caller's workspace. Returns: data. Required: name.

update_a_workato_cross_workspace_grant_by_id

Updates a grant owned by the caller's workspace. The request accepts the same body shape as Create a grant, applied as a partial update for each source environment. Each `environments` entry is a partial slice keyed by `source_environment_id`. An omitted `target_environment_ids` or `assets` leaves that side unchanged, and an explicit empty array clears it. Returns: data. Required: id.

delete_a_workato_cross_workspace_grant_by_id

Soft-deletes a grant owned by the caller's workspace. Required: id.

list_all_workato_cross_workspace_incoming_grants

Retrieves a list of grants that target the caller's workspace. The list view is lightweight. Each `source_environments` entry carries a `has_assets` boolean instead of the full asset list. Use the Get an incoming grant endpoint to retrieve the full asset list for a grant. Returns: handle, name, description, created_at, updated_at, source_workspace, source_environments.

get_single_workato_cross_workspace_incoming_grant_by_id

Retrieves a single grant that targets the caller's workspace. The single-grant view lists the shared `assets` for each source environment, including their `access_levels`. Returns: handle, name, description, created_at, updated_at, source_workspace, source_environments. Required: id.

list_all_workato_cross_workspace_source_environments

Retrieves the caller workspace's environments that can act as a grant source. Not paginated by Workato. Returns: id, type, name.

list_all_workato_cross_workspace_target_environments

Retrieves the sibling environments a given source environment can grant to. Targets are in the same Automation HQ organization and the same data center, and share the same environment type as the source. Not paginated by Workato. Returns: id, type, workspace_id, workspace_name. Required: source_environment_id.

list_all_workato_custom_oauth_profiles

List custom OAuth profiles. Client secrets and tokens are never returned in the response. Returns: id, user_id, name, provider, data, shared_accounts_count, oem_customers_count, created_at, updated_at.

get_single_workato_custom_oauth_profile_by_id

Retrieves a custom OAuth profile by ID. Client secrets and tokens are never returned in the response. Returns: id, user_id, name, provider, data, shared_accounts_count, oem_customers_count, created_at, updated_at. Required: id.

create_a_workato_custom_oauth_profile

Create a Custom OAuth profile. Returns: result. Required: name, provider.

update_a_workato_custom_oauth_profile_by_id

Update a Custom OAuth profile. Returns: result. Required: id, name, provider.

delete_a_workato_custom_oauth_profile_by_id

Delete a Custom OAuth profile. Returns: result. Required: id.

workato_sdk_schemas_generate_from_json

Generates Workato schema from a stringified JSON sample. Returns: control_type, label, type, name.

workato_sdk_schemas_generate_from_csv

Generates Workato schema from a stringified CSV sample. Returns: control_type, label, type, name.

workato_custom_connectors_search

Searches for a custom connector in your workspace by title. Returns: id, name, title, logo, latest_version, latest_version_note, latest_released_version, latest_released_version_note, latest_shared_version, latest_shared_version_note. Required: title.

create_a_workato_custom_connector

The Create operation allows you to create a custom connector in your workspace. Returns: id, name, title, logo, latest_version, latest_version_note, latest_released_version, latest_released_version_note, latest_shared_version, latest_shared_version_note.

update_a_workato_custom_connector_by_id

The Update operation allows you to update a custom connector in your workspace. Returns: id, name, title, logo, latest_version, latest_version_note, latest_released_version, latest_released_version_note, latest_shared_version, latest_shared_version_note. Required: id.

workato_custom_connectors_release

The Release operation allows you to release the latest version of your custom connector. After you release the new version, it is used in all future jobs. Returns: id, name, title, logo, latest_version, latest_version_note, latest_released_version, latest_released_version_note, latest_shared_version, latest_shared_version_note. Required: custom_connector_id.

workato_custom_connectors_share

The Share operation allows you to share the most recently released version of your custom connector. After you share your custom connector, all workspaces that have installed your connector through a private link or from the community library receive an update notification. Returns: id, name, title, logo, latest_version, latest_version_note, latest_released_version, latest_released_version_note, latest_shared_version, latest_shared_version_note. Required: custom_connector_id.

get_single_workato_custom_connector_code_by_id

The Get custom connector code operation allows you to fetch a custom connector's code. Returns: code. Required: id.

workato_sdk_code_validate

Checks custom connector code for syntax and semantic errors. Use it to catch issues before you call the Create custom connector or Update custom connector endpoints. Returns: data. Required: code.

list_all_workato_data_tables

Returns a list of all data tables in your workspace. Not paginated by Workato. Returns: id, name, schema, folder_id, created_at, updated_at.

get_single_workato_data_table_by_id

Returns the data table associated with the ID you specify. Returns: id, name, schema, folder_id, created_at, updated_at. Required: id.

create_a_workato_data_table

Creates a data table in a folder you specify. Returns: data. Required: name, folder_id, schema.

update_a_workato_data_table_by_id

Updates a data table you specify. Returns: data. Required: id, name, schema.

delete_a_workato_data_table_by_id

Deletes a data table you specify. Returns: data. Required: id.

workato_data_tables_truncate

Truncates a data table you specify. Truncating a data table deletes all data from a data table, but doesn't effect the table structure. Returns: data. Required: data_table_id.

workato_data_table_records_search

Queries records in a data table based on filters you specify. Calls the regional data-tables/event-streams host, so the account must have the regional domain field set. Returns: schema, data, count, limit. Required: data_table_id.

create_a_workato_data_table_record

Creates a record in a specified data table. Calls the regional data-tables/event-streams host, so the account must have the regional domain field set. Returns: data. Required: data_table_id. Send the record fields inside the document object.

update_a_workato_data_table_record_by_id

Updates a record in a specified data table. Calls the regional data-tables/event-streams host, so the account must have the regional domain field set. Returns: data. Required: id, data_table_id. Send the record fields inside the document object.

delete_a_workato_data_table_record_by_id

Deletes a record in a specified data table. Calls the regional data-tables/event-streams host, so the account must have the regional domain field set. Required: id, data_table_id.

workato_data_table_field_files_create_upload_link

Generates a link to upload a file for file-type columns. Use the resulting `upload_id` when you create or update a record. Calls the regional data-tables/event-streams host, so the account must have the regional domain field set. Returns: data. Required: data_table_id, field_id.

workato_data_table_record_files_download_link

Generates a link to download the file in the file-type column of a record. Calls the regional data-tables/event-streams host, so the account must have the regional domain field set. Returns a file or a signed download URL rather than a JSON record. Required: data_table_id, record_id, field_id.

workato_data_table_record_imports_create_upload_link

Creates a signed link you use to upload a file for import. Calls the regional data-tables/event-streams host, so the account must have the regional domain field set. Returns: data. Required: data_table_id, file_format.

workato_data_table_record_imports_delete_file

Deletes the file that was uploaded for import. Use this to cancel before starting an import. Calls the regional data-tables/event-streams host, so the account must have the regional domain field set. Returns: data. Required: data_table_id.

workato_data_table_record_imports_describe_file

Returns the columns and record count detected in the uploaded file so you can review them before starting the import. Calls the regional data-tables/event-streams host, so the account must have the regional domain field set. Returns: data. Required: data_table_id.

workato_data_table_record_imports_start

Starts importing records from the uploaded file into the table. Calls the regional data-tables/event-streams host, so the account must have the regional domain field set. Returns: data. Required: data_table_id, filename, fields, mode.

workato_data_table_record_imports_dismiss

Dismisses the import state after an import completes, or cancels an in-progress import. Calls the regional data-tables/event-streams host, so the account must have the regional domain field set. Returns: data. Required: data_table_id.

workato_secrets_management_clear_cache

Clears the secrets management cache to retrieve the latest available credentials from an external secrets manager. You don't need to disconnect and reconnect the connection for the refreshed credentials to take effect. For example, when you update a secret in your external secrets manager, you can send a request to the Workato API simultaneously to clear the secrets management cache. This ensures that Workato retrieves the latest secret when required. This allows you to programmatically sync secrets with Workato every time they're changed as part of the secrets rotation process. The request doesn't require a body. Returns: success.

list_all_workato_activity_logs

Retrieves detailed information on activities within a specific environment. You can use query parameters to filter the activity audit log by resource types, such as recipes and connections, or event types, such as creating or deleting recipes. For a complete list of supported resource and event types, refer to the Activity audit log API reference. Paginate manually with page[after] and page[size].

list_all_workato_tags

Retrieves a list of tags in your workspace, which are available in all environments. Each tag in the response includes a `handle`, which is the value that the Manage tag assignments endpoint requires. Returns: data.

create_a_workato_tag

Creates a new tag in your workspace, and the tag is available in all environments. The response returns the tag `handle`. Pass this handle, not the title, in `add_tags` of the Manage tag assignments (`POST /api/tags_assignments`) endpoint to apply the tag to a recipe or connection. Returns: data. Required: title.

update_a_workato_tag_by_id

Updates an existing tag in your workspace. Returns: data. Required: id, title.

delete_a_workato_tag_by_id

Deletes an existing tag in your workspace. Required: id.

list_all_workato_event_streams_topics

Retrieves a list of event topics, with optional filtering, sorting, and the ability to include topic schemas in the response. Not paginated by Workato. Returns: id, name, folder_id, created_at, updated_at, retention, schema, description.

create_a_workato_event_streams_topic

Creates a new event topic. Returns: data. Required: name, schema.

get_single_workato_event_streams_topic_by_id

Retrieves an event topic by its ID. Returns: id, name, folder_id, created_at, updated_at, retention, schema, description. Required: id.

update_a_workato_event_streams_topic_by_id

Updates an event topic. Returns: data. Required: id.

workato_event_streams_topics_purge

Erases all messages from the event topic's history and resets topic statistics. Returns: data. Required: topic_id.

delete_a_workato_event_streams_topic_by_id

Deletes an event topic. Returns: data. Required: id.

workato_event_streams_topics_consume

Retrieve messages from the topic. This resource provides the option to retrieve all messages within the topic or, by including parameters in the request body, to fetch messages after a specified ID or timestamp. The response is limited to a maximum of 50 messages in each batch. You can enable long polling mode by setting the `timeout_secs` parameter. In this mode, the API returns available messages instantly. If there are no messages, the API waits for a maximum of `timeout_secs` seconds. If a new message appears within this timeframe, it is instantly returned; otherwise, the API provides an empty list after the call times out. Calls the regional data-tables/event-streams host, so the account must have the regional domain field set. Returns: messages. Required: topic_id.

workato_event_streams_topics_publish

Publish a message to a topic. The message must comply with the topic schema. Calls the regional data-tables/event-streams host, so the account must have the regional domain field set. Returns: message_id. Required: topic_id. The request body is the message itself as a JSON object whose fields match the topic schema; do not wrap it in a message key. The request body is the message itself; through MCP only declared example fields can be sent, so prefer the proxy API for topics with other field names.

workato_event_streams_topics_publish_batch

Publish a batch of messages to a topic. The messages must comply with the topic schema. Calls the regional data-tables/event-streams host, so the account must have the regional domain field set. Returns: is_partial_error, message_ids. Required: topic_id, payloads.

list_all_workato_folders

Lists all folders. Returns: id, name, parent_id, is_project, project_id, created_at, updated_at.

get_single_workato_folder_by_id

Fetch a single folder within your workspace by its ID. Returns: id, name, parent_id, project_id, is_project, created_at, updated_at. Required: id.

create_a_workato_folder

Creates a new folder in the specified parent folder. If you do not specify a parent folder ID, the system creates the folder as a top-level folder in the home folder. Returns: id. Required: name.

update_a_workato_folder_by_id

Use this endpoint to update a folder name or move it to a different folder within your workspace. You can change the folder's name and update its `parent_id` if the folder is not a project. If the folder is a project, you can only change the project name using this endpoint. Refer to the Update a project endpoint documentation for additional options in the request payload for projects. Returns: id, name, parent_id, created_at, updated_at. Required: id.

delete_a_workato_folder_by_id

Delete a folder within your workspace. To use this endpoint, your API client role must have the following privilege: - **Delete folder** `DELETE /api/folders/:id` Returns: success. Required: id.

list_all_workato_projects

Lists all projects. Projects are top-level folders that normally encompass a single use case. Returns: id, description, folder_id, name.

update_a_workato_project_by_id

Update a project in your workspace. Projects are top-level folders that typically encompass a single use case. Use this endpoint to change a project's name and description. Required: id, name.

delete_a_workato_project_by_id

Delete a project within your workspace. Projects are top-level folders that typically encompass a single use case. To use this endpoint, your API client role must have the following privilege: - **Delete projects** `DELETE /api/projects/:id` Returns: success. Required: id.

workato_projects_build

Builds a project. Use the Deploy a project build endpoint to deploy the project to an environment. Returns: id, created_at, updated_at, description, project_id, state, performed_by_name, download_url. Required: project_id.

workato_projects_deploy

Builds and deploys a project to an environment. Returns: id, created_at, updated_at, title, description, project_build_id, environment_type, project_id, state, performed_by_name. Required: project_id, environment_type.

list_all_workato_recipe_jobs

Returns aggregated job information as well as detailed job information for a specified recipe in Workato. Paginate manually with offset_job_id and prev. Returns: id, completed_at, started_at, title, is_poll_error, error, is_error, status, calling_recipe_id, calling_job_id. Required: recipe_id.

get_single_workato_recipe_job_by_id

Returns a single job's metadata by its job ID. Returns: id, handle, recipe_id, completed_at, started_at, title, is_poll_error, lines, error, is_error. Required: id, recipe_id.

workato_jobs_resume

Resumes a particular job based on the `resume_token` you provide. This endpoint returns HTTP status code `204`, indicating successful request processing without any content included in the response. This endpoint is invoked by third-party apps when using SDK Wait for resume actions. Required: token.

workato_recipes_repeat_jobs

Repeats jobs you specify by their master job ID. Repeats use the latest recipe version. Returns: results, summary. Required: recipe_id, job_ids.

workato_recipes_cancel_jobs

Cancels one or more ongoing jobs you specify by their job ID. You can only cancel jobs that are in a `running` state. Returns: results, summary. Required: recipe_id, job_ids.

get_single_workato_recipe_by_id

Returns details about a recipe object. Lifetime task count has task data starting from March 19, 2021. Returns: id, user_id, name, created_at, updated_at, copy_count, trigger_application, action_applications, applications, description. Required: id.

workato_recipes_job_counts

Returns job success and failure counts for the recipe IDs you specify. Statistics cover the most recent 90 days. Recipes that don't have jobs in the 90-day time period are excluded from the response. Returns: result. Required: recipe_ids.

create_a_workato_recipe

Creates a recipe in Workato based on parameters in the request. Returns: success, id. Required: recipe.

update_a_workato_recipe_by_id

Updates an existing recipe in Workato specified based on recipe ID. Recipe details are defined based on parameters in the request. Returns: success. Required: id.

workato_recipes_copy

Copy an existing recipe in Workato specified based on recipe ID. Returns: success, new_flow_id. Required: recipe_id, folder_id.

list_all_workato_recipes

Returns a list of recipes belonging to the authenticated user. Recipes are returned in descending ID order.

workato_recipes_start

Starts a recipe specified by recipe ID. Returns: success. Required: recipe_id.

workato_recipes_stop

Stops a recipe specified by a recipe ID. Returns: success. Required: recipe_id.

delete_a_workato_recipe_by_id

Delete a recipe specified by ID. Returns: success. Required: id.

workato_recipes_reset_trigger

Reset recipe trigger cursor by recipe ID. Use this endpoint to re-sync data from the source application. The recipe should be designed to handle duplicate records because a re-sync processes every record again. Using this endpoint outside data orchestration scenarios may result in unintended behaviors, including data loss or corruption. Resetting a recipe trigger retains job history and records an event in the recipe's Activity audit log. If you reset the trigger of an active recipe, Workato completes all jobs with a running, deferred, or pending status first. Then, it proceeds to the new jobs created by the reset trigger. Returns: success. Required: recipe_id.

workato_recipes_connect

Updates the chosen connection for a specific connector in a stopped recipe. Returns: success. Required: recipe_id, adapter_name, connection_id.

workato_recipes_poll_now

Initiate the polling function of a recipe with polling triggers by providing the recipe ID. This action causes the recipe's polling trigger to execute immediately. Use the jobs APIs to check the status of a particular recipe. Returns: success. Required: recipe_id.

workato_recipes_force_run

Manually triggers an on-demand job for a recipe, independent of its normal schedule. The recipe's schedule isn't affected. This call adds a one-time job without rescheduling the recipe's future runs. This endpoint only supports recipes that are running and use the New recurring event trigger from the Scheduler by Workato connector. Calling this endpoint on a stopped recipe, or on a recipe using a different trigger, returns a `422` error. Returns: success, job_handles. Required: recipe_id.

workato_recipes_analyze_health

This endpoint queues a recipe for analysis by Performance Copilot. Use this endpoint to request a new performance scan after making changes to the recipe. Returns: status. Required: recipe_id.

list_all_workato_lookup_tables

Returns a list of lookup tables belonging to a customer. Workato includes the `project_id` of the project to which the lookup table belongs in the response. Not paginated by Workato. Returns: id, name, schema, created_at, updated_at, project_id.

create_a_workato_lookup_table

Create a new lookup table. Depending on your requirements, you can choose to make the lookup table available for general access across your workspace or limit its scope to a specific project. Returns: id, name, schema, project_id, created_at, updated_at. Required: name, schema.

workato_lookup_tables_batch_delete

Use this endpoint to delete lookup tables in batch. Returns: data, errors. Required: ids.

list_all_workato_lookup_table_rows

Returns a lists of rows from the lookup table. Supports filtering and pagination. Returns: id, data, created_at, updated_at. Required: lookup_table_id.

workato_lookup_table_rows_lookup

Finds the first row matching the given criteria in the lookup table. Returns a 404 when the lookup fails. Returns: id, data, created_at, updated_at. Required: lookup_table_id.

get_single_workato_lookup_table_row_by_id

Get a row from the lookup table. Returns: code, name, col3, col4, col5. Required: id, lookup_table_id.

create_a_workato_lookup_table_row

Adds a row to the lookup table. Returns: id, data, created_at, updated_at. Required: lookup_table_id, data.

update_a_workato_lookup_table_row_by_id

Updates a row in the lookup table. Returns: id, data, created_at, updated_at. Required: id, lookup_table_id, data.

delete_a_workato_lookup_table_row_by_id

Delete a row from the lookup table Returns: success. Required: id, lookup_table_id.

list_all_workato_mcp_servers

Returns a list of MCP servers in the workspace. Returns: id, name, description, folder_id, project_id, authentication_method, tools_count.

create_a_workato_mcp_server

Creates a new MCP server in the workspace. Returns: data. Required: name, folder_id.

get_single_workato_mcp_server_by_id

Retrieves details for a specific MCP server. Returns: id, name, description, asset_type, logo_url, tools_count, mcp_url, auth_type, idp_user_group_ids, api_collection. Required: id.

update_a_workato_mcp_server_by_id

Updates an existing MCP server. Returns: data. Required: id.

delete_a_workato_mcp_server_by_id

Deletes an MCP server. Required: id.

workato_mcp_servers_token_renew

Generates a new authentication token for an MCP server and invalidates the previous token. Use this endpoint to rotate credentials after a security event or as part of a regular credential rotation policy. Returns: data. Required: handle.

workato_mcp_servers_assign_tools

Assigns one or more tools to an MCP server. Tools already assigned to the server aren't duplicated. Returns: data. Required: handle, tools.

workato_mcp_servers_assign_user_groups

Assigns identity provider user groups to an MCP server. Only applicable when the server's `auth_type` is `workato_idp`. Returns: data. Required: handle, idp_user_group_ids.

workato_mcp_servers_remove_user_groups

Removes identity provider user groups from an MCP server. Returns: data. Required: handle, idp_user_group_ids.

workato_mcp_servers_update_folder

Moves an MCP server to a specified folder. Returns: data. Required: handle, folder_id.

create_a_workato_mcp_server_token

Creates a token profile for a server with `hashed_token` as the `auth_type`. Returns: id, name, auth_type, created_at, created_by, token_first_symbols, token_last_symbols, plain_token. Required: mcp_server_handle, name.

delete_a_workato_mcp_server_token_by_id

Deleting a hashed token doesn't remove it from the database. The hashed token profile is marked as inactive. The token immediately stops working and can no longer authenticate MCP requests. Required: id, mcp_server_handle.

workato_mcp_server_tokens_refresh

Invalidates the current token value for a profile and returns a fresh plain token. Returns: id, name, auth_type, created_at, created_by, token_first_symbols, token_last_symbols, plain_token. Required: mcp_server_handle, server_token_id.

get_single_workato_mcp_server_policy_by_id

Retrieves the security policy configuration for an MCP server, including rate limits, usage limits, Classless Inter-Domain Routing (CIDR), and IP addresses. Returns: id, mcp_server_id, rate_limits, quota_limits, ip_allow_list, ip_deny_list, created_at, updated_at. Required: id.

update_a_workato_mcp_server_policy_by_id

Updates the security policy configuration, including IP for an MCP server. Returns: id, mcp_server_id, rate_limits, quota_limits, ip_allow_list, ip_deny_list, created_at, updated_at. Required: id, mcp_server_policy.

list_all_workato_mcp_server_tools

Returns a paginated list of tools assigned to an MCP server. Returns: id, name, description, trigger_application, action_applications, flow_id, vua_required. Required: mcp_server_handle.

update_a_workato_mcp_server_tool_by_id

Updates the description of a tool within an MCP server. This modifies the description shown to AI clients without affecting the underlying recipe or API endpoint. Returns: id, name, description, trigger_application, action_applications, flow_id, vua_required. Required: id, mcp_server_handle.

delete_a_workato_mcp_server_tool_by_id

Removes a tool from an MCP server. Required: id, mcp_server_handle.

list_all_workato_mcp_user_groups

Returns a paginated list of identity provider user groups available in the workspace. Use the group IDs from this response when assigning access to MCP servers that use `workato_idp` authentication. Returns: id, name, users_count, created_at, updated_at.

list_all_workato_mcp_server_access_assignments

Returns a paginated list of MCP server access assignments for users or user groups. **Required privilege:** `mcp_access_assignments.index`. Returns: id, idp_user_id, idp_user_group_id, all_tools, tool_ids, created_at, updated_at. Required: mcp_server_handle, identity_type.

create_a_workato_mcp_server_access_assignment

Creates one access assignment for a user or user group on an MCP server. **Required privilege:** `mcp_access_assignments.create`. Returns: data. Required: mcp_server_handle.

get_single_workato_mcp_server_access_assignment_by_id

Retrieves an access assignment belonging to an MCP server. **Required privilege:** `mcp_access_assignments.show`. Returns: id, idp_user_id, idp_user_group_id, all_tools, tool_ids, created_at, updated_at. Required: id, mcp_server_handle.

update_a_workato_mcp_server_access_assignment_by_id

Replaces the tool access scope of an existing MCP server access assignment. **Required privilege:** `mcp_access_assignments.update`. Returns: data. Required: id, mcp_server_handle.

delete_a_workato_mcp_server_access_assignment_by_id

Deletes a user's or user group's access assignment from an MCP server. **Required privilege:** `mcp_access_assignments.destroy`. Required: id, mcp_server_handle.

list_all_workato_on_prem_groups

List all on-prem groups in your workspace. Not paginated by Workato. Returns: id, name, created_at, in_use, use_managed_connection, config_version, logs_enabled, whitelisted_ips.

create_a_workato_on_prem_group

Create an on-prem group. Returns: id, name, created_at, in_use, use_managed_connection, config_version, logs_enabled, whitelisted_ips. Required: name.

get_single_workato_on_prem_group_by_id

Get details about an on-prem group. Returns: id, name, created_at, in_use, use_managed_connection, config_version, logs_enabled, whitelisted_ips. Required: id.

update_a_workato_on_prem_group_by_id

Update an on-prem group. Returns: id, name, created_at, in_use, use_managed_connection, config_version, logs_enabled, whitelisted_ips. Required: id.

delete_a_workato_on_prem_group_by_id

Delete an on-prem group and the on-prem agents it contains. Returns: success. Required: id.

get_single_workato_on_prem_group_status_by_id

Get the status of an on-prem group. Returns: agent_count, active_agent_count, profiles. Required: id.

list_all_workato_on_prem_agents

List all on-prem agents in your workspace. Not paginated by Workato. Returns: id, on_prem_group_id, name, cn, os, installation_method, awaiting_setup, enabled, last_seen_version, created_at.

create_a_workato_on_prem_agent

Create an on-prem agent. Returns: id, on_prem_group_id, name, cn, os, installation_method, awaiting_setup, enabled, last_seen_version, created_at. Required: name, on_prem_group_id.

get_single_workato_on_prem_agent_by_id

Get the details of an on-prem agent. Returns: id, on_prem_group_id, name, cn, os, installation_method, awaiting_setup, enabled, last_seen_version, created_at. Required: id.

update_a_workato_on_prem_agent_by_id

Update an on-prem agent. Returns: id, on_prem_group_id, name, cn, os, installation_method, awaiting_setup, enabled, last_seen_version, created_at. Required: id.

delete_a_workato_on_prem_agent_by_id

Delete an on-prem agent. Returns: success. Required: id.

workato_on_prem_agents_search

Search on-prem agents by their common name. Returns: id, on_prem_group_id, name, cn, os, awaiting_setup, enabled.

workato_on_prem_agents_activation_code

Get an activation code for an on-prem agent. Returns: code. Required: on_prem_agent_id.

get_single_workato_on_prem_agent_status_by_id

Get the status of an on-prem agent. Returns: active. Required: id.

get_single_workato_project_grant_by_id

Retrieves a project grant by its ID. Returns: id, project, project_role, user_group, user. Required: id.

update_a_workato_project_grant_by_id

Updates an existing project grant by its ID. Returns: data. Required: id, project_grant.

delete_a_workato_project_grant_by_id

Deletes a project grant by its ID. Required: id.

list_all_workato_project_project_grants

Retrieves a list of grants from a project by its ID. Returns: id, project_role, user, user_group. Required: project_id.

workato_project_project_grants_bulk_update

Adds or updates project grants for a project by its ID. You can include a maximum of 100 grants in each request. Returns: errors. Required: project_id, project_grants.

get_single_workato_project_build_by_id

Retrieves a project build by its unique ID. Returns: id, created_at, updated_at, description, project_id, state, performed_by_name, download_url. Required: id.

workato_project_builds_deploy

Deploys a project build to an environment. Use the Build a project endpoint to build the project first. Returns: id, created_at, updated_at, title, description, project_build_id, environment_type, project_id, state, detailed_state. Required: project_build_id, environment_type.

get_single_workato_deployment_by_id

Retrieves a single deployment by its unique ID. Returns: id, created_at, updated_at, title, description, project_build_id, environment_type, project_id, state, detailed_state. Required: id.

list_all_workato_deployments

Retrieves a list of deployments. Query parameters may be used to filter results to a specific project, folder, date range, etc. Returns: id, created_at, updated_at, title, description, project_build_id, environment_type, project_id, state, detailed_state.

workato_deployments_assign_reviewers

Assigns reviewers to a deployment. You can assign reviewers either before or after submitting the deployment for review. The **Require review and approval** toggle must be enabled in **Workspace admin > Settings > Deployments** to access this endpoint. This endpoint can also be used to unassign reviewers. To unassign a reviewer, call the endpoint again and provide only the IDs of the users who should remain assigned to the deployment. Unassigning a reviewer removes their review from the deployment. Returns: reviews, authors. Required: deployment_id, reviewer_ids.

workato_deployments_submit_for_review

Submits a deployment for review. Before calling this endpoint, use the Build a project and Deploy a project build endpoints to generate and retrieve the deployment ID. The **Require review and approval** toggle must be enabled in **Workspace admin > Settings > Deployments** to access this endpoint. Returns: success. Required: deployment_id.

workato_deployments_approve

Approves a deployment. The **Require review and approval** toggle must be enabled in **Workspace admin > Settings > Deployments** to access this endpoint. Returns: review. Required: deployment_id, comment.

workato_deployments_reject

Rejects a deployment. The **Require review and approval** toggle must be enabled in **Workspace admin > Settings > Deployments** to access this endpoint. Returns: review. Required: deployment_id, comment.

workato_deployments_reopen

Re-opens a deployment for review. The **Require review and approval** toggle must be enabled in **Workspace admin > Settings > Deployments** to access this endpoint. Returns: success. Required: deployment_id.

workato_deployments_update_review_comment

Updates a deployment review comment. The **Require review and approval** toggle must be enabled in **Workspace admin > Settings > Deployments** to access this endpoint. Returns: review. Required: deployment_id, comment.

workato_deployments_deploy

Deploys an approved deployment. The **Require review and approval** toggle must be enabled in **Workspace admin > Settings > Deployments** to access this endpoint. Returns: id, created_at, updated_at, title, description, project_build_id, environment_type, project_id, state, detailed_state. Required: deployment_id.

list_all_workato_deployment_eligible_reviewers

Retrieves a list of eligible reviewers that can be assigned to review a deployment. Reviewers must be collaborators with review permissions in both the DEV environment and the target deployment environment. The **Require review and approval** toggle must be enabled in **Workspace admin > Settings > Deployments** to access this endpoint. Not paginated by Workato. Returns: id, name, avatar_url. Required: deployment_eligible_id.

workato_export_manifests_folder_assets

View assets in a folder. You can use this endpoint to help you create or update an export manifest. Returns: result.

create_a_workato_export_manifest

Create an export manifest. Returns: result. Required: name, assets, id, type, absolute_path.

update_a_workato_export_manifest_by_id

Update an export manifest. Returns: result. Required: id, assets, type.

get_single_workato_export_manifest_by_id

View an export manifest. Returns: id, name, last_exported_at, created_at, updated_at, deleted_at, project_path, status. Required: id.

delete_a_workato_export_manifest_by_id

Delete an export manifest. Returns: result. Required: id.

workato_packages_export

Export a package based on a manifest. Returns a file or a signed download URL rather than a JSON record. Returns: id, operation_type, status, include_tags, export_manifest_id, download_url. Required: package_id.

workato_packages_import

Import a package in zip file format into a folder. This endpoint allows an API client to create or update assets, such as recipes, lookup tables, event topics, and message templates, through package imports. Returns: id, operation_type, status, download_url. Required: package_id, folder_id_for_home_assets.

get_single_workato_package_by_id

Get details of an imported or exported package. Returns: id, operation_type, status, export_manifest_id, download_url. Required: id.

workato_packages_download

Downloads a package. Returns a file or a signed download URL rather than a JSON record. Required: package_id.

list_all_workato_recipe_versions

Retrieve detailed information about all versions of a specified recipe. Returns: id, comment, version_no, author_name, author_email, created_at, updated_at. Required: recipe_id.

get_single_workato_recipe_version_by_id

Retrieve detailed information about a specific recipe version. Returns: id, comment, version_no, author_name, author_email, created_at, updated_at. Required: id, recipe_id.

update_a_workato_recipe_version_by_id

Updates the comment on a specific recipe version. This endpoint modifies only the comment associated with the version, not the version itself. Returns: data. Required: id, recipe_id, comment.

get_single_workato_recipe_health_by_id

This endpoint retrieves the most recent optimization report for a recipe. The report includes checks run by Performance Copilot, rule violations, and a total score. Returns: checks, report, version. Required: id.

workato_roles_migration_system_roles

Converts legacy system roles into environment and project roles. You can also use the in-app migration wizard to migrate system roles. Returns: data.

workato_roles_migration_custom_role

Converts legacy custom roles into environment and project roles. Alternatively, you can use the in-app migration wizard to migrate custom roles. Returns: data. Required: privilege_group_id, environment_role, project_role.

list_all_workato_roles

Lists all custom roles. Returns: id, name, inheritable, folder_ids, created_at, updated_at, privileges.

update_a_workato_role_by_id

Updates the projects accessible to a custom collaborator role. You can set the privilege to all projects or specific projects by their folder IDs. The folder IDs can be obtained with the GET folders API endpoint. Returns: id, name, inheritable, folder_ids, created_at, updated_at, privileges. Required: id, all_folders.

workato_roles_copy

Creates a copy of a custom collaborator role with the ability to change the folders accessible by the role. The folder IDs can be obtained with the GET folders API endpoint. Returns: id, name, inheritable, folder_ids, created_at, updated_at. Required: role_id, name.

list_all_workato_static_assets_files

Retrieves all resources in a folder. Not paginated by Workato. Returns: filename, updated_by, updated_at. Required: project_name, path.

create_a_workato_static_assets_file

Uploads a resource to a folder. If a resource with the same filename already exists, this creates a new version. Refer to the Upload resources guide to upload a resource using the Workato UI. Returns: success. Required: project_name, path, file.

workato_static_assets_files_download

Downloads a resource. Refer to the Download a resource guide to download a resource using the Workato UI. Returns a file or a signed download URL rather than a JSON record. Required: project_name, path.

workato_static_assets_files_bulk_delete

Deletes a resource. Refer to the Delete a resource guide to delete a resource using the Workato UI. Returns: success. Required: project_name, path.

create_a_workato_tags_assignment

Applies or removes tags from assets in your workspace. This endpoint can tag recipes and connections only. You can assign one or more tags to these assets or remove existing tags. Returns: data.

create_a_workato_member_invitation

Invite a collaborator to your workspace. The API sends an email invitation if the email you provide doesn't belong to an existing user. Collaborators can join the workspace after they create a Workato account. You can invite a specific email and workspace combination once every twenty minutes. Required: name, email, env_roles.

list_all_workato_member_project_grants

Retrieves all project grants for a workspace. This doesn't include project access granted through collaborator groups. Returns: id, project, project_role. Required: member_project_id.

list_all_workato_member_privileges

Retrieves the privileges and roles of a collaborator by their ID. The response returns an array of roles for each environment (for example, `dev`, `test`, and `prod`) with the following information: - Environment type - User role - All permissions assigned to the role - Role type The response includes roles from both the legacy model (`role_type: privilege_group`) and the new model (`role_type: environment`). Not paginated by Workato. Returns: environment_type, name, role_type, privileges. Required: member_id.

list_all_workato_member_projects_privileges

Retrieves project-level access for a collaborator. This includes access assigned directly or through membership in a collaborator group. You can use this endpoint to audit project permissions. Not paginated by Workato. Returns: environment, projects. Required: member_projects_id.

create_a_workato_test_case_run_request

Use this endpoint to run test cases. You can specify the test cases to run in the following ways: - All test cases of all recipes in a manifest - All test cases of all recipes in a project - All test cases of all recipes in a folder - All test cases belonging to a particular recipe - Test cases you specify This endpoint is asynchronous. You can use the run request `id` to poll the current state of the request using the /api/test\_cases/run\_requests/:id endpoint. Returns: data.

get_single_workato_test_case_run_request_by_id

Get the current state of a test case run request. For completed requests, Workato also returns the test coverage data along with the results. Returns: id, status, user, created_at, updated_at, coverage, results. Required: id.

list_all_workato_recipe_test_cases

Returns a collection of test cases belonging to the recipe you specify. Not paginated by Workato. Returns: id, created_at, updated_at, description, name. Required: recipe_id.

list_all_workato_iam_users

List all users in your workspace. Returns: id, email, name, status, last_signed_in_at, created_at, environment_ids, user_groups.

get_single_workato_iam_user_by_id

Retrieve details for a specific user by ID. Returns: id, email, name, status, last_signed_in_at, created_at, environment_ids, user_groups. Required: id.

create_a_workato_iam_user

Create one or more new users in your workspace. Returns: data. Required: users.

update_a_workato_iam_user_by_id

Update an existing user's information, including name and group memberships. Returns: data. Required: id.

delete_a_workato_iam_user_by_id

Delete a user from your workspace. Returns: data. Required: id.

workato_iam_users_add_to_group

Add a user to a specific user group. Returns: data. Required: user_id, user_group_id.

workato_iam_users_remove_from_group

Remove a user from a specific user group. Returns: data. Required: user_id, user_group_id.

list_all_workato_iam_user_groups

List all user groups in the current environment. Returns: id, environment_id, name, users_count, created_at, updated_at.

get_single_workato_iam_user_group_by_id

Retrieve details of a specific user group by ID. Returns: id, environment_id, name, users_count, created_at, updated_at. Required: id.

create_a_workato_iam_user_group

Create a new user group in your workspace. Returns: data.

update_a_workato_iam_user_group_by_id

Update an existing user group name. Returns: data. Required: id.

delete_a_workato_iam_user_group_by_id

Delete a user group from your workspace. Returns: data. Required: id.

workato_iam_user_groups_add_users

Add multiple users to a user group in a single operation. Returns: data. Required: user_group_id, user_ids.

workato_iam_user_groups_remove_users

Remove multiple users from a user group in a single operation. Returns: data. Required: user_group_id, user_ids.

list_all_workato_iam_user_group_members

List all members of a specific user group. Returns: id, email, name, status, last_signed_in_at, created_at, environment_ids, user_groups. Required: user_group_id.

list_all_workato_iam_app_links

List all app links in the current environment. Returns: id, app_type, app_user_id, user_id, state, linked_at, created_at, updated_at, auth_link.

create_a_workato_iam_app_link

Create a new app link in your workspace. Returns: data. Required: app_type, app_user_id.

delete_a_workato_iam_app_link_by_id

Delete an app link from your workspace. Returns: data. Required: id.

workato_iam_app_links_bulk_delete

Delete multiple app links from your workspace in a single operation. Returns: data.

list_all_workato_xchange_packages

Lists the packages visible to the caller. Returns: id, name, description, is_own, is_published, last_version, latest_activity.

workato_xchange_packages_import

Imports a `.zip` as a net-new package and its first version. The endpoint validates the file extension and a 100 MB size cap synchronously, then stages and enqueues an asynchronous import job. Poll the job's progress with Get version creation status. There's no `name` parameter. The draft package name comes from the uploaded filename. If you omit `version`, it defaults to `v1.0`. Returns: data. Required: file.

list_all_workato_xchange_package_versions

Lists a package's versions with per-version installation counts. These counts are a lightweight, counts-only surface. For the full statistics surface, use Get package installation statistics. Returns: id, version, status, release_notes, created_at, last_installed_at, installations. Required: package_id.

workato_xchange_package_versions_import

Imports a `.zip` as a new version of an existing package, using the same asynchronous pipeline as a net-new package import. Returns: errors. Required: package_id, file, version.

workato_xchange_package_versions_publish

Publishes an approved version to the private library. Returns: data. Required: package_id, version_id.

workato_xchange_package_versions_unpublish

Removes the package's private library publication. Existing installations remain. Returns: data. Required: package_id, version_id.

workato_xchange_package_versions_share

Marks a version that's `approved` or `published` as the package's shared-link version. Required: package_id, version_id.

workato_xchange_package_versions_unshare

Clears the package's shared-link version. This only succeeds when `version_id` in the URL matches the current shared-link version. Required: package_id, version_id.

get_single_workato_xchange_version_by_id

Shows one version. Returns: id, version, status, builder_id, builder, description, release_notes, created_at, project_handles, content. Required: id.

update_a_workato_xchange_version_by_id

Updates an existing version's editable metadata. The endpoint re-fetches and returns the full version. Returns: data. Required: id.

workato_xchange_versions_export

Gets a short-lived, presigned download URL for a package version's `.zip`. The API doesn't stream the file directly. It returns a URL you can use to download it. Returns a file or a signed download URL rather than a JSON record. Returns: data. Required: version_id.

workato_xchange_versions_approve

Approves a submitted package version. Required: version_id.

workato_xchange_versions_reject

Rejects a submitted package version. Required: version_id.

workato_xchange_versions_reset

Resets a submitted version's review to its pre-review state. The request takes no body. Required: version_id.

get_single_workato_xchange_version_draft_by_id

Polls the status of a version draft created by a `.zip` import. The response returns draft status only. It doesn't include generated asset contents or a diff. Returns: version_draft_id, status, error_message, package_id, version_id. Required: id.

update_a_workato_xchange_version_comment_by_id

Updates an existing review comment. Required: id, version_id, comments.

list_all_workato_xchange_package_consumers

Returns the consumers of a package. You can filter consumers by installation status and search by name or external ID. Returns: id, name, avatar_url, external_id. Required: package_id.

create_a_workato_xchange_distribution

Creates a distribution batch for a package version and enqueues it for processing. Returns: data. Required: version_id, environment_ids.

list_all_workato_xchange_distributions

Returns a list of distribution batches, optionally scoped to a package. Returns: id, version_id, version, status, target_workspaces, created_at.

get_single_workato_xchange_distribution_by_id

Returns a distribution batch, optionally with per-target distribution details. Returns: id, version_id, version, status, target_workspaces, created_at, details. Required: id.

workato_xchange_distributions_retry_failed

Retries and re-enqueues failed distributions in a batch for processing. The endpoint returns a `422` error if the batch doesn't contain failed distributions. Returns: data. Required: distribution_id.

get_single_workato_xchange_package_sharing_link_by_id

Lists a package's sharing links. Required: id.

create_a_workato_xchange_package_sharing_link

Creates one public link, or one or more workspace-scoped links. Required: package_id, kind, name, workspace_ids.

workato_xchange_package_sharing_links_activate

Sets a link's status to `active`. You can call this endpoint multiple times without changing the result. Required: package_id, link_id.

workato_xchange_package_sharing_links_deactivate

Sets a link's status to `inactive`. You can call this endpoint multiple times without changing the result. Required: package_id, link_id.

delete_a_workato_xchange_package_sharing_link_by_id

Permanently deletes a sharing link. Required: id, package_id.

get_single_workato_xchange_package_stat_by_id

Returns a package's installation statistics. The `summary` block is package-wide and isn't affected by the `version_id` filter or pagination. `by_version` is the paginated per-version breakdown. Required: id.

get_single_workato_xchange_package_installation_by_id

Returns a package's per-workspace installation report. Required: id.

Why Truto

Why use Truto’s MCP server for Workato

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 850+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

Unified APIs

Unified APIs for Workato

Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.

Unified User Directory API

Groups

Groups are a collection of users in the source application. In some applications, they might also be called Teams.

View Docs

Roles

The Role object represents a role of a User.

View Docs

Users

The User object represents a User.

View Docs

How It Works

From zero to integrated

Go live with Workato in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Workato account

Use Truto’s frontend SDK to connect your customer’s Workato account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Workato

Truto’s Proxy API is a 1-to-1 mapping of the Workato API. You call us, we call Workato, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Workato’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Workato on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

What data can I access from Workato through Truto today?

Truto's Unified User Directory API supports Users, Groups, Roles, and Me resources for Workato. These let you read organizational identity data exposed through Workato's API. Additional tools and resources can be built on request.

How does authentication work for connecting a customer's Workato account?

Workato uses API tokens for authentication. Your end users provide their Workato API key when connecting through Truto's managed auth flow, so you don't need to handle credential storage or token refresh logic yourself.

Are there rate limits I need to worry about?

Yes, Workato enforces API rate limits that vary by plan and endpoint. Truto handles pagination and respects rate limit headers automatically, but for high-volume syncs you should account for potential throttling on the Workato side.

Can I write data back to Workato or is this read-only?

The Unified User Directory API is primarily designed for reading identity data. If you need write operations or programmatic recipe management, Truto can build custom tools for Workato's Developer API endpoints on request.

What if I need data beyond Users, Groups, and Roles — like Recipes or Event Streams?

Truto builds integration tools on request. If you need access to Workato's Recipe management, Event Streams, or other Developer API capabilities, the Truto team can scope and deliver those as custom tools for your use case.

How fresh is the data I pull from Workato via Truto?

Data is fetched directly from Workato's API in real time when you make a request through Truto. There is no intermediate caching layer, so data freshness matches what Workato's API returns at the time of the call.

Workato

Get Workato integrated into your app

Our team understands what it takes to make a Workato integration successful. A short, crisp 30 minute call with folks who understand the problem.