Agent skill

Uipath Connector Builder

by UiPath in UiPath/skills

UiPath Integration Service connector authoring (REST+JSON) on disk via uip is connectors builder.

MITAuto-check: notesBackend & APIs

Install Uipath Connector Builder

skills CLI
$ npx skills add UiPath/skills --skill uipath-connector-builder -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install UiPath/skills uipath-connector-builder --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/UiPath/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/uipath-connector-builder .claude/skills/uipath-connector-builder && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
uipath-connector-builder
GitHub stars
167
Token cost
~6.2k tokens
SKILL.md length
2,368 words
Files
11 (incl. references)
Skills in repo
28
Repo updated
First seen
Licence
MIT

At a glance

UiPath Integration Service connector authoring (REST+JSON) on disk via uip is connectors builder.

  • Works in 12 steps: Inspect before editing. On any existing… → Validate before you finish. Run builder… → auth set owns all authentication. It… → …
  • Element-metadata.json
  • SKILL.md covers When to Use This Skill, Critical Rules, Connection design (host,… and Workflows, plus 3 more sections
  • Reaches acme.com and api.acme.com

What it does

Uipath Connector Builder is an agent skill from UiPath/skills. UiPath Integration Service connector authoring (REST+JSON) on disk via uip is connectors builder. Triggers on element.json, element-metadata.json, standard-resources/.json, a periodic-uipath-/periodic-design- connector repo, or any request to build/edit an IS connector: init the connector shell, configure auth (19 types via auth set, incl. jwtOauth claims, FPS, none), add activities with fields/params/methods/hooks, wire polling/webhook triggers, add auth-system resources, inspect, validate, and surgically…

Its SKILL.md is about 6.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including reference files (for example `references/auth.md`, `references/configuration.md` and `references/debugging.md`).

It sits in Backend & APIs, covering Mobile testing and debugging and Webhooks. The repository describes itself as: This is a repository of skills for interfacing UiPath capabilities to external developers. The licence is MIT.

When your agent uses it

  • Element-metadata.json
  • Standard-resources/.json
  • A periodic-uipath-/periodic-design- connector repo
  • Any request to build/edit an IS connector: init the connector shell

Example prompts

  • “/uipath-connector-builder”

Requirements

  • Pre-approved tools (allowed-tools): Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion

Workflow steps

12 steps, taken from the first numbered list in SKILL.md.

  1. Inspect before editing. On any existing connector, run builder inspect first to map auth, config, activities, hooks, and triggers. Never…
  2. Validate before you finish. Run builder validate at the end of every workflow and after each fix — it runs the full periodic check set and…
  3. auth set owns all authentication. It writes the config entries, authentication.type / typeOauth / authenticationTypes, and the…
  4. activity create writes both sides in one call — the standard-resource file AND one element.json entry per method. Re-running on an…
  5. state patch REPLACES the whole node at a pointer (no merge). To change one field: state query the entry, edit it, then state patch the…
  6. Connector targeting. Builder verbs walk up from the cwd, then scan immediate subdirectories, then fall back to the .uip-connector.json…
  7. Output is the {Result, Code, Data} envelope. Add --output json to parse it. Failures exit non-zero. Never suppress stderr.
  8. import / download / publish — and init when CREATING — need uip login. Authenticate before any tenant pull/push. A NEW connector's key…
  9. Never echo, log, or hard-code a secret. Secret config keys (client secret, API key, password, token) are written by auth set ENCRYPTED…
  10. Prefer a built-in over a hook. Before writing JS, consult the decision table (references/hooks.md §"Decide first: hook or built-in?") — a…
  11. Windows + Git Bash: disable MSYS path conversion FIRST. In Git Bash any argument starting with / is rewritten to a Windows path before the…
  12. Author the field schema for EVERY activity — activity create does NOT infer fields. An activity with no fields renders in Studio Web as a…

What it can do on your machine

Read from SKILL.md and the folder at commit 0bada1b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Read
    • Write
    • Edit
    • Glob
    • Grep
    • AskUserQuestion

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • acme.com
    • api.acme.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Uipath Connector Builder loads about 6.2k tokens when it runs, and up to ~30k if it reads all its reference files. Until then it costs about 201 tokens; SKILL.md has 2,368 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~201
When it runs · the whole SKILL.md, loaded when a task matches
~6.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~30k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from UiPath/skills at commit 0bada1b, republished under its MIT licence (© UiPath). 2,368 words, ~6,167 tokens.

Download SKILL.mdSave it as .claude/skills/uipath-connector-builder/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.
name
uipath-connector-builder
description
UiPath Integration Service connector authoring (REST+JSON) on disk via `uip is connectors builder`. Triggers on `element.json`, `element-metadata.json`, `standard-resources/*.json`, a `periodic-uipath-*`/`periodic-design-*` connector repo, or any request to build/edit an IS connector: init the connector shell, configure auth (19 types via `auth set`, incl. jwtOauth claims, FPS, none), add activities with fields/params/methods/hooks, wire polling/webhook triggers, add auth-system resources, inspect, validate, and surgically read/write files via state. Import + publish live on the parent `uip is connectors` (need `uip login`). NOT for operating a published connector — connections, ping, run an activity→uipath-platform; NOT for `.flow` connector nodes→uipath-maestro-flow.
allowed-tools
Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion

Connector Builder

Author UiPath Integration Service connectors on disk with uip is connectors builder, then import + publish them through the parent uip is connectors. A connector is a periodic-* repo (periodic-uipath-{vendor}-{product} for official; periodic-design-{org}-{slug} for custom — init derives the design-{org}-{slug} element key from --name + --organization) whose core is app/element/element.json plus standard-resources/*.json and JavaScript hooks/. Connectors wrap REST APIs that return JSON only — no SOAP, GraphQL, or XML. Terminology: the authoring noun is activity (it maps to an element.json resource + a standard-resource file).

When to Use This Skill

  • Creating a new connector from a vendor's API docs (init → auth → activities → validate → import → publish).
  • Editing an existing connector: adding activities, fields, parameters, methods, or hooks.
  • Configuring or switching authentication (OAuth2, PKCE, client credentials, API key, basic, JWT, AWS v4, etc.).
  • Writing or fixing JavaScript request/response hooks.
  • Wiring a polling or webhook trigger on an existing activity.
  • Debugging a connector, activity, hook, or trigger problem in element.json / a standard-resource file.
  • Validating before release, or pulling/pushing a design connector to a tenant.

Critical Rules

  1. Inspect before editing. On any existing connector, run builder inspect first to map auth, config, activities, hooks, and triggers. Never edit blind. Never invent config keys, activity paths, or IDs — read state first (inspect, activity list, state query).
  2. Validate before you finish. Run builder validate at the end of every workflow and after each fix — it runs the full periodic check set and exits non-zero on failure. On failure, read the reported field, fix that one entry, re-validate. After 3 failed attempts on the same error, stop and surface the validate output — don't keep guessing. Don't stop at "0 errors": read the WARNINGS too — they flag real gaps that still ship a half-built connector (a fieldless activity, a broken SR link). Treat them as must-fix unless you can articulate why a given one is acceptable.
  3. auth set owns all authentication. It writes the config entries, authentication.type / typeOauth / authenticationTypes, and the token-refresh resource in one call. Define scopes here too (--scope, --scope-options, --required-scopes, --preselected-scopes) — there is no separate scope command. init --auth oauth2|customApiKey is inline sugar for the create-time common case; everything else goes through auth set. Never hand-roll auth via state patch.
  4. activity create writes both sides in one call — the standard-resource file AND one element.json entry per method. Re-running on an existing activity appends/merges. Pass --skip-sr (or use auth system create) only for system resources that need no SR file. Model GETBYID/PATCH/PUT/DELETE only for TRUE by-id endpoints — never for search. The by-id /{id} path param is added automatically: ALWAYS for GETBYID, and for PATCH/PUT/DELETE only when the activity is CRUD (it also has a GET/GETBYID); a write-only/action activity keeps its base path. The by-id path token and the primary key are separate — the token is substituted before the request leaves us (the vendor never sees its name), while the primary key names a field read back from the vendor's response. A trailing {token} in --vendor-path is NOT adopted as the key; pass --primary-key <vendor response key>.
  5. state patch REPLACES the whole node at a pointer (no merge). To change one field: state query the entry, edit it, then state patch the COMPLETE object back. element-metadata.json has no addressable sub-paths — round-trip the whole file. Activity paths in pointers are URL-encoded: /contacts → %2Fcontacts. Use the dedicated authoring verbs for creation, not state patch.
  6. Connector targeting. Builder verbs walk up from the cwd, then scan immediate subdirectories, then fall back to the .uip-connector.json marker init writes in the directory it ran from — so follow-up commands from that same directory hit the last-init connector automatically, even next to other connector dirs. Pass --connector-dir <PATH> to override or when working from elsewhere. import reads --connector-dir the same way (the connector root holding app/element/element.json); on download it instead names the OUTPUT directory to write the pulled connector into. Exception — init does NOT scan subdirectories (it would otherwise resolve a SIBLING connector and silently EDIT/rename it): to CREATE, run init from a fresh/empty directory (a dir that merely contains connector subdirs — e.g. /tmp — creates a new connector, it will not dive into a child to edit it); to EDIT, run from inside the connector or pass --connector-dir.
  7. Output is the {Result, Code, Data} envelope. Add --output json to parse it. Failures exit non-zero. Never suppress stderr.
  8. import / download / publish — and init when CREATING — need uip login. Authenticate before any tenant pull/push. A NEW connector's key design-{org}-{slug} takes its org from your logged-in session, so init create ERRORS when you're not logged in. Let it derive the org; do NOT pass a guessed --organization (a wrong org bakes into the key and only surfaces, mismatched, at import/publish) — --organization <slug> is only for offline/CI builds with a known org.
  9. Never echo, log, or hard-code a secret. Secret config keys (client secret, API key, password, token) are written by auth set ENCRYPTED (encrypt: true) — most as PASSWORD fields, though some (OAuth tokens, a service-account JSON) are encrypted TEXTFIELD/TEXTAREA. End users supply real credentials at connection time; the connector holds only the auth TYPE + endpoint URLs + scopes. Use placeholders in every example command.
  10. Prefer a built-in over a hook. Before writing JS, consult the decision table (references/hooks.md §"Decide first: hook or built-in?") — a hook is only for transforms, orchestration, or derivation no declarative feature expresses. One hook file per activity+method+phase; hooks run in Denali (modern JS + require('axios') for secondary calls) and must end every path with done().
  11. Windows + Git Bash: disable MSYS path conversion FIRST. In Git Bash any argument starting with / is rewritten to a Windows path before the CLI ever sees it — --vendor-path /latest lands in element.json as C:/Program Files/Git/latest, validate PASSES it, the connector publishes, and it only fails at request time against the vendor with no local trace. Export MSYS_NO_PATHCONV=1 and MSYS2_ARG_CONV_EXCL='*' once per shell (or prefix every builder command). Affects every path option — --vendor-path, --resource-path, --method-vendor-path, --reference-path, --validation-vendor-path, --path, --polling-url. Quoting does NOT help (the rewrite happens after the shell strips quotes). If a connector already carries a mangled path, repair it with state patch.
  12. Author the field schema for EVERY activity — activity create does NOT infer fields. An activity with no fields renders in Studio Web as a single raw JSON body in and raw JSON out, with zero typed inputs/outputs — a half-built connector that still validates and publishes, so the omission is easy to miss (it's a recurring failure: "got it valid and published" while skipping the schema). After activity create, ALWAYS define the request/response fields from the vendor's documented schema — either pass --fields-file <json> on activity create for the whole schema at once, or add them one at a time with activity field create. validate emits a WARNING for any fieldless activity — treat it as must-fix. Never report a connector "done" with fieldless activities; if a raw-body passthrough is genuinely intended, say so explicitly.
  13. The icon must stay visible on a dark surface. app/element/image.svg is the connector's icon in Studio Web. builder validate does NOT check this (it only warns when the file is missing), but the periodic build fails an icon whose ink has under 1.5:1 contrast on Studio Web's dark surface (#1F1F1F) — a black logo, or shapes with no fill. When you add or replace the icon, check it against the rules in references/icon.md. Fix black ink with a @media (prefers-color-scheme: dark) rule or fill="currentColor". Never recolour a brand logo.

Connection design (host, region, discovered values)

Decide how each per-connection value reaches the request BEFORE scaffolding — getting this wrong is the most common rework:

  • One config drives the host — not three URLs. When the base, token, and authorize hosts share a per-connection part (an instance name, region, datacenter, or workspace), surface ONE config and template it into every URL: init --base-url 'https://{instance}.../api' + auth set --token-url 'https://{instance}.../token' --authorization-url 'https://{instance}.../authorize'. The CLI auto-seeds a single fillable {instance} field that resolves all three (references/configuration.md §Templated hosts). Do NOT expose base.url/oauth.token.url/oauth.authorization.url as separate connection fields.
  • Open value → TEXTFIELD; fixed set → COMBO. A free-form instance/workspace/account name is the auto-seeded templated TEXTFIELD — that is a legitimate, common shape, not a smell. Only a genuinely fixed datacenter/environment list becomes a COMBO (state patch the seeded entry to type:COMBO with options, whose value can be the host fragment itself).
  • Derive or discover before you ask. If a per-connection value (the API host, an org/account id) is returned in the token response or is discoverable via an authenticated call, capture it instead of adding a manual field — but ONLY when it is genuinely needed AND obtainable; a single templated config is the simpler default, so don't over-engineer discovery where a plain field suffices. Token-response host → a postRequest hook that validates (https + allowlisted host, never log the token) and persists via done({configuration}) — recipe: references/hooks.md §"Pattern: base URL …". Discoverable id → an onProvision system resource that calls the lookup at connection time (references/system-resources.md).
  • User-facing configs need guidance. Every configScreenType:"pre" or "pre-optional" field should have hintText with an example or where to find the value. give every visible connection-form field a hint (validate does not currently check this) for instance/workspace IDs, tenant hosts, and token-type-specific credentials.
  • Multi-datacenter OAuth: the accounts/token host itself varies by region — template the region config into --token-url/--authorization-url too, not just the base URL.
Show full SKILL.md (831 more words)Show less

Workflows

Each workflow is an ordered sequence of copy-paste-ready commands. Use placeholders (<ORG>, https://api.example.com) — never real secrets.

New connector (full lifecycle)
bash
# 0. Log in FIRST. The key `design-{org}-{slug}` takes its org from your logged-in
#    session, so `init` (create) ERRORS if you're not logged in. Let it derive the
#    org — do NOT guess --organization (a wrong org bakes into the key and only
#    surfaces, mismatched, at import). --organization <slug> is for offline/CI only.
uip login status            # check Data.Status == "Logged in" — NOT the envelope
                            # Result/exit, which is "Success" even when the session
                            # is dead (refresh-failed / expired). (`init` create
                            # itself re-checks the live login status and blocks.)

# 1. Scaffold the shell. --name is required when creating; key + folder are derived
#    (the org comes from your login — see step 0).
uip is connectors builder init --name 'Acme Widgets' \
  --description 'Acme Widgets connector' --categories 'CRM,Sales and marketing' \
  --base-url https://api.acme.com --auth oauth2 \
  --authorization-url https://acme.com/oauth/authorize \
  --token-url https://acme.com/oauth/token --scope 'read write'
#   --categories must be approved DISPLAY-NAME values (e.g. 'CRM', 'Sales and marketing',
#   'Collaboration', 'Productivity', 'E-commerce') — NOT lowercase slugs like `crm,sales`.
#   Validated at init AND `validate`: wrong case is canonicalized, an unknown value fails fast
#   and the error lists the approved enum. init seeds element-metadata.json:latestVersion = "1.0.0".

# 2. Add an activity (writes element.json entries + standard-resources/accounts.json).
uip is connectors builder activity create --name accounts --vendor-path /v1/accounts \
  --methods GET,GETBYID,POST,PATCH,DELETE --primary-key id --has-ceql

# 3. Author the field schema — REQUIRED, not optional (Rule 12). `activity create`
#    does NOT infer fields; without this the activity ships as a raw JSON body and
#    `validate` warns. Pass `--fields-file <json>` on `activity create` for the whole
#    schema at once, or add fields one at a time with `field create`
#    (visibility flags apply to every --method listed; re-runs merge):
uip is connectors builder activity field create --resource accounts --name email \
  --type string --method GET --method POST --response

# 4. Replace the placeholder app/element/image.svg with the vendor's logo, and check
#    it stays visible on a dark surface (Rule 13). validate does not check this.

# 5. Validate — must be 0 errors AND no unresolved warnings (fieldless activity,
#    broken SR link) before import.
uip is connectors builder validate

# 6. Import (create-or-update on the tenant) then publish.
uip login
uip is connectors import
uip is connectors publish --wait        # blocks until SUCCESS; live in Studio Web then
                                        # (fire-and-forget without --wait: allow ~5-10 min)

Publishing a NEW connector needs no --version (init seeded 1.0.0). Re-publishing an existing connector requires a HIGHER version — bump element-metadata.json:latestVersion (or pass --version 1.0.1); the server rejects an equal version.

Add an activity to an existing connector
bash
uip is connectors builder inspect --output json     # map what exists first
# research the vendor API, then:
uip is connectors builder activity create --name contacts --vendor-path /v1/contacts \
  --methods GET,GETBYID,POST --primary-key id --fields-file ./contacts-fields.json
uip is connectors builder activity field create --resource contacts --name status \
  --type string --method GET --response --searchable
uip is connectors builder activity hook create --resource-name contacts --method GET \
  --hook-type postRequest --custom-code-file ./contacts-postRequest.js   # optional response shaping (you write the JS)
uip is connectors builder validate
Add a polling trigger

trigger create authors a POLLING trigger. The target activity must already exist and have an SR file (trigger create hard-fails otherwise).

bash
uip is connectors builder activity list --output json    # confirm the activity exists
uip is connectors builder trigger create --resource-name accounts --event-kind polling \
  --updated-date-field LastModifiedDate --id-field Id     # seeds the event config + hasEvents flag
uip is connectors builder validate

--updated-date-field is REQUIRED for every --event-kind — the command always authors a polling loop. --event-kind polling|webhook|all (default polling) only picks the config bundle; webhook/all add webhook config keys but don't implement delivery. Webhook delivery, the polling-vs-webhook semantics, and per-flag defaults all live in references/events.md.

Customize a curated activity

activity create auto-curates every method into a standalone Studio activity by default (opt out with --no-curate). Use method curate only to override the generated name/displayName, or to curate a --no-curate method. Generic CRUD activities are always present separately from curated activities: List/Get/Create/Update/Delete Records let the user choose any object that supports that method. Do not remove them or report them as pollution when you add a curated/list-capable object; author the curated service action alongside the generic object picker.

bash
uip is connectors builder activity method curate --resource cases --method GET \
  --display-name 'Get Support Request'
uip is connectors builder activity field create --resource cases --name subject --type string \
  --method GET --response --response-curated --design-position primary
uip is connectors builder validate
Debug
bash
uip is connectors builder inspect --output json
# state patch REPLACES the node — query the WHOLE entry, change ONLY the field at fault, patch it ALL back:
uip is connectors builder state query element.json/configuration/oauth.token.url --output json
uip is connectors builder state patch element.json/configuration/oauth.token.url \
  --value '<full entry from the query above, with defaultValue corrected>'
uip is connectors builder validate

For a base URL or id derived at connection time: use a token-response postRequest hook when the value is returned by the token call, or an onProvision system resource when it must be discovered after auth. Validate the value, then persist it with done({configuration}) — NOT state patch, which baking-time-edits one connection's value into every connection. Full recipe: references/hooks.md §"Pattern: base URL …"; investigation checklists: references/debugging.md.

Command Map

text
uip is connectors                      # tenant/catalog + design-connector lifecycle (needs `uip login`)
  list | get <key> | swagger <key> | export <key> | audit-logs | event-operations
  download <key> | import | publish | publish-status <id> | probe
  builder                              # author a connector ON DISK
    init                               # create-or-EDIT the connector shell in ONE verb
                                       #   (folds the old scaffold / metadata / global / base+pagination preset)
        preset apply --kind base|pagination
        header delete <vendorName>
    auth     set | get | system (create|list)
    activity create | list | get | delete
             field  (create|list|get|delete)
             method (get|set|curate)
             param  (create|list|get|delete)
             hook   (create|list|get|delete)
    trigger  create                    # --event-kind polling|webhook|all (folds the event preset + polling)
    inspect                            # read-only whole-connector rollup
    validate                           # full check set; exits non-zero on failure
    state    query <pointer> | patch <pointer>

publish returns a PublishId; --wait polls to SUCCESS/FAILURE (timeout via --timeout-seconds, default 600); check later with publish-status <id> (positional). Status enum: IN_PROGRESS | SUCCESS | FAILURE.

Reference Navigation

Depth lives in references/ — each self-contained. SKILL.md owns the workflows, command map, and rules above; references must not repeat them. The always-current flag source is uip is connectors builder <noun> <verb> --help.

Task → read thisReference
What a connector is, file layout, the CRUD/curated/HTTP activity modelreferences/overview.md
Connector icon (image.svg): how the periodic build judges dark-surface visibility, fixesreferences/icon.md
element.json internals: top-level fields, resources[], parameters[], value interpolation, hook orderreferences/element-json.md
Standard-resource files: linking, metadata.method, curated, fields (visibility/design/searchable)references/standard-resources.md
configuration[] entries: widget types, screen types, per-auth key sets, pagination + event keysreferences/configuration.md
Authentication setup: all 19 auth types (incl. JWT Bearer claims, FPS, none) and the OAuth/JWT scope surfacereferences/auth.md
Auth-system resources: auth-validation, onProvision/onDelete, OAuth token overridesreferences/system-resources.md
When to write a hook vs use a built-in (decision table + good/avoidable patterns), execution order, context vars, done(), namingreferences/hooks.md
Polling and webhook triggers: config keys, event.poller.configuration schemareferences/events.md
Debugging auth / activity / hook / trigger / pagination issues (workflow + checklists)references/debugging.md

Anti-patterns

  1. Editing without builder inspect first (Rule 1) — you'll invent keys/paths that don't exist.
  2. Hand-rolling auth via state patch instead of auth set (Rule 3) — leaves the auth block inconsistent.
  3. Editing a config entry with a partial value (Rule 5) — state patch REPLACES the node, dropping omitted fields. Query the whole entry and patch the complete object back.
  4. Re-running activity create with a name that already exists when you meant a SEPARATE activity — it's an idempotent upsert that MERGES into the same-named activity (appends methods, preserves existing field definitions unless --overwrite-fields); it does not error, so a wrong name silently merges instead of warning.
  5. Modeling GETBYID for a search/list endpoint (Rule 4) — by-id verbs auto-add the /{id} param; reserve them for true single-record reads.
  6. Putting a real secret in an example or expecting the connector to store one (Rule 9) — secrets are encrypted fields (usually PASSWORD) supplied at connection time.
  7. Re-publishing without bumping the version — the server rejects an equal version; bump latestVersion or pass --version.
  8. Invented --categories values — they must come from the approved enum; validate reports the list.
  9. Writing a hook for a job a built-in does (Rule 10; hooks.md §"Recognizing an avoidable hook"), or omitting the trailing done() so the hook never returns.
  10. Reaching for a removed command — there is no connector scaffold/inspect/validate wrapper (use init/inspect/validate directly), no global/metadata/config/resource*/event polling add/auth scope/remote*/describe/reference.
  11. Naming a field — especially the primary key — after a URL path token or your own convention instead of the key the vendor actually returns. Response fields are resolved by name against the raw vendor JSON, so a wrong name yields an empty activity output and NO error at any layer (standard-resources.md §fields).
  12. Reporting a connector "done" with fieldless activities (Rule 12) — activity create writes endpoints/methods/auth but NOT the field schema; an activity with no field create / --fields-file shows only a raw JSON body in Studio and trips a validate WARNING. Author fields before finishing, and never treat a 0-error/has-warnings validate as a pass.
  13. Shipping a black or unfilled icon (Rule 13) — it passes validate and then disappears on Studio Web's dark surface, and the periodic build fails it. Add a prefers-color-scheme: dark rule or use currentColor.

© UiPath, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 10 other files (references) in skills/uipath-connector-builder of UiPath/skills.

  • SKILL.md
  • references/auth.md
  • references/configuration.md
  • references/debugging.md
  • references/element-json.md
  • references/events.md
  • references/hooks.md
  • references/icon.md
  • references/overview.md
  • references/standard-resources.md
  • references/system-resources.md

Open the folder on GitHubat commit 0bada1b

Compare with similar skills

Uipath Connector Builder next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Uipath Connector Builder compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Uipath Connector Builder this skillUiPath/skills167—~6.2kAutomated safety check: NotesMIT
Clerkgeekskai/blog1033 repos~1.5kAutomated safety check: PassMIT
Novu Design Workflownovuhq/novu40k—~2.6kAutomated safety check: PassCustom licence
Golivemikehasa/golive-skill1.3k—~13kAutomated safety check: NotesMIT
Stripe Appsfossasia/eventyay1.7k1 repos~3.6kAutomated safety check: PassApache-2.0
Dingtalk Messageagentscope-ai/ReMe3.6k—~1.6kAutomated safety check: PassApache-2.0

Similar skills

  • Clerk

    geekskai/blog

    Clerk authentication router. An agent skill from geekskai/blog.

    103 GitHub starsUsed in 3 repos~1.5k tokens
    Backend & APIsAuto-check passed
  • Design notification workflows the Novu way — choose channels, set severity, decide when a workflow is critical, configure digests, and route based on subscriber state.

    40k GitHub stars~2.6k tokensUpdated today
    Backend & APIsAuto-check passed
  • Golive

    mikehasa/golive-skill

    Take an agent-written app from repo to live production on the user's OWN accounts, with providers they choose (hosting, database, auth, payments, email, domain/DNS).

    1.3k GitHub stars~13k tokensUpdated 6 days ago
    Backend & APIsAuto-check: notes
  • Stripe Apps

    fossasia/eventyay

    A skill your agent uses when building, modifying, or reviewing a Stripe App — or when the user describes something that implies one (e.g.

    1.7k GitHub starsUsed in 1 repo~3.6k tokens
    Backend & APIsAuto-check passed
  • Dingtalk Message

    agentscope-ai/ReMe

    钉钉消息发送技能。支持企业内部机器人(批量单聊/群聊)和 Webhook 自定义机器人两种接入方式,支持多机器人管理,支持文本、Markdown、链接、ActionCard、FeedCard等多种消息类型。

    3.6k GitHub stars~1.6k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • PR Review Provider

    yansongda/pay

    A skill your agent uses when reviewing PRs that add or modify a payment Provider in yansongda/pay - covers plugin pipeline, multi-tenant safety, signature verification, docs, and naming conventions.

    5.4k GitHub stars~2.4k tokensUpdated 2 days ago
    Backend & APIsAuto-check passed

More from UiPath/skills

All 28 skills in this repo
  • UiPath automation discovery — mines Slack/email/wikis/CRM/HRIS/ERP for repetitive work, SPOFs, and replicable models; produces a 4-tier prioritized opportunity report with UiPath implementation…

    167 GitHub stars~3.7k tokensUpdated today
    Auto-check passed
  • Maintain build-time skill flavors in the UiPath skills repository.

    167 GitHub stars~3.5k tokensUpdated today
    Auto-check passed
  • Uipath Functions

    UiPath/skills

    UiPath Coded Functions — deterministic Python or TypeScript/JavaScript units built with the uip function CLI (new -l py|ts|js, init, serve, run, pack, publish); the functions map in uipath.json…

    167 GitHub stars~3.6k tokensUpdated today
    Auto-check: notes
  • Uipath Maestro Bpmn

    UiPath/skills

    TRIGGER for authoring, operating or diagnosing UiPath Maestro BPMN.

    167 GitHub stars~4.2k tokensUpdated today
    Auto-check: notes
  • Uipath Maestro Case

    UiPath/skills

    TRIGGER for authoring UiPath Maestro Case plans as <Name.case.ts with the reference-mode TypeScript builder SDK (@uipath/maestro-builder-sdk/case), compiling to caseplan.json, and running the uip…

    167 GitHub stars~2k tokensUpdated today
    Auto-check: notes
  • Uipath Troubleshoot

    UiPath/skills

    UiPath causal investigation across every product, runtime, and activity package.

    167 GitHub stars~5.3k tokensUpdated today
    Auto-check passed

Questions about Uipath Connector Builder

What does Uipath Connector Builder do?

UiPath Integration Service connector authoring (REST+JSON) on disk via uip is connectors builder. Uipath Connector Builder is an agent skill from UiPath/skills. UiPath Integration Service connector authoring (REST+JSON) on disk via uip is connectors builder.

When should I use Uipath Connector Builder?

Uipath Connector Builder fits situations like: element-metadata.json; standard-resources/.json; A periodic-uipath-/periodic-design- connector repo; any request to build/edit an IS connector: init the connector shell.

How do I install Uipath Connector Builder in Claude Code?

Run `npx skills add UiPath/skills --skill uipath-connector-builder -a claude-code`. Or copy the skill folder (skills/uipath-connector-builder in UiPath/skills) into .claude/skills/uipath-connector-builder in your project. Claude Code loads it when a task matches its description.

How do I install Uipath Connector Builder in Codex?

Run `npx skills add UiPath/skills --skill uipath-connector-builder -a codex`. Or copy the skill folder (skills/uipath-connector-builder in UiPath/skills) into .agents/skills/uipath-connector-builder in your project. Codex loads it when a task matches its description.

Can I use Uipath Connector Builder in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add UiPath/skills --skill uipath-connector-builder -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/uipath-connector-builder, .gemini/skills/uipath-connector-builder, .github/skills/uipath-connector-builder and .opencode/skills/uipath-connector-builder in your project.

What does Uipath Connector Builder need to run?

SKILL.md names no scripts, command-line tools or credentials: Uipath Connector Builder is instructions for the agent only. Its frontmatter pre-approves these tools: Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion.

Does Uipath Connector Builder access the network?

SKILL.md names 2 domains. In commands or code: acme.com and api.acme.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Uipath Connector Builder safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Uipath Connector Builder use?

Uipath Connector Builder is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Uipath Connector Builder use?

About 6.2k tokens (SKILL.md is roughly 25k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 24k tokens, read only when the agent opens those files.

What are the alternatives to Uipath Connector Builder?

Skills that share tags, products or a category with Uipath Connector Builder: Clerk (geekskai/blog, 103 stars), Novu Design Workflow (novuhq/novu, 40k stars), Golive (mikehasa/golive-skill, 1.3k stars) and Stripe Apps (fossasia/eventyay, 1.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Uipath Connector Builder?

UiPath (a GitHub organization) maintains it in UiPath/skills, which has 167 GitHub stars. The repository holds 28 skills in this directory. The repository was last updated on October 10, 2026.

Source: UiPath/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.