All Products
Search
Document Center

AgentLoop:AgentLoop Console Embedded Sharing Integration Guide

Last Updated:Aug 18, 2026

Overview

AgentLoop console supports integration into third-party systems via embedding. You can open a specified AgentSpace page through a login-free link and use URL parameters to control the navigation, the page header, the AgentSpace switching entry, and the initial state of some business pages.

The recommended domain for embedded access is:

https://agentloop4service.console.alibabacloud.com

Do not mix the regular console domain with the embedded domain. Embedded access should always use the 4service domain mentioned in this document to avoid inaccessible pages due to inconsistent login states.

Page URL format

The AgentSpace page URL format is as follows:

https://agentloop4service.console.alibabacloud.com/agentloop/region/{regionId}/agentspace/{agentSpaceName}/app/{appPath}

Parameter descriptions:

Parameter

Description

{regionId}

The region where the AgentSpace is located, for example cn-hangzhou

{agentSpaceName}

AgentSpace name

{appPath}

The page path to open

Example:

https://agentloop4service.console.alibabacloud.com/agentloop/region/{regionId}/agentspace/{agentSpaceName}/app/agent-insight

Common page paths:

Page

appPath

Description

Quick start

quickstart

Opens the Quick start page

Agent Insights

agent-insight

Opens the Agent observability analysis page

Agent comparison

agent-comparison

Opens the Agent comparison page

AI Agent Observability

llm_agent/app-list

Opens the AI Agent Observability main entry

Dashboard

dashboard

Opens the Dashboard page

Integration Center

integratingcenter

Opens the Integration Center page

Agent trajectory

trajectory

Opens the Agent trajectory page

Evaluation tasks

evaluate-task

Opens the evaluation tasks page

Evaluation analysis insights

explorer

Opens the Evaluation analysis insights page

Evaluator

evaluator

Opens the Evaluator page

Experiment plan

experiment-plan

Opens the Experiment plan page

Experiment record

experiment-record

Opens the Experiment record page

The {agentSpaceName} path variable must be URL-encoded when the address is concatenated.

Generate login-free links

You can refer to the Alibaba Cloud Management Console login-free link generation method, using the AgentLoop target page as the Destination to generate a login-free link that can be placed in an iframe.

Step 1: Generate Destination

Destination is the AgentLoop page that users will ultimately open after login-free authentication.

const destination = new URL(
  'https://agentloop4service.console.alibabacloud.com/agentloop/region/{regionId}/agentspace/{agentSpaceName}/app/evaluate-task'
);

destination.searchParams.set('hiddenSwitch', 'true');
destination.searchParams.set('hiddenBackHome', 'true');
destination.searchParams.set(
  'embed',
  JSON.stringify({
    sidebar: 'hidden',
    header: 'hidden',
    eval: {
      dataSource: 'trace',
      serviceName: '{serviceName}',
    },
  })
);

Step 2: Obtain temporary credentials

The third-party system server calls STS AssumeRole to obtain temporary credentials. Configure least privilege based on user, tenant, or business resource scope. A token can only be used once. For details, see AssumeRole.

Common parameters:

Parameter

Description

RoleArn

The ARN of the RAM role to be assumed

RoleSessionName

Session name. Use an auditable business user identifier.

DurationSeconds

Validity period of temporary credentials

Policy

Optional. Used to further restrict the scope of resources accessible in this session.

Do not save or transmit long-term AccessKey in the browser frontend.

Step 3: Obtain SigninToken

Call RAM single sign-on (SSO) to obtain the SigninToken. The link format is as follows. Note: TicketType must be set to mini.

http://signin.aliyun.com/federation?Action=GetSigninToken
                    &AccessKeyId=<Temporary AK returned by STS>
                    &AccessKeySecret=<Temporary Secret returned by STS>
                    &SecurityToken=<Security Token returned by STS>
                    &TicketType=mini
To avoid exposing sensitive information, GetSigninToken should only be called on the server side. Do not concatenate or expose temporary keys in the browser frontend.

Step 4: Generate login-free link

