---
title: Gumloop API Integration on Truto
slug: gumloop
category: iPaaS
canonical: "https://truto.one/integrations/detail/gumloop/"
---

# Gumloop API Integration on Truto



**Category:** iPaaS  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 38 tools for Gumloop that AI agents can call directly.

- **create_a_gumloop_agent** — Create a new agent in Gumloop. The authenticated caller must have permission to create agents on the target team. Returns: id, name, team_id.
- **list_all_gumloop_agents** — List Gumloop agents the caller has access to, optionally filtered by team, name, tool, or trigger. Returns: id, name, team_id.
- **get_single_gumloop_agent_by_id** — Retrieve a single Gumloop agent by id. Returns: id, name, team_id. Required: id.
- **update_a_gumloop_agent_by_id** — Update an existing Gumloop agent by id; only fields included in the request body are changed — omitted fields remain untouched. Returns: id, name, team_id. Required: id.
- **get_single_gumloop_artifact_by_id** — Download a gumloop artifact by id. Returns a signed download URL for the artifact along with its filename, media_type, and size; follow download_url to fetch the file bytes. Required: id.
- **list_all_gumloop_artifacts** — List artifacts (files) produced by a gumloop agent. Returns a collection of artifact records, each including id, filename, media_type, and size. Optionally scope to a specific session, search by filename, or sort results. Required: agent_id.
- **create_a_gumloop_chat_completion** — Create an OpenAI-compatible chat completion in Gumloop, multiplexed across Anthropic, OpenAI, Google Gemini, and OpenRouter models. Set stream: true for Server-Sent Events or omit for a unary JSON response; include "image" in modalities to dispatch image-generation models (gpt-image-*, gemini-*-image-preview, dall-e-*). Returns: id, model, choices (with message, finish_reason, and images for image-gen), and usage. Required: model, messages.
- **get_single_gumloop_file_by_id** — Download a single file from Gumloop. Returns the file as an opaque binary or encoded payload whose structure and encoding depend on the file's content type.
- **list_all_gumloop_files** — Download multiple files from Gumloop. Returns an opaque payload containing the file content for each requested file; the structure and encoding of each file depends on its content type.
- **create_a_gumloop_file** — Upload a single file to Gumloop using multipart form encoding. Returns a dynamic response payload confirming the upload whose structure depends on the uploaded content. Required: file.
- **gumloop_files_bulk_create** — Upload multiple files to Gumloop using multipart form encoding. Returns a dynamic response payload confirming the uploads whose structure depends on the files processed. Required: file.
- **list_all_gumloop_flows** — List saved flows (automations) in Gumloop for a specific user. Returns: saved_item_id, name, user_id. Required: user_id.
- **list_all_gumloop_workbooks** — List gumloop workbooks and their saved flows. Returns workbook objects including their saved_flows. Required: user_id.
- **get_single_gumloop_automation_by_id** — Retrieve the input schema for a gumloop automation (saved item). Returns the automation-specific input field definitions for the identified pipeline; the exact schema is determined by the automation's configuration in gumloop. Required: saved_item_id.
- **list_all_gumloop_automation_runs** — List automation run history in gumloop, returning the 10 most recent runs for a given user across automations. Returns: id and pipeline-specific run attributes. Required: user_id.
- **create_a_gumloop_mcp_tool** — Execute a batch of 1–5 MCP tool calls concurrently in Gumloop. Calls run in parallel and each result independently reports its own outcome. Returns: status per call result. HTTP 200 on full success, 207 for partial success, 400/401/403 otherwise. Batch size is limited to 5 calls.
- **list_all_gumloop_mcp_servers** — List Gumloop MCP servers visible to the caller, spanning Gumloop-hosted (gumcp_server), user-deployed Gumstack (gumstack_server), and custom (mcp_server) types. Returns: id, type, connection_state, allowed_tool_call_ids.
- **get_single_gumloop_mcp_server_by_id** — Retrieve a single Gumloop MCP server by id. Returns the server record including id, type, connection_state, and allowed_tool_call_ids listing the tool calls the caller may invoke on this server. Required: id.
- **list_all_gumloop_mcp_server_tools** — List the tools exposed by a gumloop MCP server. Returns: name, description, inputSchema for each tool. When the server is not in a connected state, the tools list is empty. Required: server_id.
- **list_all_gumloop_models** — List the LLMs and preset model chains available in gumloop, grouped for display in a model picker. Returns: id, name, type.
- **create_a_gumloop_export_datum** — Create and initiate a data export job in Gumloop for an enterprise organization. Supports exporting workflows, agents, agent_interactions, or credit_logs data types. Returns the created export job including its id. Required: data_type. Non-credit-log exports also require at least one of workspace_ids, include_all_workspaces, include_personal_workspaces, or entity_ids; omitting all scoping parameters returns a 400 error.
- **get_single_gumloop_data_export_by_id** — Get the status of a Gumloop data export job, and access the exported CSV file when the job has completed successfully. Returns: status. Required: data_export_id.
- **list_all_gumloop_audit_logs** — List audit logs for all users in a Gumloop organization over a specified time period. Returns a collection of audit log entries including user_id, action, and timestamp for each recorded event.
- **update_a_gumloop_permission_group_user_by_id** — Add or remove users from a custom role (formerly permission group) in Gumloop. Adding a user to a role does not remove them from any other role they already belong to. Returns an empty 204 response on success.
- **gumloop_workspace_users_bulk_update** — Add or remove users from a Gumloop workspace as an organization administrator. Returns an empty 204 response on success.
- **delete_a_gumloop_flow_run_by_id** — Kill a gumloop flow run and all its subflow runs via the kill_pipeline endpoint. Returns an empty 204 response on success.
- **create_a_gumloop_flow_run** — Trigger a gumloop flow run via the start_pipeline endpoint. Returns an empty 204 response on success.
- **get_single_gumloop_run_by_id** — Get details of a specific gumloop pipeline run, used to poll for completion and retrieve final flow outputs from output nodes. Returns: run_id, state, outputs. Required: run_id.
- **delete_a_gumloop_session_by_id** — Cancel an in-progress Gumloop session by id. If the session is currently `processing` or `queued`, the running stream is aborted and the session transitions to `failed`; if already in a terminal state, the current state is returned unchanged. Returns: id, agent_id, state. Required: id.
- **create_a_gumloop_session** — Create a new Gumloop session for an agent. When `input` is provided the agent begins processing and the session is returned in `processing` or `queued` state (HTTP 202); when `input` is omitted an idle stub session is created (HTTP 201). Returns: id, agent_id, state. Required: agent_id.
- **get_single_gumloop_session_by_id** — Retrieve a Gumloop session by id, including its messages, current state, agent metadata, and participants. Returns: id, agent_id, state, messages, participants. Required: id.
- **create_a_gumloop_skill** — Upload a skill package to gumloop and create a new skill. The package may be a single `.md` file (stored as SKILL.md), or a `.zip` / `.skill` archive containing SKILL.md at its root; the file must include `name` and `description` frontmatter and an initial version is created automatically. Returns: skill_id, name, description, metadata. Required: file. Maximum upload size is 10 MB.
- **delete_a_gumloop_skill_by_id** — Delete a gumloop skill by id. The skill is soft-deleted and will no longer appear in listings or be usable by agents. Returns an empty 204 response on success. Required: id.
- **get_single_gumloop_skill_by_id** — Generate a signed URL to download a gumloop skill's contents as a `.skill` archive (ZIP). Optionally supply version_id to retrieve a specific version; omit it to download the current draft. Returns: url. Required: id.
- **list_all_gumloop_skills** — List gumloop skills accessible to the caller. Optionally filter by team, name, creator, MCP server, or agent. Returns: skill_id, name, description, metadata.
- **update_a_gumloop_skill_by_id** — Replace a gumloop skill's package with a new upload. Reparses SKILL.md to update the skill's name, description, and metadata, and creates a new version. Returns: skill_id, name, description, metadata. Required: id, file. Maximum upload size is 10 MB.
- **list_all_gumloop_teams** — List Gumloop teams that the authenticated caller belongs to. Returns: id, name.
- **create_a_gumloop_session_message** — Send a message to a gumloop session and receive the agent's final response. Returns the agent's response object for the session. Required: session_id.

