- Erste Schritte
- UiPath Agents in Studio Web
- Über UiPath Agents
- Lizenzierung
- Coded agents in Studio Web
- Ausführung von Agents
- Erste Schritte mit Conversational Agents
- Lizenzierung für Conversational Agents
- Entwerfen von Conversational Agents
- Auswerten von Conversational Agents
- Instanzverwaltung
- Autopilot for Everyone
- Microsoft Teams
- Slack
- Einrichtung des anonymen Zugriffs
- Beobachtbarkeit für Conversational Agents
- Einschränkungen und FAQ
- Agents und Workflows
- Bewährte Verfahren zum Erstellen von Agents
- Auswahl des besten Modells für Ihren Agenten
- Best Practices für das Veröffentlichen und Bereitstellen von Agents
- Bewährte Verfahren für Kontext-Engineering
- Best Practices für DeepRAG und Batch-Transformation: JIT im Vergleich zu indexbasierten Strategien
- Aufforderungen
- Arbeiten mit Dateien
- Kontexte
- Eskalationen und Agent-Speicher
- Bewertungen
- Spuren von Agents
- Agent-Punktzahl
- Verwaltung von UiPath Agents
- Codierte UiPath Agents

Benutzerhandbuch zu Agents
Einrichtung des anonymen Zugriffs
Überblick
Mit anonymem Zugriff können Sie Konversations-Agents für Benutzer einbetten, die keine UiPath-Konten haben. Dies ist nützlich für kundenorientierte Anwendungen, öffentliche Portale oder alle Szenarien, in denen Benutzer mit Ihrem Agent interagieren sollen, ohne dass eine UiPath-Authentifizierung erforderlich ist.
Anonymer Zugriff erfordert:
- Eine vertrauliche externe Anwendung, die im UiPath-Administrator konfiguriert wurde
- Ein Tokenendpunkt, der von Ihrer Organisation gehostet wird, um die Authentifizierung zu durchführen
- Eine eingebettete Agent-URL, die mit den Authentifizierungsparametern konfiguriert ist
Vertrauliche externe Apps im App-Scope ermöglichen anonymen Zugriff ohne Benutzerauthentifizierung. Konfigurieren Sie Berechtigungen sorgfältig, um einen unbeabsichtigten Datenzugriff zu verhindern. Es wird dringend empfohlen, anonyme Agents hinter Ihrem eigenen Portal oder Ihrer Anmeldung zu platzieren, um Missbrauch zu vermeiden.
Beabsichtigte Benutzer: Benutzer, die ohne Automation Cloud-Konto auf Konversations-Agents zugreifen müssen.
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:
- Ein veröffentlichter Konversations-Agent in Orchestrator.
- Administratorzugriff der Organisation auf das UiPath-Administratorportal.
- Infrastruktur zum Hosten einer serverlosen Funktion oder eines API-Endpunkts (z. B. AWS Lambda, Azure-Funktionen, Google Cloud-Funktionen).
Schritt 1: Erstellen der externen Anwendung
- Gehen Sie auf der UiPath-Startseite zu Administrator.
- Wählen Sie Externe Apps aus.
- Wählen Sie Anwendung hinzufügen aus.
- Füllen Sie die Anwendungsdetails aus:
- Anwendungsname: Geben Sie der Anwendung einen beschreibenden Namen.
- Anwendungstyp: Wählen Sie Vertrauliche Anwendung aus.
- Fügen Sie die folgenden Scopes als Anwendungs-Scopes hinzu:
| API | Umfang |
|---|---|
| Orchestrator-API-Zugriff | OR.Jobs |
| Orchestrator-API-Zugriff | OR.Execution |
| Orchestrator-API-Zugriff | OR.Users |
| Orchestrator-API-Zugriff | OR.Folders |
| Ablaufverfolgungen API-Zugriff | Traces.Api |
| Konversations-Agents | ConversationalAgents |
- Klicken Sie auf Hinzufügen (für diesen Client ist keine Umleitungs-URL erforderlich).
- Ein Popup zeigt die App-ID und den geheimen App-Schlüssel an .
Kopieren Sie den geheimen App-Schlüssel und speichern Sie ihn sicher. Sie können es nach dem Schließen dieses Fensters nicht mehr anzeigen und benötigen es beim Erstellen des Token-Endpunkts.
Das Hinzufügen von Scopes als Benutzer-Scopes anstelle von Anwendungs-Scopes bewirkt, dass die Chat-App die Benutzeranmeldung anfordert, wodurch der Zweck des anonymen Zugriffs zugefügt wird.
Schritt 2: Berechtigungen für externe Anwendungen konfigurieren
Nach Erstellung der externen Anwendung konfigurieren Sie deren Berechtigungen, um zu steuern, auf welche Ressourcen der anonyme Agent zugreifen kann.
Weisen Sie Zugriff auf Mandantenebene zu
- Gehen Sie zu Orchestrator.
- Wählen Sie Mandant oben links aus.
- Wählen Sie in der Symbolleiste Zugriff verwalten aus.
- Wählen Sie Externe Apps aus.
- Wählen Sie Externe App zuweisen aus.
- Suchen Sie die externe App, die Sie erstellt haben, und wählen Sie sie aus.
- Wählen Sie unter Zusätzliche Rollen die erforderlichen Rollen aus:
- Mindestens erforderlich: Automation User.
- Fügen Sie zusätzliche Rollen nur so hinzu, wie sie für Ihren Anwendungsfall erforderlich sind.
- Wählen Sie Zuweisen aus.
Weisen Sie Zugriff auf Ordnerebene zu
- Gehen Sie im Orchestrator zu Ordnern .
- Für jeden Ordner benötigt der Agent Zugriff auf:
- Wählen Sie den Ordner aus.
- Wählen Sie Konto/Gruppe/externe App zuweisen aus.
- Wählen Sie Ihre externe App aus der Dropdownliste aus.
- Weisen Sie die erforderlichen Rollen zu.
- Wählen Sie Zuweisen aus.
Die externe App wird auf alle Ressourcen beschränkt, für die sie keine expliziten Berechtigungen hat. Stellen Sie sicher, dass die App Zugriff auf alle Kontexte, Tools und Ressourcen hat, die der Konversations-Agent benötigt.
Schritt 3: Erstellen eines Token-Endpunkts
Ein Token-Endpunkt ist erforderlich, da der eingebettete Konversations-Agent die geheimen Clientschlüssel nicht sicher speichern kann. Ihr Tokenendpunkt authentifiziert sich bei UiPath mithilfe der Client-Anmeldeinformationen und gibt ein Zugriffstoken an den eingebetteten Agenten zurück.
Empfohlene Architektur
Wir empfehlen eine serverlose Architektur für den Tokenendpunkt:
- Niedrige Kosten: Beispielsweise beträgt der AWS Lambda-Preis für 3.000.000 Antworten/Monat etwa 0,40 USD.
- Minimale Wartung: Keine Server zu verwalten.
- Einfache Skalierung: Bewältigt Datenverkehrsspitzen automatisch.
Sicherheitsüberlegungen
Der geheime Clientschlüssel ist sehr vertraulich. Wenn es unbeabsichtigt offengelegt wird, löschen Sie den geheimen Schlüssel sofort und generieren Sie einen neuen in den Einstellungen für die externe Anwendung .
Stellen Sie sicher, dass die Implementierung Ihres Tokenendpunkts:
- Speichert den geheimen Clientschlüssel sicher (Umgebungsvariablen, Geheimnismanager)
- Validiert die Herkunft der Anforderung, um unbefugten Zugriff zu verhindern
- Verwendet HTTPS für die gesamte Kommunikation
Beispielimplementierung
Der folgende JavaScript-Code kann für Ihre serverlose Plattform angepasst werden. Der Antworttext muss {access_token: <token>} zurückgeben:
// Whitelist: Configure allowed origins for your deployment
const ALLOWED_ORIGINS = [
'https://cloud.uipath.com/*',
// Add your application domains here
];
function matchesOriginPattern(origin, pattern) {
try {
const originUrl = new URL(origin);
const originBase = `${originUrl.protocol}//${originUrl.host}`;
if (pattern.includes('*')) {
const regexPattern = pattern
.replace(/[.+?^${}()|[\]\\]/g, '\\$&')
.replace(/\*/g, '.*');
const regex = new RegExp(`^${regexPattern}$`);
return regex.test(originBase);
} else {
return originBase.startsWith(pattern);
}
} catch (e) {
return false;
}
}
function checkOrigin(req) {
const origin = req.headers.origin || req.headers.referer;
if (!origin) {
const host = req.headers.host;
if (host && (host.includes('localhost') || host.includes('127.0.0.1'))) {
return true;
}
return false;
}
return ALLOWED_ORIGINS.some(pattern => matchesOriginPattern(origin, pattern));
}
async function getClientAccessToken() {
const clientId = process.env.CLIENT_ID;
const clientSecret = process.env.CLIENT_SECRET;
const scope = 'OR.Default ConversationalAgents Traces.Api';
const params = new URLSearchParams({
grant_type: 'client_credentials',
client_id: clientId,
client_secret: clientSecret,
scope: scope
});
const response = await fetch('https://cloud.uipath.com/identity_/connect/token', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: params.toString()
});
if (!response.ok) {
const errorText = await response.text();
throw new Error(`Token request failed: ${response.status} ${errorText}`);
}
const data = await response.json();
return data.access_token;
}
export async function token(context, req) {
if (!checkOrigin(req)) {
context.res = {
status: 403,
headers: { 'Content-Type': 'application/json' },
body: { error: 'Origin not allowed' }
};
return;
}
try {
const accessToken = await getClientAccessToken();
context.res = {
status: 200,
headers: { 'Content-Type': 'application/json' },
body: { access_token: accessToken }
};
} catch (error) {
console.error('Error fetching access token:', error);
context.res = {
status: 500,
headers: { 'Content-Type': 'application/json' },
body: { error: 'Failed to fetch access token' }
};
}
}
// Whitelist: Configure allowed origins for your deployment
const ALLOWED_ORIGINS = [
'https://cloud.uipath.com/*',
// Add your application domains here
];
function matchesOriginPattern(origin, pattern) {
try {
const originUrl = new URL(origin);
const originBase = `${originUrl.protocol}//${originUrl.host}`;
if (pattern.includes('*')) {
const regexPattern = pattern
.replace(/[.+?^${}()|[\]\\]/g, '\\$&')
.replace(/\*/g, '.*');
const regex = new RegExp(`^${regexPattern}$`);
return regex.test(originBase);
} else {
return originBase.startsWith(pattern);
}
} catch (e) {
return false;
}
}
function checkOrigin(req) {
const origin = req.headers.origin || req.headers.referer;
if (!origin) {
const host = req.headers.host;
if (host && (host.includes('localhost') || host.includes('127.0.0.1'))) {
return true;
}
return false;
}
return ALLOWED_ORIGINS.some(pattern => matchesOriginPattern(origin, pattern));
}
async function getClientAccessToken() {
const clientId = process.env.CLIENT_ID;
const clientSecret = process.env.CLIENT_SECRET;
const scope = 'OR.Default ConversationalAgents Traces.Api';
const params = new URLSearchParams({
grant_type: 'client_credentials',
client_id: clientId,
client_secret: clientSecret,
scope: scope
});
const response = await fetch('https://cloud.uipath.com/identity_/connect/token', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
body: params.toString()
});
if (!response.ok) {
const errorText = await response.text();
throw new Error(`Token request failed: ${response.status} ${errorText}`);
}
const data = await response.json();
return data.access_token;
}
export async function token(context, req) {
if (!checkOrigin(req)) {
context.res = {
status: 403,
headers: { 'Content-Type': 'application/json' },
body: { error: 'Origin not allowed' }
};
return;
}
try {
const accessToken = await getClientAccessToken();
context.res = {
status: 200,
headers: { 'Content-Type': 'application/json' },
body: { access_token: accessToken }
};
} catch (error) {
console.error('Error fetching access token:', error);
context.res = {
status: 500,
headers: { 'Content-Type': 'application/json' },
body: { error: 'Failed to fetch access token' }
};
}
}
Umgebungsvariablen
Konfigurieren Sie die folgenden Umgebungsvariablen in Ihrer serverlosen Plattform:
| Variable | Beschreibung |
|---|---|
CLIENT_ID | Die App-ID aus Schritt 1 |
CLIENT_SECRET | Der geheime App-Schlüssel aus Schritt 1 |
Die genaue Methode zum Festlegen von Umgebungsvariablen hängt von Ihrer Hosting-Plattform ab.
Konfigurieren zulässiger Quellen
Das ALLOWED_ORIGINS -Array bietet Sicherheit, indem Token-Anforderungen von nicht autorisierten Quellen abgelehnt werden. Konfigurieren Sie diese Liste so, dass sie Folgendes enthält:
https://cloud.uipath.com/*(erforderlich für den eingebetteten Agent)https://staging.uipath.comwenn Sie Anforderungen aus einer Staging-Umgebung zulassen müssen- Die Domäne(n) Ihrer Anwendung, wenn sie lokal oder in anderen Umgebungen getestet wird
Schritt 4: Einbetten des Agents mit anonymem Zugriff
Wenn der Tokenendpunkt konfiguriert ist, betten Sie den Konversations-Agent mithilfe des folgenden URL-Formats ein:
https://<cloud_env>.uipath.com/<organization>/<tenant>/autopilotforeveryone_/conversational-agents/?agentId=<agent_id>&externalAuth=true&authEndpoint=<token_endpoint_url>&externalUserId=<user_id>
https://<cloud_env>.uipath.com/<organization>/<tenant>/autopilotforeveryone_/conversational-agents/?agentId=<agent_id>&externalAuth=true&authEndpoint=<token_endpoint_url>&externalUserId=<user_id>
URL-Parameter für anonymen Zugriff
| Parameter | Erforderlich | Beschreibung |
|---|---|---|
agentId | Ja | Die Release-ID des veröffentlichten Agents |
externalAuth | Ja | Auf true festlegen, um anonymen Zugriff zu aktivieren |
authEndpoint | Ja | URL Ihres Tokenendpunkts |
externalUserId | Ja | Eindeutiger Bezeichner für den Benutzer (s. Hinweis unten) |
externalUserId ist ein Wert, den Sie definieren und verwalten. Sie trennt den Chatverlauf des Benutzers und ruft ihn ab. Verwenden Sie eine aussagekräftige Benutzer-ID, wenn Sie den Chatverlauf beibehalten müssen, oder eine zufällige GUID, wenn eine Persistenz des Chatverlaufs nicht erforderlich ist.
Beispiel für eine eingebettete URL
https://<cloud_env>.uipath.com/myorg/mytenant/autopilotforeveryone_/conversational-agents/?agentId=12345&externalAuth=true&authEndpoint=https://my-api.example.com/token&externalUserId=user-abc-123
https://<cloud_env>.uipath.com/myorg/mytenant/autopilotforeveryone_/conversational-agents/?agentId=12345&externalAuth=true&authEndpoint=https://my-api.example.com/token&externalUserId=user-abc-123
HTML-Beispiel
<iframe
src="https://<cloud_env>.uipath.com/myorg/mytenant/autopilotforeveryone_/conversational-agents/?agentId=12345&externalAuth=true&authEndpoint=https://my-api.example.com/token&externalUserId=user-abc-123"
width="400"
height="600"
frameborder="0"
allow="clipboard-write"
></iframe>
<iframe
src="https://<cloud_env>.uipath.com/myorg/mytenant/autopilotforeveryone_/conversational-agents/?agentId=12345&externalAuth=true&authEndpoint=https://my-api.example.com/token&externalUserId=user-abc-123"
width="400"
height="600"
frameborder="0"
allow="clipboard-write"
></iframe>
Wenn der Parameter externalAuth=true fehlt, verwendet der eingebettete Agent die Standard-Umleitung der Anmeldung anstelle von anonymem Zugriff.
Fehlersuche und ‑behebung
Tokenendpunkt gibt 403 zurück
- Stellen Sie sicher, dass Ihre
ALLOWED_ORIGINS-Liste die richtigen Domänen enthält. - Überprüfen Sie, ob der Ursprungs-Header der Anforderung korrekt gesendet wird.
- Testen Sie den Endpunkt direkt, um das Problem zu isolieren.
Tokenanforderung schlägt mit Authentifizierungsfehler fehl
- Überprüfen Sie, ob die Umgebungsvariablen
CLIENT_IDundCLIENT_SECRETkorrekt festgelegt sind. - Bestätigen Sie, dass die externe Anwendung noch im UiPath-Administrator aktiv ist.
- Stellen Sie sicher, dass die Tokenendpunkt-URL im Code auf die richtige UiPath-Umgebung verweist.
Agent kann nicht auf Ressourcen zugreifen
- Überprüfen Sie die zugewiesenen Rollen der externen Anwendung im Orchestrator.
- Stellen Sie sicher, dass Berechtigungen auf Ordnerebene für alle erforderlichen Ordner konfiguriert sind.
- Stellen Sie sicher, dass die Scopes, die der externen App hinzugefügt wurden, mit dem erforderlichen API-Zugriff übereinstimmen.
Chatverlauf wird nicht beibehalten
- Stellen Sie sicher, dass Sie eine konsistente
externalUserIdfür denselben Benutzer verwenden. - Stellen Sie sicher, dass die Benutzer-ID in der eingebetteten URL korrekt übergeben wird.
Nächste Schritte
- iFrame- und Apps-Einbettung: Vollständige Dokumentation zur Einbettung
- Lizenzierung: Verbrauch für anonyme Benutzer verstehen
- Überblick
- Voraussetzungen
- Schritt 1: Erstellen der externen Anwendung
- Schritt 2: Berechtigungen für externe Anwendungen konfigurieren
- Weisen Sie Zugriff auf Mandantenebene zu
- Weisen Sie Zugriff auf Ordnerebene zu
- Schritt 3: Erstellen eines Token-Endpunkts
- Empfohlene Architektur
- Sicherheitsüberlegungen
- Beispielimplementierung
- Umgebungsvariablen
- Konfigurieren zulässiger Quellen
- Schritt 4: Einbetten des Agents mit anonymem Zugriff
- URL-Parameter für anonymen Zugriff
- Beispiel für eine eingebettete URL
- HTML-Beispiel
- Fehlersuche und ‑behebung
- Tokenendpunkt gibt 403 zurück
- Tokenanforderung schlägt mit Authentifizierungsfehler fehl
- Agent kann nicht auf Ressourcen zugreifen
- Chatverlauf wird nicht beibehalten
- Nächste Schritte