Skip to content

Application Development · Beta

OutSystems
API integration

Ship Application Development features without building the integration. Full OutSystems API access via Proxy and 20+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

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

Talk to us
OutSystems

Use Cases

Why integrate with OutSystems

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

01

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.

02

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.

03

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.

04

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.

05

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

Ship these features with Truto + OutSystems

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

01

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.

02

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.

03

Application inventory sync

List every OutSystems application and version across environments to populate a searchable catalog, CMDB, or architecture map in your product.

04

Environment topology dashboard

Pull environment metadata — OS version, host, database provider, front-end count — to visualize your customers' OutSystems infrastructure footprint.

05

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.

06

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.

SuperAI

OutSystems 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_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.

Why Truto

Why use Truto’s MCP server for OutSystems

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

01

Auto-generated, always up to date

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

02

Fine-grained access control

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

03

Multi-tenant by design

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

04

Works with every MCP client

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

05

Built-in auth, rate limits, and error handling

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

06

Expiring and auditable servers

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

How It Works

From zero to integrated

Start with OutSystems in a free sandbox, usually ready within one business day. No boilerplate, no maintenance burden.

01

Link your customer’s OutSystems account

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

02

We handle authentication

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

03

Call our API, we call OutSystems

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

04

Unified response format

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

FAQs

Common questions about OutSystems on Truto

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

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.

OutSystems

Get OutSystems integrated into your app

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