## How it works

1. **Link your customer's Gumloop account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Gumloop.** The Proxy API is a 1-to-1 mapping of the Gumloop API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Embed AI workflow automation into your SaaS** — Let your users trigger their own Gumloop flows directly from your product, so they can apply LLM-powered logic to data flowing through your platform without leaving it.
- **Offer agentic AI features without building LLM infrastructure** — Proxy your in-app chat or copilot experiences to Gumloop sessions and offload model selection, prompt chaining, and tool calling to a managed agent runtime.
- **Automate unstructured document processing for your customers** — Push PDFs, images, and other files from your product into Gumloop for AI extraction, then pull back clean structured outputs and generated artifacts into your UI.
- **Expose your product as a tool inside customer AI workflows** — Let users discover and execute Gumloop MCP tools from your app, so the automations they build in Gumloop can interoperate with the workflows running inside your product.
- **Give RevOps and Ops teams a no-code automation layer** — Surface a user's existing Gumloop workbooks, flows, and automations inside your platform so non-technical builders can wire up enrichment, scoring, and routing logic against your data.

## What you can build

- **One-click flow execution from your UI** — Let users browse their Gumloop workbooks and flows, then trigger a run on a record in your product and display the structured output inline.
- **Embedded AI chat powered by Gumloop sessions** — Create stateful agent sessions and stream user messages through Gumloop to deliver a copilot experience grounded in your customer's own tools and context.
- **Bulk document ingestion pipeline** — Upload files individually or in bulk into Gumloop, kick off a processing flow, and retrieve the generated artifacts to attach back to records in your app.
- **Run history and observability dashboard** — Show users the status and results of their automation runs by listing automation runs and fetching individual run details directly inside your product.
- **MCP tool execution from your workspace** — List a user's connected MCP servers and tools, then dispatch tool calls programmatically so your product can invoke Gumloop-managed integrations on demand.
- **AI skill library for end users** — Let users create, update, and invoke reusable Gumloop skills from your product, turning common AI operations into one-click actions for their team.

