<!-- Documentation header -->
---
summary: OutSystems Developer Cloud (ODC) AI model connections, configure provider endpoints, trial models, and usage limits in the ODC Portal.
tags:
  - AI
  - Authentication
  - Security
guid: af45db6e-ac0f-4ab9-8e4a-4ba8fd559812
locale: en-us
app_type: mobile apps, reactive web apps
platform-version: odc
figma: https://www.figma.com/design/6G4tyYswfWPn5uJPDlBpvp/Building-apps?node-id=7348-589&p=f&t=Yqn50gOLIwN2Vqkb-0
outsystems-tools:
  - odc studio
  - odc portal
coverage-type:
  - remember
  - understand
  - apply
audience:
  - Developer
  - Front-end developer
  - Platform administrator
topic:
  - manage-ai-model-connections
isautopublish: true
---
# Adding AI models

ODC lets you connect your OutSystems apps to external large language models, often called LLMs, from various providers or use pre-configured ODC trial models for experimentation. This enables you to integrate AI capabilities directly into your app.

## Supported providers and ODC trial models

ODC supports connections to AI models from multiple providers, offering flexibility in choosing the right model for your use case:

### Natively supported providers

ODC provides built-in configuration for AI models from the following providers, so you don't need to build a custom connector:

* **AI21** – AI21 Labs' Jurassic models for text generation and comprehension.
* **Amazon Bedrock** – Compatible with the [Bedrock Converse API](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference-supported-models-features.html) for access to multiple foundation models.
* **Anthropic** – Anthropic Claude family of models for safe and helpful AI.
* **Azure OpenAI** – Microsoft OpenAI service for enterprise-grade AI models.
* **Cohere** – Cohere models for natural language understanding and generation.
* **Databricks** – AI models deployed and managed on the Databricks platform.
* **Gemini** – Google's generative AI models for text and multimodal use cases.
* **IBM watsonx.ai** – IBM enterprise AI platform for building and deploying models.
* **Mistral** – Mistral AI models for advanced language and reasoning tasks.
* **OpenAI** – Direct integration with OpenAI's API for GPT and other models.

### Custom connections