Append the returned SigninToken to the prepared link to generate a password-free access link.

const loginUrl = new URL('https://signin.aliyun.com/federation');

loginUrl.searchParams.set('Action', 'Login');
loginUrl.searchParams.set('LoginUrl', 'https://{your-domain}/login-expired');
loginUrl.searchParams.set('Destination', destination.toString());
loginUrl.searchParams.set('SigninToken', signinToken);

console.log(loginUrl.toString());

Final URL format:

http://signin.aliyun.com/federation?Action=Login
                            &LoginUrl=<The address to redirect to when login expires, typically configured as a URL that performs a 302 redirect in your custom web service. Use encodeURL to encode LoginUrl.>
                            &Destination=<The actual page to access. If there are parameters, use encodeURL to encode them.>
                            &SigninToken=<The obtained login token. Use encodeURL to encode the token.>

iframe example:

<iframe
  src="{loginUrl}"
  width="100%"
  height="100%"
  frameborder="0"
  allowfullscreen
></iframe>

Embedded parameters

AgentLoop supports the following URL parameters to control the display and behavior of embedded pages.

embed

embed is used to pass structured embedding configuration as a JSON string. When appended to a URL, it must be URL-encoded.

Readable form:

?embed={"sidebar":"hidden","header":"hidden","eval":{"dataSource":"trace","serviceName":"{serviceName}"}}

Structure definition:

interface EmbedConfig {
  sidebar?: 'hidden';
  header?: 'hidden';
  eval?: {
    dataSource?: 'trace' | 'atif' | 'log' | 'dataset';
    serviceName?: string;
    explorer?: {
      timePicker?: 'hidden';
      topBar?: 'hidden';
      filterSidebar?: 'hidden';
      timeRange?: {
        from: number;
        to: number;
      };
    };
  };
}

Parameter descriptions:

Parameter

Possible values

Description

embed.sidebar

hidden

Hides the entire AgentSpace left-side area, including the logo, the AgentSpace selector, the menu, and the collapse button. Suitable for scenarios where the third-party system provides its own navigation.

embed.header

hidden

Hides the header of the AgentSpace content area, including the page title, the top tabs, and the operation area on the right. It does not control the outermost top bar of the Alibaba Cloud Management Console.

embed.eval.dataSource

trace / atif / log / dataset

Pre-fills the data source type when the create task form is opened on the Evaluation tasks page

embed.eval.serviceName

Service name

Pre-fills the service name when the create task form is opened on the Evaluation tasks page

embed.eval.explorer.timePicker

hidden

Hides the time picker on the Evaluation analysis insights page

embed.eval.explorer.topBar

hidden

Hides the search, aggregation, and log area at the top of the Evaluation analysis insights page

embed.eval.explorer.filterSidebar

hidden

Hides the filter sidebar on the Evaluation analysis insights page

embed.eval.explorer.timeRange.from

Number

Initial start time, a second-level Unix timestamp

embed.eval.explorer.timeRange.to

Number

Initial end time, a second-level Unix timestamp

timeRange.from must be smaller than timeRange.to, and both values use second-level Unix timestamps. embed.eval only pre-fills the create task form; it does not open the form automatically.

Generation example:

const targetUrl = new URL(
  'https://agentloop4service.console.alibabacloud.com/agentloop/region/{regionId}/agentspace/{agentSpaceName}/app/evaluate-task'
);

targetUrl.searchParams.set(
  'embed',
  JSON.stringify({
    sidebar: 'hidden',
    eval: {
      dataSource: 'trace',
      serviceName: '{serviceName}',
    },
  })
);

console.log(targetUrl.toString());

Generated URL example:

https://agentloop4service.console.alibabacloud.com/agentloop/region/{regionId}/agentspace/{agentSpaceName}/app/evaluate-task?embed=%7B%22sidebar%22%3A%22hidden%22%2C%22eval%22%3A%7B%22dataSource%22%3A%22trace%22%2C%22serviceName%22%3A%22%7BserviceName%7D%22%7D%7D

hiddenSwitch

Hides the AgentSpace switching entry.

