Custom Agentic Chatbot with SAP AI Core and Joule Studio — Part 3 (1)

🚀  Series Overview: Custom Agentic Chatbot with SAP AI Core and Joule Studio

Part 1 — Building the Custom AI Agent BackendPart 2 (1) — Deploying the Agent on AI Core (Environment & Containerization)Part 2 (2) — Deploying the Agent on AI Core (Deployment & Testing)Part 3 (1) — Setting Up Joule Studio Connection (Destination & Environment)Part 3 (2) — Creating a Joule Skill (Design & Release)Part 3 (3) — Testing and Sharing on Work Zone

 

Part 3 (1) — Setting Up Joule Studio Connection (Destination & Environment)

 

Now that your custom AI agent is deployed and running on SAP AI Core, the next step is to connect it to Joule Studio, SAP’s conversational AI workspace. In this part, you’ll set up the foundation that allows Joule to communicate securely with your deployed agent.

By the end of this section, you will:

Create a Destination for your AI Core endpointConfigure a Joule Environment for Skill deploymentBuild and test Actions that call your backend APIs

Once these are complete, Joule will be ready to call your backend APIs, and in Part 3 (2), we’ll turn those APIs into an interactive Skill you can deploy and chat with.

 

1. Create Destination

Destinations in SAP BTP act as centralized connection configurations. They store the endpoint URL, authentication details, and headers needed to connect external systems like SAP AI Core.

⚠️Note: When calling SAP AI Core from Joule Studio, make sure the AI Core destination is configured in the subaccount where Joule Studio is deployed. 

Go to BTP Cockpit Connectivity DestinationsClick New Destination, and fill in the following details as this example:Name : agent-backendType: HTTPURL : https://api.<region>.aicore.cloud.sap/v2/inference/deployments/<deployment-id>Authentication: OAuth2ClientCredentialsClient ID / Secret : From your AI Core service keyToken Service URL: https://<subdomain>.authentication.<region>.hana.ondemand.com/oauth/tokenAdditionalPropertiesHTML5.DynamicDestination : trueAppgyverEnabled : trueURL.headers.AI-Resource-Group : <your-resource-group-name>URL.headers.Content-Type : application/json

 

2. Create Environment for Joule Skills

In SAP Build, Environments act as workspaces where your Joule Skills will be deployed and executed.

 Go to SAP Build → Control Tower → EnvironmentsClick Create Environment, and enter your environment name (e.g., AgenticChatbot)

This environment will host your Joule Skills, including runtime logs, variables, and deployment status.

 

3. Create Actions

In Joule Studio, Actions define how your skill communicates with external systems — in our case, the AI agent backend deployed on SAP AI Core. Each Action corresponds to a REST API endpoint. Let’s use /v2/plan as an example. Refer to this post to see how does this endpoint looks like. 

 

Step 1. Create an Action

In Joule Studio:

Go to Actions → Create ActionChoose Build from Scratch (or upload an OpenAPI spec if you have one)

Step 2. Define Input

Click Input tab and define what data will send to your endpoint. 

Step 3. Define Output

Next, go to the Output tab. Here, we specify the response format expected from /v2/plan. This ensures Joule knows how to parse and display the backend’s response properly. 

Step 4. Test and Connection

Now, open the Test tab and click Run Test with correct destination which we set up in previous step (1. Create Destination).

If the test passes successfully, click Release Publish Action. Your /v2/plan endpoint is now available for use in Joule Skill as an Action.

Step 5. Repeat for Other Endpoints 

Once you’ve successfully connected /v2/plan, you can repeat the process for other endpoints. Each endpoint can be defined as a separate Action, giving you modular control over the entire workflow inside Joule Studio.

 

At this point, you’ve completed all the backend connectivity steps, from creating destinations to validating the API in action. The groundwork is done.

👉  Next, we’ll move to the fun part: turning this API into an interactive Joule Skill that we can use from chat interface. Let’s continue in Part 3 (2) Creating a Joule Skill (Design & Release).

 

 

