---
title: OutSystems API Integration on Truto
slug: outsystems
category: Application Development
canonical: "https://truto.one/integrations/detail/outsystems/"
---

# OutSystems API Integration on Truto



**Category:** Application Development  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 23 tools for OutSystems that AI agents can call directly.

- **list_all_out_systems_application_versions** — List all versions of a given OutSystems application in the infrastructure. Returns each version's Key, ApplicationKey, Version, ChangeLog, CreatedOn, InUse, and its MobileVersions and ModuleVersions details. Required: application_id.
- **get_single_out_systems_application_version_by_id** — Get the download link for the binary file of a specific application version in OutSystems. Returns a link with url and expires. Required: application_id, id.
- **list_all_out_systems_applications** — List all applications that exist in the OutSystems infrastructure. Returns application records with Key, Name, Kind, Description, URLPath, IconURL, IsSystem, and AppStatusInEnvs per-environment status.
- **out_systems_applications_bulk_update** — Block or unblock an OutSystems application from deployment in the environments provided by updating its configurations. Requires application_id and a configurations array with environmentKey, isBlocked, and isBlockedChangeReason. Returns an empty 204 response on success.
- **create_a_out_systems_deployment** — Create a new deployment in OutSystems LifeTime between a source and target environment. Returns the created deployment details: SourceEnvironmentKey, TargetEnvironmentKey, Notes, and ApplicationOperations. Required: SourceEnvironmentKey, TargetEnvironmentKey, ApplicationOperations.
- **out_systems_deployments_execute** — Run a command ('start', 'continue', or 'abort') on an OutSystems LifeTime deployment. Execution is asynchronous: a successful call returns an empty 202 Accepted response with no body. Required: deployment_id, command.
- **get_single_out_systems_deployment_by_id** — Get the details of an OutSystems LifeTime deployment by id, including any conflicts OutSystems detected. Returns: Deployment, ApplicationsToDeploy, ApplicationsToRedeploy, ApplicationConflicts, ModulesToDelete. Required: id.
- **create_a_out_systems_application_source_code** — Request source code access for an application in OutSystems LifeTime, kicking off asynchronous packaging of the app's source code on an environment. Returns: PackageKey, Status, Messages. Required: environment_id, application_id. Packaging runs asynchronously — poll Status and then fetch the download link.
- **get_single_out_systems_application_source_code_by_id** — Get the download link for the source code package of an application in OutSystems LifeTime. Returns: url, expires, PackageKey, Status, Messages. Required: id (the package key returned when requesting source code access), environment_id, and application_id.
- **get_single_out_systems_environment_application_by_id** — Get the running version of a specific application in an OutSystems environment. Returns: Key, Name, Kind, Team, Description, URLPath, IconHash, IconURL, IsSystem, AppStatusInEnvs. Required: environment_id, id (the application Key).
- **list_all_out_systems_environment_applications** — List the running versions of all applications in an OutSystems environment. Returns: Key, Name, Kind, Team, Description, URLPath, IconHash, IconURL, IsSystem, AppStatusInEnvs. Required: environment_id.
- **create_a_out_systems_module_source_code** — Request source code packaging for a module in an OutSystems environment. Returns: PackageKey, Status, Messages. Required: environment_id, module_id. Packaging is asynchronous — use PackageKey to poll the status until Done before fetching the download link.
- **get_single_out_systems_module_source_code_by_id** — Get the download link for a module's packaged source code in OutSystems. Returns: url, expires, PackageKey, Status, Messages. Required: id (the package key from create), environment_id, module_id. The package status must be Done before the link is available.
- **list_all_out_systems_roles** — List all roles defined in OutSystems LifeTime. Returns: Key, name, description, manageInfrastructure, manageTeams, environmentPermissions, EnvironmentKey, ImportedUsers.
- **create_a_out_systems_environment** — Register an environment in LifeTime for OutSystems. Returns: EnvironmentKey, ImportedUsers. Required: EnvironmentName, EnvironmentAddress, ServiceCenterUsername, ServiceCenterPassword, LifeTimeAddress, EnvironmentPosition.
- **delete_a_out_systems_environment_by_id** — Unregister an environment from LifeTime in OutSystems by id. Returns: Key, Name, OSVersion, Order, HostName, UseHTTPS, EnvironmentType, NumberOfFrontEnds, ApplicationServerType, ApplicationServer, DatabaseProvider, IsCloudEnvironment. Required: id (the environment Key from the list response).
- **list_all_out_systems_environments** — List all environments registered in the OutSystems infrastructure. Returns: Key, Name, OSVersion, Order, HostName, UseHTTPS, EnvironmentType, NumberOfFrontEnds, ApplicationServerType, ApplicationServer, DatabaseProvider, IsCloudEnvironment, EnvironmentKey, ImportedUsers.
- **get_single_out_systems_application_source_code_status_by_id** — Get the status of an application source code access package in OutSystems LifeTime. Returns: PackageKey, Status, Messages. Required: environment_id, application_id, and id (the package key). Poll until Status is Done before requesting the download link.
- **create_a_out_systems_deployment_db_mapping** — Map the extensions' logical databases to database connections in an OutSystems deployment. Returns the confirmation message 'Mapping succeeded and deployment triggered'. Required: deployment_id, ExtensionKey, and DBMapping entries (DatabaseName, LogicalDatabaseName), one object per connection.
- **list_all_out_systems_deployment_db_mappings** — List the extension logical databases that still need to be mapped to database connections in the destination environment for an OutSystems deployment to proceed. Returns: ExtensionKey, ExtensionName, LogicalDatabase. Required: deployment_id.
- **get_single_out_systems_deployment_status_by_id** — Get the execution status of a deployment in OutSystems LifeTime by its deployment key id. Returns: DeploymentStatus, Info, DeploymentLog. Intermediate statuses such as running require re-polling until a terminal status such as finished_successful.
- **create_a_out_systems_environment_deployment** — Create a new deployment in an OutSystems environment by uploading an app or solution binary file. Returns the deployment key of the created deployment. Required: environment_id and the binary file content (an OAP or OSP file).
- **get_single_out_systems_module_source_code_status_by_id** — Check the status of a module source code access package in an OutSystems Lifetime environment. Returns: PackageKey, Status, Messages. Required: id (package key), environment_id, module_id. Poll until Status is Done before requesting the download link.

