Chatbox in a launchpad

This is the same Chatbox component you can add to an app, configured here for a launchpad, with no app required.

Select an agent on your launchpad to get a fully working chatbot UI that can:

  • Create conversations

  • Open applications (App Designer and adaptive applications) on a side panel

  • Perform tasks within those applications

When an agent is added to your launchpad, it is automatically equipped with a tool that exposes all launchpad applications. The agent has complete knowledge of these applications as long as you provide meaningful descriptions in each app.

Set up an agent for a launchpad

Open the Launchpad tool, select your launchpad and select the Agent tab. Select an agent and configure the options below.

Chatbox position

Choose how the chatbot is displayed in the launchpad:

Full-screen

The chatbot occupies the full launchpad view. You can still navigate to your tiles and tile groups via the home button.

Sidepanel

The chatbot opens as a side panel alongside your launchpad content.

Load agent at launchpad start

Available when Chatbox position is set to Full-screen. When enabled, the chatbot is the first thing the user sees when the launchpad loads, giving the launchpad a chat-focused experience.

Start parameters

A stringified JSON object passed to the chatbot component on startup. Use this to provide initial values to the component, such as a greeting message.

{"agentFirstGreetingMessage": "Hello! How can I help you today?"}

See Chatbox component for the full list of properties you can set via Start Parameters.

Open apps with start parameters

To pass data when opening an app, provide a meaningful description in the app settings that explains the expected start parameters: required fields and an example. The agent uses this description to know what to pass.

Example description for a sick leave registration app:

*Sick Leave Registration App*
Purpose: Allows employees to submit sick leave requests.
Tasks: Register Sick Leave (Use startParams), Open App (Omit startParams).
Required Fields for Submission: employeeName (Full name), startDate (First day, yyyy-MM-dd), endDate (Last day, yyyy-MM-dd), reason (Explanation for absence).
Example startParams: {"employeeName": "Terry", "startDate": "2025-10-08", "endDate": "2025-10-10", "reason": "Flu symptoms"}

In the app, use attachBeforeDisplay to receive and apply the parameters each time the agent opens it:

sap.n.Shell.attachBeforeDisplay(async function (startParams) {
    if (startParams) {
        if (startParams.employeeName) employeeNameInput.setValue(startParams.employeeName);
        if (startParams.startDate) startDatePicker.setValue(startParams.startDate);
        if (startParams.endDate) endDatePicker.setValue(startParams.endDate);
        if (startParams.reason) reasonTextArea.setValue(startParams.reason);
    }
});

Perform actions within open apps

To let the agent act inside an already-open app, subscribe to the tool events on the nep.ai.Agent component. Switch on toolName from onToolStart to dispatch the right action (fill a form, navigate, start a process, and so on), and read the tool’s result from output on onToolFinish. Correlate the two events by toolCallId, since onToolFinish does not include toolName.

Tool events require streaming to be enabled on the agent component.