​ 🚀  Series Overview: Custom Agentic Chatbot with SAP AI Core and Joule StudioPart 1 — Building the Custom AI Agent BackendPart 2 (1) — Deploying the Agent on AI Core (Environment & Containerization)Part 2 (2) — Deploying the Agent on AI Core (Deployment & Testing)Part 3 (1) — Setting Up Joule Studio Connection (Destination & Environment)Part 3 (2) — Creating a Joule Skill (Design & Release)Part 3 (3) — Testing and Sharing on Work Zone Part 3 (1) — Setting Up Joule Studio Connection (Destination & Environment) Now that your custom AI agent is deployed and running on SAP AI Core, the next step is to connect it to Joule Studio, SAP’s conversational AI workspace. In this part, you’ll set up the foundation that allows Joule to communicate securely with your deployed agent.By the end of this section, you will:Create a Destination for your AI Core endpointConfigure a Joule Environment for Skill deploymentBuild and test Actions that call your backend APIsOnce these are complete, Joule will be ready to call your backend APIs, and in Part 3 (2), we’ll turn those APIs into an interactive Skill you can deploy and chat with. 1. Create DestinationDestinations in SAP BTP act as centralized connection configurations. They store the endpoint URL, authentication details, and headers needed to connect external systems like SAP AI Core.⚠️Note: When calling SAP AI Core from Joule Studio, make sure the AI Core destination is configured in the subaccount where Joule Studio is deployed. Go to BTP Cockpit → Connectivity → DestinationsClick New Destination, and fill in the following details as this example:Name : agent-backendType: HTTPURL : https://api.<region>.aicore.cloud.sap/v2/inference/deployments/<deployment-id>Authentication: OAuth2ClientCredentialsClient ID / Secret : From your AI Core service keyToken Service URL: https://<subdomain>.authentication.<region>.hana.ondemand.com/oauth/tokenAdditionalPropertiesHTML5.DynamicDestination : trueAppgyverEnabled : trueURL.headers.AI-Resource-Group : <your-resource-group-name>URL.headers.Content-Type : application/json 2. Create Environment for Joule SkillsIn SAP Build, Environments act as workspaces where your Joule Skills will be deployed and executed. Go to SAP Build → Control Tower → EnvironmentsClick Create Environment, and enter your environment name (e.g., AgenticChatbot)This environment will host your Joule Skills, including runtime logs, variables, and deployment status. 3. Create ActionsIn Joule Studio, Actions define how your skill communicates with external systems — in our case, the AI agent backend deployed on SAP AI Core. Each Action corresponds to a REST API endpoint. Let’s use /v2/plan as an example. Refer to this post to see how does this endpoint looks like.  Step 1. Create an ActionIn Joule Studio:Go to Actions → Create ActionChoose Build from Scratch (or upload an OpenAPI spec if you have one)Step 2. Define InputClick Input tab and define what data will send to your endpoint. Step 3. Define OutputNext, go to the Output tab. Here, we specify the response format expected from /v2/plan. This ensures Joule knows how to parse and display the backend’s response properly. Step 4. Test and ConnectionNow, open the Test tab and click Run Test with correct destination which we set up in previous step (1. Create Destination).If the test passes successfully, click Release → Publish Action. Your /v2/plan endpoint is now available for use in Joule Skill as an Action.Step 5. Repeat for Other Endpoints Once you’ve successfully connected /v2/plan, you can repeat the process for other endpoints. Each endpoint can be defined as a separate Action, giving you modular control over the entire workflow inside Joule Studio. At this point, you’ve completed all the backend connectivity steps, from creating destinations to validating the API in action. The groundwork is done.👉  Next, we’ll move to the fun part: turning this API into an interactive Joule Skill that we can use from chat interface. Let’s continue in Part 3 (2) Creating a Joule Skill (Design & Release).    Read More Technology Blog Posts by SAP articles 

#SAP

#SAPTechnologyblog

You May Also Like

More From Author