## FAQs

### How does authentication work for the Gumloop integration?

Your end users connect their own Gumloop accounts through Truto's managed auth flow. Truto handles credential storage, refresh, and token rotation so you never touch the underlying API keys.

### Can we trigger a flow and get the results back?

Yes. Use the flow run tool to start an execution, then poll the run-by-ID endpoint to retrieve status and structured output variables. Because Gumloop workflows are asynchronous, polling is the standard pattern.

### Can we embed a chat experience powered by Gumloop agents?

Yes. Create a session, then send user prompts via the session message tool to relay queries into a Gumloop agent and receive its reasoned responses, including any tool calls executed along the way.

### How do we send files into a Gumloop workflow?

You can push individual documents using the create file tool or send multiple at once with the bulk create tool. Generated outputs from a flow can be retrieved through the artifacts endpoints.

### Can our product call MCP tools that users have configured in Gumloop?

Yes. You can list available MCP servers and their tools for a connected user, then dispatch concurrent tool calls through the MCP tool execution endpoint.

### What if we need a Gumloop endpoint that isn't currently exposed?

Truto adds endpoints on request. If your use case needs an operation not in the current tool list, reach out and it can typically be added without changes to your integration code.

## Related reading

- [Connect Gumloop to ChatGPT: Automate flows and manage agent sessions](https://truto.one/blog/connect-gumloop-to-chatgpt-automate-flows-and-manage-agent-sessions/) — Learn how to connect Gumloop to ChatGPT using a managed MCP server. Automate flow runs, manage agent sessions, and execute dynamic AI workflows via API.
- [Connect Gumloop to Claude: Build skills, sync files, and track audits](https://truto.one/blog/connect-gumloop-to-claude-build-skills-sync-files-and-track-audits/) — Learn how to connect Gumloop to Claude using a Truto MCP server. This guide covers dynamic workflow schemas, tool calling, and executing async pipelines.