## How it works

1. **Link your customer's OutSystems 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 OutSystems.** The Proxy API is a 1-to-1 mapping of the OutSystems 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 OutSystems deployments into your release orchestration platform** — Let your enterprise customers trigger and monitor OutSystems LifeTime deployments directly from your UI alongside their other CI/CD pipelines. Truto handles auth, polling, and the async deployment lifecycle so your team can focus on orchestration logic.
- **Offer native OutSystems scanning in your DevSecOps product** — Automatically extract OutSystems application source code, run SAST or dependency scans, and block vulnerable apps from reaching production. Ship this as a first-class integration without reverse-engineering the LifeTime API.
- **Auto-discover OutSystems assets in your CMDB or EA platform** — Sync every OutSystems environment, application, and version into your IT asset or enterprise architecture tool nightly. Give architects visibility into low-code apps that would otherwise live as shadow IT.
- **Add governance guardrails for low-code apps in your compliance tool** — Programmatically block or unblock OutSystems applications from being deployed based on policy checks run inside your platform. Enforce compliance gates on low-code releases the same way you do for traditional code.
- **Provide backup and disaster recovery for OutSystems customers** — Periodically package and retrieve OutSystems application source code for storage in external artifact repositories. Offer enterprise customers an independent recovery path for their low-code portfolio.

## What you can build

- **End-to-end deployment trigger with live status** — Create a deployment, configure DB mappings, execute it, and stream status updates back into your UI using OutSystems' async deployment APIs.
- **Source code extraction pipeline** — Request application or module source code packaging, poll the status endpoint, and retrieve the signed download URL to feed into scanners, backup stores, or audit workflows.
- **Application inventory sync** — List every OutSystems application and version across environments to populate a searchable catalog, CMDB, or architecture map in your product.
- **Environment topology dashboard** — Pull environment metadata — OS version, host, database provider, front-end count — to visualize your customers' OutSystems infrastructure footprint.
- **Policy-based deployment blocking** — Use bulk application updates to flag apps as blocked when they fail your compliance, security, or quality checks, preventing promotion to production.
- **Deployment history and audit log viewer** — Fetch individual deployment records and status history to give your users a searchable timeline of who deployed what, when, and whether it succeeded.

## FAQs

### Which OutSystems API does this integration use?

The integration targets the OutSystems LifeTime API, which exposes application lifecycle management operations across environments — applications, versions, deployments, environments, and source code packaging.

### How does authentication work for end users?

Your users connect their OutSystems LifeTime instance through Truto's managed auth flow. Truto stores and refreshes credentials securely so you never handle them directly.

### Can I trigger and monitor deployments end-to-end?

Yes. Truto exposes tools to create a deployment, add database mappings, execute it, and poll deployment status by ID — the full async workflow LifeTime expects.

### Can I download the underlying source code of an OutSystems application?

Yes. You can request source code packaging for an application or module, poll the status endpoint until it's ready, and then retrieve the download URL — useful for SAST, backups, or audits.

### Can I block an application from being deployed?

Yes. The bulk update tool for applications lets you programmatically mark apps as blocked, which prevents them from being promoted through LifeTime environments.

### How fresh is the data — is it real-time or synced?

Truto queries the LifeTime API on demand, so reads like listing applications, environments, or deployment status return live data at the time of the call. You can also schedule periodic syncs for inventory use cases.

### What if I need an OutSystems endpoint that isn't in the current tool list?

Truto can extend the integration on request. If LifeTime exposes the capability, we can add it as a tool so you don't have to maintain a custom client.

## Related reading

- [Connect OutSystems to ChatGPT: Audit App Versions and Deployments](https://truto.one/blog/connect-outsystems-to-chatgpt-audit-app-versions-and-deployments/) — Learn how to build a managed MCP server to connect OutSystems to ChatGPT. Automate deployments, track application versions, and export source code with AI agents.
- [Connect OutSystems to Claude: Manage Environments and Source Code](https://truto.one/blog/connect-outsystems-to-claude-manage-environments-and-source-code/) — Learn how to connect OutSystems to Claude using a managed MCP server. Automate deployments, sync environments, and retrieve source code via AI.
- [Connect OutSystems to AI Agents: Orchestrate App Builds & Releases](https://truto.one/blog/connect-outsystems-to-ai-agents-orchestrate-app-builds-releases/) — Learn how to connect OutSystems to AI agents using Truto's /tools API to automate application builds, deployments, and environment management.
