- Vue d'ensemble (Overview)
- Démarrer
- Concepts
- Utilisation de la UiPath CLI
- Guides pratiques
- Revenus CI/CD
- Référence de commande
- Vue d'ensemble (Overview)
- Codes de sortie
- Options globales
- agent codé uip
- uip coder
- uip context-grounding
- UiPath Docsai
- uip function
- uip guardrails
- uip llm-configuration
- uip llm-gateway
- uip model-hub
- Tâches (Jobs)
- Dossiers
- Processus
- Paquets
- Machines
- Utilisateurs
- Rôles
- Licences
- Flux
- Pièces jointes (Attachments)
- Sessions
- Calendriers
- magasins d'informations d’identification
- journaux-audit
- paramètres
- Actifs
- Compartiments
- Compartiment-fichiers
- Bibliothèques
- Files d'attente (Queues)
- éléments de la file d'attente
- Déclencheurs (Triggers)
- Webhooks
- add-test-data-entity
- ajouter une file d'attente de données de test
- add-test-data-variation
- Analyser
- Construire
- créer-projet
- Différence
- recherche-activités
- Obtenir les règles de l'analyse
- récupérer-activité-xaml par défaut
- Récupérer les erreurs
- obtenir des cas de test manuels
- Obtenir les étapes de test manuelles
- get-library-object-repository
- get-object-repository
- Obtenir les versions
- exemple de workflow
- indiquer l'application
- indiquer l'élément
- inspecter-package
- install-data-fabric-entities
- installer-ou-Update-packages
- list-data-fabric-entités
- list-instances
- listes-exemples-workflow
- Créer un package
- Publier
- remote
- restore
- run, debug & execution
- Exécuter le fichier
- modèles-recherche
- Démarrer-Studio
- arrêter l'exécution
- tm
- UIA
- uip tasks
- Traçages UIP
- uip traces feedback
- Migration
- Référence et assistance
Syntax and options for creating, reading, and managing JavaScript pre/post-request hooks on a connector's activities.
uip is connectors builder activity hook manages JavaScript transformation hooks — the connector's escape hatch for request/response logic that a declarative field or parameter can't express. It's a nested sub-group under activity, split onto its own page because of the amount of runtime-context documentation a hook author needs. See Connectors builder for the shared concepts (connector-directory resolution, the typical authoring flow) that apply here too.
Hook files live under app/element/hooks/ in the connector directory. A hook can attach to a specific resource+method (a resource hook) or run for every request (a global hook, --global).
Synthèse
uip is connectors builder activity hook list [--connector-dir <path>]
uip is connectors builder activity hook get <filename> [--connector-dir <path>]
uip is connectors builder activity hook create --hook-type <preRequest|postRequest> [options...] [--connector-dir <path>]
uip is connectors builder activity hook delete <filename> [--connector-dir <path>]
uip is connectors builder activity hook list [--connector-dir <path>]
uip is connectors builder activity hook get <filename> [--connector-dir <path>]
uip is connectors builder activity hook create --hook-type <preRequest|postRequest> [options...] [--connector-dir <path>]
uip is connectors builder activity hook delete <filename> [--connector-dir <path>]
uip is connectors builder activity hook list
List the JavaScript hook files under app/element/hooks/ and whether each is referenced in element.json.
Options
| Long | Valeur (Value) | Description |
|---|---|---|
--connector-dir <path> | Chemin d'accès | Connector directory. |
Exemple
uip is connectors builder activity hook list
uip is connectors builder activity hook list
Format des données (--sortie json)
{
"Code": "HookList",
"Data": {
"ConnectorRoot": "/work/periodic-design-acme",
"Hooks": [
{ "filename": "resource-account-GET-postRequest.js", "registered": true }
]
}
}
{
"Code": "HookList",
"Data": {
"ConnectorRoot": "/work/periodic-design-acme",
"Hooks": [
{ "filename": "resource-account-GET-postRequest.js", "registered": true }
]
}
}
A hook file that exists on disk but has registered: false is orphaned — its code runs for nothing until it's re-registered (re-run hook create against it, or wire it manually into element.json).
uip is connectors builder activity hook get
Read a single hook file's source and registration status.
Arguments
| Nom | Requis | Objectif |
|---|---|---|
<filename> | oui | Hook filename, e.g. resource-account-GET-postRequest.js or global-preRequest.js. |
Options
| Long | Valeur (Value) | Description |
|---|---|---|
--connector-dir <path> | Chemin d'accès | Connector directory. |
Exemple
uip is connectors builder activity hook get resource-account-GET-postRequest.js
uip is connectors builder activity hook get resource-account-GET-postRequest.js
Format des données (--sortie json)
{
"Code": "Hook",
"Data": {
"ConnectorRoot": "/work/periodic-design-acme",
"Filename": "resource-account-GET-postRequest.js",
"Registered": true,
"Code": "done({ response_body });"
}
}
{
"Code": "Hook",
"Data": {
"ConnectorRoot": "/work/periodic-design-acme",
"Filename": "resource-account-GET-postRequest.js",
"Registered": true,
"Code": "done({ response_body });"
}
}
uip is connectors builder activity hook create
Create a JavaScript hook file and — unless --no-auto-register — register its reference in element.json.
Options
| Long | Valeur (Value) | Requis | Description |
|---|---|---|---|
--resource-name <name> | string | conditionally* | Resource the hook attaches to. Not needed with --global. |
--method <method> | string | conditionally* | HTTP method of the resource. Not needed with --global. |
--path <internalPath> | string | non | Resource internal path (the unique element.json resource path), to disambiguate when a list resource and a by-id resource share a method (e.g. /contacts/{id}) — vendor paths aren't unique, the internal path is. |
--hook-type <type> | preRequest|postRequest | oui | Hook phase. |
--custom-code <js> | string | no** | The hook body, inline. Mutually exclusive with --custom-code-file. |
--custom-code-file <path> | Chemin d'accès | no** | Path to a .js file whose contents become the hook body. Preferred over --custom-code. |
--description <text> | string | non | Comment placed at the top of the file. |
--context-params <list> | string | non | Override the contextParams string on the hook reference. |
--no-auto-register | Drapeau | non | Write the file but do not register it in element.json. |
--global | Drapeau | non | Register a connector-wide hook in the top-level hooks[] array, instead of attaching to one resource+method. |
--connector-dir <path> | Chemin d'accès | non | Connector directory. |
* Commander can't express "required unless --global" declaratively — both options are plain (not requiredOption), and the underlying service enforces the resource-hook case at runtime, failing if --resource-name/--method are missing on a non-global hook.
** Passing both --custom-code and --custom-code-file is an error. You write the hook body yourself (or have an agent write it) — the CLI only places and registers the file; it does not generate hook logic.
Hook body context
A hook returns through done({...}), never a bare return, and must call done() on every code path. The CLI auto-binds exactly the variables your body references; override the set with --context-params (list multipart_hook_context_items explicitly if you use it).
preRequest — read-only:
request_method, request_headers, request_path, request_path_variables, request_parameters, request_body, request_body_map (curated request body as a map — read fields directly), request_body_raw, request_vendor_body_map, request_vendor_url, request_expression (CEQL where, as [{attribute,value,operator}]), request_previous_response, request_previous_response_headers, object_name, vendor_object_name, configuration (read-only in this phase).
preRequest — read/write (edit, then return only the keys you changed; a bare done() passes everything through unmodified):
request_vendor_method, request_vendor_headers, request_vendor_path, request_vendor_parameters, request_vendor_body (a string on read; string, list, or map on write), request_root_key, multipart_hook_context_items.
preRequest — done()-only keys: continue (false skips the vendor call but still runs postRequest), response_status_code / response_body / response_body_raw / response_error_message (short-circuit a response without calling the vendor at all).
postRequest — read-only:
response_iserror (true unless the HTTP status is 200–207), response_body_map, response_body_raw_map, every request_* variable as actually sent to the vendor, request_previous_response, request_previous_response_headers.
postRequest — read/write (edit and return the changed keys):
response_body (map), response_body_raw (string), response_headers, response_status_code, response_root_key, configuration (writable in this phase — see below), multipart_hook_context_items.
postRequest — done()-only keys: response_error_message (converts the call to an error; status comes from response_status_code, else 400), connection_identity (set the connection's display name), metadata_merge / merge_objects (object-discovery resources only).
Key rules:
configurationis read-only inpreRequest, read/write inpostRequest. To persist a derived per-connection value (e.g. a base URL computed from a token), write it in apostRequesthook:done({ configuration: { 'base.url': url } }). WritingconfigurationinpreRequesthas no effect.- A
request_vendor_paththat starts withhttpbecomes the full request URL, bypassing the connector's configured base URL. - Success is strictly HTTP 200–207.
response_iserroris derived and read-only — returning a different value for it does nothing.
Engine: the hook runtime (Denali) supports modern JavaScript (?., ??, async/await) and require() for a fixed module set: axios (for secondary HTTP calls from inside a hook), crypto, url, querystring, util, buffer, zlib, lodash, jmespath, moment.
For guidance on when (and when not) to reach for a hook instead of a declarative field/param, the CLI points to the uipath-connector-builder skill's references/hooks.md — see uip skills.
Exemples
# Post-request hook for a resource, from an agent-written JS file
uip is connectors builder activity hook create \
--resource-name Account --method GET --hook-type postRequest \
--custom-code-file ./account-postRequest.js
# Global pre-request hook
uip is connectors builder activity hook create \
--hook-type preRequest --global --custom-code-file ./my-hook.js
# Post-request hook for a resource, from an agent-written JS file
uip is connectors builder activity hook create \
--resource-name Account --method GET --hook-type postRequest \
--custom-code-file ./account-postRequest.js
# Global pre-request hook
uip is connectors builder activity hook create \
--hook-type preRequest --global --custom-code-file ./my-hook.js
Format des données (--sortie json)
{
"Code": "HookCreated",
"Data": {
"ConnectorRoot": "/work/periodic-design-acme",
"Filename": "resource-Account-GET-postRequest.js",
"HookType": "postRequest",
"Method": "GET",
"ResourceName": "Account",
"FilePath": "app/element/hooks/resource-Account-GET-postRequest.js",
"HookReference": {},
"RegisteredInElement": true
}
}
{
"Code": "HookCreated",
"Data": {
"ConnectorRoot": "/work/periodic-design-acme",
"Filename": "resource-Account-GET-postRequest.js",
"HookType": "postRequest",
"Method": "GET",
"ResourceName": "Account",
"FilePath": "app/element/hooks/resource-Account-GET-postRequest.js",
"HookReference": {},
"RegisteredInElement": true
}
}
For a global hook, Filename follows the global-<hookType>.js pattern (e.g. global-preRequest.js) and ResourceName/Method are absent.
uip is connectors builder activity hook delete
Delete a hook file and strip every reference to it from element.json.
Arguments
| Nom | Requis | Objectif |
|---|---|---|
<filename> | oui | Hook filename to delete. |
Options
| Long | Valeur (Value) | Description |
|---|---|---|
--connector-dir <path> | Chemin d'accès | Connector directory. |
There is no dedicated "edit a hook" verb — delete and re-create, or edit the file on disk directly (a hook file is plain JavaScript, not a generated artifact).
Exemple
uip is connectors builder activity hook delete resource-account-GET-postRequest.js
uip is connectors builder activity hook delete resource-account-GET-postRequest.js
Format des données (--sortie json)
{
"Code": "HookRemoved",
"Data": {
"ConnectorRoot": "/work/periodic-design-acme",
"Filename": "resource-account-GET-postRequest.js",
"FileDeleted": true,
"ReferenceRemoved": true
}
}
{
"Code": "HookRemoved",
"Data": {
"ConnectorRoot": "/work/periodic-design-acme",
"Filename": "resource-account-GET-postRequest.js",
"FileDeleted": true,
"ReferenceRemoved": true
}
}
Associé
- Activity — the resource/field/method/param commands a hook attaches to.
- Connectors builder — concepts and the four tenant-lifecycle verbs.
- Auth — configure the connector's authentication scheme.
- Trigger & state — event triggers and low-level element-file edits.
Voir également
- Synthèse
- uip is connectors builder activity hook list
- Options
- Exemple
- Format des données (--sortie json)
- uip is connectors builder activity hook get
- Arguments
- Options
- Exemple
- Format des données (--sortie json)
- uip is connectors builder activity hook create
- Options
- Hook body context
- Exemples
- Format des données (--sortie json)
- uip is connectors builder activity hook delete
- Arguments
- Options
- Exemple
- Format des données (--sortie json)
- Associé
- Voir également