hiddenSwitch=true

If the third-party system has already fixed the current AgentSpace, enable this parameter to prevent users from switching to other spaces within the embedded page.

hiddenBackHome

Hides the "Back to Home" entry.

hiddenBackHome=true

If the third-party system wants users to stay on the specified AgentSpace page, enable this parameter to prevent users from returning to the AgentLoop home page.

hiddenSwitch and hiddenBackHome are evaluated by presence only. Even if the value is false, the parameter still takes effect as long as it appears in the URL. To restore the AgentSpace switching entry or the home page entry, remove the corresponding parameter from the URL.

Recommended parameter combinations

Hide left-side navigation

https://agentloop4service.console.alibabacloud.com/agentloop/region/{regionId}/agentspace/{agentSpaceName}/app/agent-insight?embed=%7B%22sidebar%22%3A%22hidden%22%7D

Hide the page header

https://agentloop4service.console.alibabacloud.com/agentloop/region/{regionId}/agentspace/{agentSpaceName}/app/agent-insight?embed=%7B%22header%22%3A%22hidden%22%7D

Hide both the left-side navigation and the page header

https://agentloop4service.console.alibabacloud.com/agentloop/region/{regionId}/agentspace/{agentSpaceName}/app/agent-insight?embed=%7B%22sidebar%22%3A%22hidden%22%2C%22header%22%3A%22hidden%22%7D

Disable space switching and return to home

https://agentloop4service.console.alibabacloud.com/agentloop/region/{regionId}/agentspace/{agentSpaceName}/app/agent-insight?hiddenSwitch=true&hiddenBackHome=true&embed=%7B%22sidebar%22%3A%22hidden%22%2C%22header%22%3A%22hidden%22%7D

Hide navigation and pre-fill evaluation task parameters

https://agentloop4service.console.alibabacloud.com/agentloop/region/{regionId}/agentspace/{agentSpaceName}/app/evaluate-task?hiddenSwitch=true&hiddenBackHome=true&embed=%7B%22sidebar%22%3A%22hidden%22%2C%22eval%22%3A%7B%22dataSource%22%3A%22trace%22%2C%22serviceName%22%3A%22%7BserviceName%7D%22%7D%7D

Simplify the Evaluation analysis insights page

Generating the address with the standard browser API avoids manual handling of JSON, spaces, and quotation marks:

const targetUrl = new URL(
  'https://agentloop4service.console.alibabacloud.com/agentloop/region/{regionId}/agentspace/{agentSpaceName}/app/explorer'
);

targetUrl.searchParams.set(
  'embed',
  JSON.stringify({
    sidebar: 'hidden',
    header: 'hidden',
    eval: {
      explorer: {
        timePicker: 'hidden',
        topBar: 'hidden',
        filterSidebar: 'hidden',
        timeRange: {
          from: 1785427200,
          to: 1785513600,
        },
      },
    },
  })
);

console.log(targetUrl.toString());

Evaluation page parameters

Besides the embed configuration, the evaluation pages read a small set of URL parameters that open a specific form or restore a specific initial state.

Open the create task form automatically

Page path:

/app/evaluate-task

Parameter descriptions:

Parameter

Required

Possible values

Description

action

Yes

create

Opens the create task form automatically

dataSource

No

trace / atif / log / dataset

Pre-fills the data source

datasetName

No

Dataset name

Pre-fills the dataset when the data source is dataset

Example:

const targetUrl = new URL(
  'https://agentloop4service.console.alibabacloud.com/agentloop/region/{regionId}/agentspace/{agentSpaceName}/app/evaluate-task'
);

targetUrl.searchParams.set('action', 'create');
targetUrl.searchParams.set('dataSource', 'dataset');
targetUrl.searchParams.set('datasetName', '{datasetName}');

After the page consumes these one-time parameters, action, dataSource, and datasetName are removed from the address bar so that a refresh does not trigger the form again.

Open the task edit form

/app/evaluate-task?editTaskId={taskId}

editTaskId is also removed from the address bar after it is consumed.

Open task details

Page path:

/app/evaluate-task-detail