Using the [ODC API contract](https://extranetprdintegrations.outsystems.net/Documentation_API/rest/getContentMarkdown/doc?Guid=387270e4-2dc7-4c82-a8fc-3f0a0139eb98), you can add connections to your provisioned models through **Custom connections**. This allows you to integrate with LLMs from various providers or your own private models that are not natively supported by ODC.

### ODC trial models

ODC provides ready-to-use trial models for quick testing and exploration in the development stage. In every tenant and Personal Edition, the following models are available:

* **GPT-5** via OpenAI
* **Claude Haiku 4.5** via Amazon Bedrock
* **Amazon Nova Pro** via Amazon Bedrock

Trial models have limits, which, when reached, prevent the further use of the models. They're not bound by a specific time frame. You can check your consumption on the Trial Model details page on the ODC Portal.

<div class="info" markdown="1">

In a multi-portfolio organization, trial models are available only in the main portfolio.

</div>

The following tables shows the current limits of the available Trial Models.

#### GPT-5

The following table shows the trial limits for GPT-5.

| Context | Maximum number of Requests | Requests rate limit | Maximum number of Tokens | Tokens Rate limit |
| -- | -- | -- | -- | -- |
| Licensed Customers | 100 | N.A. | N.A. | N.A. |

#### Claude Haiku 4.5

The following table shows the trial limits for Claude Haiku 4.5.

| Context | Maximum number of Requests | Requests rate limit | Maximum number of Tokens | Tokens Rate limit |
| -- | -- | -- | -- | -- |
| Licensed Customers | 1000 | N.A. | N.A. | N.A. |
| Personal Edition | 3000 | 30 per minute | 5 Million | 100000 per minute |

#### Amazon Nova Pro

The following table shows the trial limits for Amazon Nova Pro.

| Context | Maximum number of Requests | Requests rate limit | Maximum number of Tokens | Tokens Rate limit |
| -- | -- | -- | -- | -- |
| Licensed Customers | 1000 | N.A. | N.A. | N.A. |
| Personal Edition | 1000 | 3 per minute | 1 Million | 12000 per minute |

<div class="info" markdown="1">

The information in this article reflects the limits for trial models added at the present date and that these limits can be subject to change without notice period. Also, note that AI Model providers can impose limits themselves. For detailed information on limits, refer to the AI model provider's documentation.

</div>

## Prerequisites

Before adding a configured connection to your model provider:

* Set up, deploy, and ensure the external AI service is accessible on the provider's platform. Note that an administrator or DevOps team typically performs this external setup, which is not covered here.
* Obtain the necessary access credentials and details the specific provider requires, such as API keys, endpoint URLs, deployment names, model IDs, and access or secret keys. Refer to the [AI model parameters](#ai-model-parameters) section below for details.
* Ensure you have the required permissions within ODC to manage AI models. Note that managing AI models utilizes the same permissions as managing connections within the ODC Portal.

## Add AI models {#add-ai-models}

Follow these steps to add an AI model connection or an ODC trial model in the ODC Portal:

1. Navigate to the **INTEGRATE** > **AI models** section.

1. Click **Add AI model**. The **Add AI model** dialog opens.

1. Choose the type of model you want to add by selecting the appropriate tab:

    * **Provider tab**: Select this tab to configure your own AI model from a supported provider or a custom connection.

    * **Trial tab**: Select this tab to add a ready-to-use ODC trial model, for example, GPT-5 or Claude Haiku 4.5.

1. **For Provider tab**: Select your desired provider from the available options and click **Confirm** to proceed to the configuration details.

1. **For Trial tab**: Select your desired trial model and click **Confirm**. ODC adds the trial model directly to your list, completing the setup. You can skip the remaining steps for trial models.

1. **For configured provider models only**: On the model configuration page that appears, enter a unique **Name** and an optional **Description** for this AI model connection.

1. **For IBM watsonx.ai only**: On the stage configuration section, enter the **Project ID**. You must complete this step before adding endpoints for this stage. You must re-test and save all endpoints to validate the new Project ID if you change it after adding endpoints.

1. **For configured provider models only**: In the **Endpoints** section, click **+ Add** to open the **Add endpoint** dialog.
  
    ![Screenshot of the 'Add endpoint' button in the ODC Portal under the Configuration section.](images/add-endpoints-pl.png "Add Endpoint Button in ODC Portal")

1. **For all providers**: Enter the required endpoint details for the provider you selected. Set the **Priority** for this endpoint. For details about the fields, refer to the [AI model parameters](#ai-model-parameters) section.

1. **For all providers**: Click **Test endpoint** to validate your configuration. The **Save** button only becomes available after a successful test.

1. (Optional) Add more endpoints if you have them available for different stages, such as quality and production. More endpoints also enable load balancing. Ensure all endpoints under one connection use the same underlying AI model and version.

1. (Optional) In the **Usage limit** section, set a daily token limit to control the model consumption.

1. If you add multiple endpoints, adjust their priority order on the main model configuration page using the edit icon next to each endpoint.

1. Click **Save** to confirm.

After you complete the steps, ODC redirects you to the main AI models page. To use this model in your app, you must go to ODC Studio and add it as a [public element](https://extranetprdintegrations.outsystems.net/Documentation_API/rest/getContentMarkdown/doc?Guid=7e20ed99-3098-4d7c-b7fd-1a5794f8377d). Search for the server action named `Call<ModelName`, where `<ModelName>` is the name you defined in the ODC Portal.

## AI model parameters {#ai-model-parameters}

Use the following parameters when configuring endpoints for the supported AI model providers in the ODC Portal. The specific parameters required depend on the provider you choose.

### AI21 parameters

Use these parameters when configuring AI21 model endpoints.

| Parameter | Description | Notes |
| :---------- | :-------------------------------------- | :----------------------------------- |
| Name | User-defined, identifiable name for the endpoint instance. | Differentiates between multiple endpoints for the same AI21 model connection. |
| Model ID | The identifier for the specific AI21 model used. | For example, jurassic-2-ultra. |
| API key | The authentication key required to access the AI21 API. | Obtain from your AI21 account. Treat this securely. |
| URL | The endpoint URL for the AI21 API. | Typically `https://api.ai21.com/studio/v1`. |
| Priority | Determines the order of endpoints, with one being the highest. Lower-priority endpoints act as fallbacks. | You can adjust priorities if multiple endpoints exist. |

### Amazon Bedrock parameters

When adding an Amazon Bedrock connection, besides the name, you must select an **Authentication method**. This determines which fields you need to fill in below. **IAM Role** is the recommended method and is pre-selected for new connections and the following table shows the required parameters for IAM Role authentication. If you choose **Access Keys**, refer to the [Access keys](#access-keys) section for the required parameters.

With IAM Role authentication, OutSystems doesn't store any AWS credentials. Access is granted through a trust relationship between your AWS account and OutSystems, using short-lived credentials that are issued and refreshed automatically at runtime.

Before you configure this in the ODC Portal, you need to set up the IAM role and trust policy on the AWS side. For guidance:

* [Creating a role for a third party (AWS IAM User Guide)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html). This explains the External ID condition your trust policy must include.
* [Identity-based policy examples for Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/security_iam_id-based-policy-examples.html). This shows the minimum permissions your role needs to invoke Bedrock models.

| Parameter | Description | Notes |
| :--- | :--- | :--- |
| Name | User-defined, identifiable name for the endpoint instance. | Differentiates between multiple endpoints for the same Bedrock model connection. |
| Authentication method | Select your desired authentication method. | Choose between **IAM Role** and **Access Keys**. IAM Role is recommended for security reasons. |
| Role ARN | The Amazon Resource Name (ARN) of the IAM role you've configured in your AWS account to trust OutSystems. | Your role identifier must follow the policy format. Click on **Download policy** to view the required format. |
| Model ID | The unique identifier for the specific Amazon Bedrock foundation model or its Amazon Resource Name (ARN). | For example, anthropic.claude-3-sonnet-20240229-v1:0. Refer to [AWS documentation](https://docs.aws.amazon.com/bedrock/latest/userguide/model-cards.html) for model IDs. |
| URL | The Invoke URL for Amazon Bedrock. | Ensure the AWS region matches your model's region; the URL typically follows the format `https://bedrock-runtime.[aws-region].amazonaws.com`. |
| Priority | Determines the order of endpoints, with one being the highest. Lower-priority endpoints act as fallbacks. | ODC assigns Priority 1 to the first endpoint by default. You can adjust priorities if multiple endpoints exist. |

#### Access keys

The following parameters are required when using **Access Keys** for authentication with Amazon Bedrock. This method is less secure than IAM Role authentication, as it involves storing long-lived credentials.

| Parameter | Description | Notes |
| :---- | :---- | :---- |
| Access key | The authentication access key ID for your AWS IAM user or role with permissions for Bedrock. | Obtain from the AWS console or security credentials. |
| Secret key | The secret access key associated with the Access key for AWS authentication. | Obtain from the AWS console or security credentials. Treat this securely. |

Keep in mind that IAM Role authentication is recommended over Access Keys, since it avoids storing long-lived credentials. Existing Access Key connections continue to work without changes; see [Migrate an Access Key connection to IAM Role](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) if you'd like to switch.

### Anthropic parameters

Use these parameters when configuring Anthropic model endpoints.

| Parameter | Description | Notes |
| :---------- | :-------------------------------------- | :----------------------------------- |
| Name | User-defined, identifiable name for the endpoint instance. | Differentiates between multiple endpoints for the same Anthropic model connection. |
| Model ID | The identifier for the specific Anthropic model used. | For example, claude-3-sonnet-20240229-v1:0. |
| API key | The authentication key required to access the Anthropic API. | Obtain from your Anthropic account. Treat this securely. |
| URL | The endpoint URL for the Anthropic API. | Typically `https://api.anthropic.com`. |
| Priority | Determines the order of endpoints, with one being the highest. Lower-priority endpoints act as fallbacks. | You can adjust priorities if multiple endpoints exist. |

### Azure OpenAI parameters

Use the following parameters when configuring Azure OpenAI model endpoints.

| Parameter | Description | Notes |
| :---- | :---- | :---- |
| Name | User-defined, identifiable name for the endpoint instance. | Differentiates between multiple endpoints for the same Azure OpenAI model connection. |
| Deployment name | The name of your model deployment within the Azure OpenAI service. | Obtain from the Azure portal. |
| API key | The authentication key required to access the Azure OpenAI service. | Obtain from the Azure portal. Treat this securely. |
| URL | The endpoint URL for the Azure OpenAI service. | Obtain from the Azure portal. |
| Priority | Determines the order of endpoints, with one being the highest. Lower-priority endpoints act as fallbacks. | You can adjust priorities if multiple endpoints exist. |

### Cohere parameters

Use these parameters when configuring Cohere model endpoints.

| Parameter | Description | Notes |
| :---------- | :-------------------------------------- | :----------------------------------- |
| Name | User-defined, identifiable name for the endpoint instance. | Differentiates between multiple endpoints for the same Cohere model connection. |
| Model ID | The identifier for the specific Cohere model used. | For example, command-r-plus. |
| API key | The authentication key required to access the Cohere API. | Obtain from your Cohere account. Treat this securely. |
| URL | The endpoint URL for the Cohere API. | Typically `https://api.cohere.ai`. |
| Priority | Determines the order of endpoints, with one being the highest. Lower-priority endpoints act as fallbacks. | You can adjust priorities if multiple endpoints exist. |

### Custom AI model parameters

Use these parameters when configuring custom connection AI models and their endpoints in the ODC Portal.

| Parameter | Description | Notes |
| :---------- | :-------------------------------------- | :----------------------------------- |
| Name | User-defined, identifiable name for the endpoint instance. | Differentiates between multiple endpoints for the same custom AI model connection. |
| Model ID | Identifies the specific custom model you use. | |
| URL | The endpoint URL for the custom AI service or model API. | Enter the base URL provided by the custom model service. |
| Priority | Determines the order of endpoints, with one being the highest. Lower-priority endpoints act as fallbacks. | ODC assigns Priority 1 to the first endpoint by default. You can adjust priorities if multiple endpoints exist. |
| Headers | A set of HTTP headers required by the custom API (authentication, content type, etc.). | For the endpoint dialog to add necessary key-value pairs (for example, `Content-Type`, `Authorization`). These are specific to the API you are connecting to. |

### Databricks parameters

A Databricks connection calls a model serving endpoint in your Databricks workspace. The endpoint serves a model that you deploy and manage in Databricks.

Use the following parameters when configuring Databricks AI model endpoints.

| Parameter | Description | Notes |
| :---- | :---- | :---- |
| Name | User-defined, identifiable name for the endpoint instance. | Differentiates between multiple endpoints for the same Databricks model connection. |
| Serving endpoint name | The name of the model serving endpoint in your Databricks workspace. | Obtain from your Databricks workspace. |
| Personal access token (PAT) | The token that authenticates requests to your Databricks workspace. | Obtain from your Databricks workspace. Treat this securely. |
| URL | The serving endpoints URL of your Databricks workspace. | Use the format `DATABRICKS_INSTANCE_NAME/serving-endpoints`. Replace `DATABRICKS_INSTANCE_NAME` with the instance name of your Databricks workspace. |
| Priority | Determines the order of endpoints, with one being the highest. Lower-priority endpoints act as fallbacks. | You can adjust priorities if multiple endpoints exist. |

### Gemini parameters

Use these parameters when configuring Google Gemini model endpoints.

| Parameter | Description | Notes |
| :---- | :---- | :---- |
| Name | User-defined, identifiable name for the endpoint instance. | Differentiates between multiple endpoints for the same Gemini model connection. |
| Model ID | Identifies the specific Gemini model you use. | For example, gemini-1.5-pro or gemini-1.5-flash. |
| API key | The authentication key required to access the Gemini API. | Obtain from Google AI Studio or Google Cloud Console. Treat this securely. |
| URL | The endpoint URL for the Gemini API. | Typically follows the format `https://generativelanguage.googleapis.com`. |
| Priority | Determines the order of endpoints, with one being the highest. Lower-priority endpoints act as fallbacks. | You can adjust priorities if multiple endpoints exist. |

### IBM watsonx.ai parameters

Use these parameters when configuring IBM watsonx.ai model endpoints.

| Parameter | Description | Notes |
| :---------- | :-------------------------------------- | :----------------------------------- |
| Project ID | The identifier for your IBM watsonx.ai project. | This is a stage-level configuration and you must set before adding endpoints. Changing the Project ID requires re-testing and saving all endpoints in the stage. |
| Name | User-defined, identifiable name for the endpoint instance. | Differentiates between multiple endpoints for the same IBM watsonx.ai model connection. |
| Model ID | Identifies the specific IBM watsonx.ai model you use. | Obtain from your IBM watsonx.ai workspace. |
| API key | The authentication key required to access the IBM watsonx.ai API. | Obtain from your IBM watsonx.ai account. Treat this securely. |
| URL | The endpoint URL for the IBM watsonx.ai API. | Obtain from your IBM watsonx.ai workspace configuration. |
| Priority | Determines the order of endpoints, with one being the highest. Lower-priority endpoints act as fallbacks. | You can adjust priorities if multiple endpoints exist. |

### Mistral parameters

Use these parameters when configuring Mistral AI model endpoints.

| Parameter | Description | Notes |
| :---- | :---- | :---- |
| Name | User-defined, identifiable name for the endpoint instance. | Differentiates between multiple endpoints for the same Mistral connection. |
| Model ID | Identifies the specific Mistral model you use. | For example, mistral-large-latest or mistral-small-latest. |
| API key | The authentication key required to access the Mistral API. | Obtain from your Mistral AI account. Treat this securely. |
| URL | The endpoint URL for the Mistral API. | Typically follows the format `https://api.mistral.ai`. |
| Priority | Determines the order of endpoints, with one being the highest. Lower-priority endpoints act as fallbacks. | You can adjust priorities if multiple endpoints exist. |

### OpenAI parameters

Use these parameters when configuring OpenAI model endpoints (direct OpenAI API, not Azure OpenAI).

| Parameter | Description | Notes |
| :---- | :---- | :---- |
| Name | User-defined, identifiable name for the endpoint instance. | Differentiates between multiple endpoints for the same OpenAI model connection. |
| Model ID | Identifies the specific OpenAI model you use. | For example, gpt-4o, gpt-4-turbo, or gpt-3.5-turbo. |
| API key | The authentication key required to access the OpenAI API. | Obtain from your OpenAI account. Treat this securely. |
| URL | The endpoint URL for the OpenAI API. | Typically `https://api.openai.com/v1`. |
| Priority | Determines the order of endpoints, with one being the highest. Lower-priority endpoints act as fallbacks. | You can adjust priorities if multiple endpoints exist. |

## Next steps

To call the AI models you configured here from your app logic, continue with the following:

* [Integrating AI models and search services](https://extranetprdintegrations.outsystems.net/Documentation_API/rest/getContentMarkdown/doc?Guid=3bc7d939-90b0-4588-bf4c-d40da6e5c83f)


