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 usUse Cases
Why integrate with Workato
Common scenarios for SaaS companies building Workato integrations for their customers.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
How It Works
From zero to integrated
Go live with Workato in under an hour. No boilerplate, no maintenance burden.
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.
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.
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.
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.
From the Blog
Workato integration guides
Deep dives, architecture guides, and practical tutorials for building Workato integrations.
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.