Parameter descriptions:

Parameter

Required

Description

taskId

Required when viewing, copying, or editing an existing task

Evaluation task ID

type

No

add, view, copy, or edit. Default value: add.

action

No

The current details flow supports start, which locates the run policy area.

Set the initial state of Evaluation analysis insights

Page path:

/app/explorer

Parameter descriptions:

Parameter

Type

Default value

Description

q

String

Empty

Initial query statement. It must be URL-encoded.

groupBy

String

none

Initial primary aggregation dimension. Supported values: dataItem, evaluator, task, evaluationRun, status, agent, and dataset.

subGroupBy

String

none

Initial secondary aggregation dimension. The values are the same as groupBy, but it cannot be identical to the primary aggregation dimension.

Example:

const targetUrl = new URL(
  'https://agentloop4service.console.alibabacloud.com/agentloop/region/{regionId}/agentspace/{agentSpaceName}/app/explorer'
);

targetUrl.searchParams.set('q', 'status: success');
targetUrl.searchParams.set('groupBy', 'evaluator');

When no aggregation is needed, omit groupBy and subGroupBy or set them to none.

AI Agent Observability page

The current main entry of the AI Agent Observability page is:

https://agentloop4service.console.alibabacloud.com/agentloop/region/{regionId}/agentspace/{agentSpaceName}/app/llm_agent/app-list

The main entry selects the inner page in the following order:

  1. If traceId is passed, Trace details opens.

  2. If traceId is not passed and targetPage=session-explorer, Session Explorer opens.

  3. In all other cases, the AI application list opens.

Open application list

When neither traceId nor targetPage is passed, the page opens the application list.

https://agentloop4service.console.alibabacloud.com/agentloop/region/{regionId}/agentspace/{agentSpaceName}/app/llm_agent/app-list?hiddenSwitch=true&hiddenBackHome=true

Open Trace details

https://agentloop4service.console.alibabacloud.com/agentloop/region/{regionId}/agentspace/{agentSpaceName}/app/llm_agent/app-list?traceId={traceId}&startTime={startTime}&endTime={endTime}&hiddenSwitch=true&hiddenBackHome=true

Parameter descriptions:

Parameter

Required

Description

traceId

Yes

Trace ID. The main entry is case-sensitive, so use this spelling.

startTime

No

Query start time. AgentLoop Trace deep links currently use millisecond-level Unix timestamps. If it is not passed, the default value is one hour before the current time.

endTime

No

Query end time. AgentLoop Trace deep links currently use millisecond-level Unix timestamps. If it is not passed, the default value is the current time.

Open Session Explorer

const targetUrl = new URL(
  'https://agentloop4service.console.alibabacloud.com/agentloop/region/{regionId}/agentspace/{agentSpaceName}/app/llm_agent/app-list'
);

targetUrl.searchParams.set('targetPage', 'session-explorer');
targetUrl.searchParams.set(
  'filters',
  'attributes.gen_ai.session.id: "{sessionId}"'
);
targetUrl.searchParams.set('queryTimeType', '99');
targetUrl.searchParams.set('startTime', '{startTime}');
targetUrl.searchParams.set('endTime', '{endTime}');

Parameter descriptions:

Parameter

Required

Description

targetPage

Yes

Set to session-explorer.

filters

No

Session or Trace filter expression

queryString

No

Query statement that is passed through to the inner query page

queryTimeType

No

Time mode of the downstream page. AgentLoop internal deep links currently pass 99 together with startTime and endTime.

startTime

No

Query start time. AgentLoop Session deep links currently use second-level Unix timestamps.

endTime

No

Query end time. AgentLoop Session deep links currently use second-level Unix timestamps.

Session deep links use second-level timestamps while Trace deep links use millisecond-level timestamps, so convert the time values according to the page you open. Encode all service names, dataset names, query statements, and filter expressions with URLSearchParams.

Trace component route compatibility parameters

When the deployed dynamic module registers /app/llm_agent/trace-detail, that component route additionally supports the following parameters:

Parameter

Required

Description

traceId / traceid

Yes

Trace ID. The component route also accepts the lowercase spelling.

startTime

No

Supports second-level or millisecond-level timestamps.

endTime

No

Supports second-level or millisecond-level timestamps.

spanId

No

Specify Span ID

initialTab

No

Initial tab on the Trace details page

querySource

No

Trace query source identifier

source

No

Page source identifier

spanFiltersQuery

No

Span detail filter conditions

spanFiltersTimeSeriesQuery

No

Span time series filter conditions

The /app/llm_agent/app-list main entry does not forward all of these advanced parameters. For a stable, unified entry, use only traceId, startTime, and endTime, which the main entry supports.

Integration Center page

The Integration Center page path is:

https://agentloop4service.console.alibabacloud.com/agentloop/region/{regionId}/agentspace/{agentSpaceName}/app/integratingcenter

You can combine embedded parameters as needed, for example:

https://agentloop4service.console.alibabacloud.com/agentloop/region/{regionId}/agentspace/{agentSpaceName}/app/integratingcenter?hiddenSwitch=true&hiddenBackHome=true&embed=%7B%22sidebar%22%3A%22hidden%22%2C%22header%22%3A%22hidden%22%7D

Integration best practices

  • Generate login-free links on the server side: AssumeRole, GetSigninToken, and the final Login URL should all be completed on the server side. The browser frontend only receives the final accessible iframe URL.

  • Always use the 4service domain: Destination must use agentloop4service.console.alibabacloud.com.

  • Handle URL encoding correctly: Destination itself may contain query parameters and must be entirely encoded when written into the Login URL. Use URL and URLSearchParams for generation.

  • Hide console navigation as needed: If the external system already provides navigation, use a combination of embed={"sidebar":"hidden","header":"hidden"}, hiddenSwitch=true, and hiddenBackHome=true.

  • Control login-free link expiration: Refresh the login-free link before the SigninToken expires to prevent the page within the iframe from becoming inaccessible due to expired login state.

  • Least privilege authorization: RAM role permissions should be scoped to the necessary AgentLoop, logging, and observability resources according to business requirements.

Parameter parsing and compatibility rules

  • embed must be valid JSON. If parsing fails, the entire embed configuration is ignored.

  • embed is parsed only once during the lifecycle of the current page. Reload the page after the parameter is changed.

  • Unrecognized embed fields have no effect.

  • Internal navigation preserves embed, hiddenSwitch, and hiddenBackHome.

  • URL parameters control only the display and the initial state. They do not provide access control, and hiding a menu or a header does not replace RAM, AgentSpace, or data permission verification.

  • Encode all user input, service names, dataset names, query statements, and filter expressions with URLSearchParams.

  • Query parameters and runtime fields that are not listed in this document are not part of the public integration protocol. Do not concatenate them yourself and do not add them to online documentation.

FAQ

Issue

Troubleshooting

Not logged in shown in iframe

Confirm that agentloop4service.console.alibabacloud.com is being used and that Destination has been fully URL-encoded.

No permission shown in iframe

Confirm that the RAM role permissions cover the target AgentSpace and its associated resources.

User can switch AgentSpace

Add hiddenSwitch=true to the URL.

User can return to AgentLoop home page

Add hiddenBackHome=true to the URL.

Left-side navigation still displays

Confirm that embed is valid JSON, is correctly URL-encoded, and contains {"sidebar":"hidden"}.

Page header still displays

Confirm that embed contains {"header":"hidden"}. Do not use hideHeader=true.

Switching entry is still hidden after hiddenSwitch=false is passed

This parameter is evaluated by presence. Remove it from the URL to restore the entry.

Create task form does not open automatically

Use action=create. embed.eval only pre-fills the form.

Service name not pre-filled when creating evaluation task

Confirm that the app/evaluate-task page is being entered and that the service name corresponding to embed.eval.serviceName exists.

Session is not opened on the AI Agent page

Use the current entry app/llm_agent/app-list and pass targetPage=session-explorer.

Page does not change after embed is modified

The configuration is parsed only once. Reload the page after the URL is changed.