Tested demoQuality 97/100Review permissions

UiPath/skills/skills/uipath-coded-apps/SKILL.md

uipath-coded-apps

UiPath Coded Apps — scaffold, build, run, and deploy Coded Web Apps and Coded Action Apps: React/TypeScript apps that call UiPath Cloud APIs via the `@uipath/uipath-typescript` SDK and ship to Automation Cloud (push/pull to Studio Web, pack, publish, deploy, OAuth-PKCE). Also generates live analytics & governance dashboards from a plain-language request, wired to tenant data via the Insights real-time API, with edit and deploy flows. For RPA→uipath-rpa, Python agents→uipath-agents, Maestro flows

Source repository stars
149
Declared platforms
0
Static risk flags
2
Last source update
2026-08-25
Source checked
2026-08-25

Decision brief

What it does: where it fits

Build, debug, and deploy UiPath Coded Web Applications and Coded Action Apps using the uip codedapp CLI and @uipath/uipath-typescript SDK.

Best for

  • User wants to build, debug, or deploy a UiPath Coded Web App or Coded Action App
  • User asks about uip codedapp commands, .uipath/ directory, app.config.json, or action-schema.json
  • User wants to scaffold a new React/Vue frontend for UiPath Cloud or an Action Center form

Not for

  • Don't import service classes from the package root — use the subpath (e.g., @uipath/uipath-typescript/assets).
  • Don't use the deprecated dot-chain sdk.entities.getAll() — use constructor DI: new Entities(sdk).
Controlled single-run demoChecked 2026-08-20

What changed when the Skill was used

In this controlled same-task single run, enabling uipath-coded-apps changed the output from 2464 non-whitespace characters and 19 headings to 2490 characters and 20 headings. Matches among 8 signals extracted from the pinned source changed from 2 to 2. Both actual outputs are shown; this is a structural observation, not a quality score or a universal performance claim.

Same test task

Analyze a small SaaS churn scenario and produce a concrete analysis plan with data checks, method choices, expected outputs, and validation steps. The deliverable must specifically reflect this user intent: UiPath Coded Apps — scaffold, build, run, and deploy Coded Web Apps and Coded Action Apps: React/TypeScript apps that call UiPath Cloud APIs via the `@uipath/uipath-typescript` SDK and ship to Automation Cloud (push/pull to Studio Web, pack, publish, deploy, OAuth-PKCE). Also generates live analytics & governance dashboards from a plain-language request, wired to tenant data via the Insights real-time API, with edit and deploy flows. For RPA→uipath-rpa, Python agents→uipath-agents, Maestro flows

Without the Skill
Screenshot of the actual model output for uipath-coded-apps without the Skill

Baseline: 2464 non-whitespace characters, 19 headings, and 55 list items.

With the Skill
Screenshot of the actual model output for uipath-coded-apps with the Skill

With Skill: 2490 non-whitespace characters, 20 headings, and 59 list items.

ObservationWithout SkillWith Skill
Source-signal coverage2/8: uipath, coded2/8: uipath, coded
Output structure2464 chars · 19 headings · 55 list items · 0 code blocks2490 chars · 20 headings · 59 list items · 0 code blocks
Verification and caution signals16 verification signals · 7 risk/limitation signals17 verification signals · 13 risk/limitation signals

A prompt you can use

Use the uipath-coded-apps Skill pinned at e37c47906ede for my task. Follow its source-specific constraints around `uipath-coded-apps`, `uipath`, `coded`, `types`, then return the finished deliverable with explicit assumptions, verification, failure conditions, and limits. Do not treat the Skill text as a factual source or claim that a single demonstration proves universal performance.

Method and limitationsExpand

Test method

  • Baseline and treatment used the same task, model (gpt-5.3-codex-low), and runner; the only planned difference was whether the complete target Skill text was injected.
  • The treatment used snapshot e37c47906ede2285e2216a4d699673d4e9982c2b; the current source commit e37c47906ede2285e2216a4d699673d4e9982c2b was verified against content hash c211fb05e4e9. The baseline explicitly prohibited loading any Skill or external rule file.
  • The same deterministic script counted characters, headings, lists, code blocks, verification terms, caution terms, and source signals in both artifacts. Source signals: `uipath-coded-apps`, `uipath`, `coded`, `types`, `critical`, `rules`, `disambiguation`, `dashboards`.
  • The visuals are local screenshots of the actual Markdown artifacts in a fixed 1200 × 800 evidence canvas, not recreated product mockups. Raw JSON artifacts and request records are retained in the research directory.

Do not over-read this demo

  • This is one controlled demonstration per condition, not a multi-run statistical benchmark; the model is stochastic.
  • Character, structure, and keyword counts show observable differences but cannot by themselves prove correctness, originality, or business impact.
  • The task is a representative test designed for repeatability, not every real-world use of the Skill; rerun after a material source change.
Editorial review
SkillSignal editorial
Runner
Cursor Agent 2026.08.11-e8db854
Model
gpt-5.3-codex-low
Refresh due
2026-11-18
Reviewed commit
e37c47906ede2285e2216a4d699673d4e9982c2b
Test snapshot
e37c47906ede2285e2216a4d699673d4e9982c2b

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/UiPath/skills --skill "skills/uipath-coded-apps"
Safe inspection promptEditorial

Inspect the Agent Skill "uipath-coded-apps" from https://github.com/UiPath/skills/blob/33e76a6b8f19e29d6af48adb9799d602c196c3cb/skills/uipath-coded-apps/SKILL.md at commit 33e76a6b8f19e29d6af48adb9799d602c196c3cb. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    CLI Setup

    Review the “CLI Setup” section in the pinned source before continuing.

    Review and apply the “CLI Setup” source section.
  2. 02

    When to Use This Skill

    User wants to build, debug, or deploy a UiPath Coded Web App or Coded Action App

    User wants to build, debug, or deploy a UiPath Coded Web App or Coded Action AppUser asks about uip codedapp commands, .uipath/ directory, app.config.json, or action-schema.jsonUser wants to scaffold a new React/Vue frontend for UiPath Cloud or an Action Center form
  3. 03

    App Types

    Two lifecycles, two scaffolding entry points. - Standalone coded app: scaffold with npx create-vite@latest (see create-web-app.md / create-action-app.md). No project.uiproj / webAppManifest.json — those are solution-membership artefacts and standalone apps don't need them. Deplo…

    Two lifecycles, two scaffolding entry points. - Standalone coded app: scaffold with npx create-vite@latest (see create-web-app.md / create-action-app.md). No project.uiproj / webAppManifest.json — those are solution-mem…
  4. 04

    Critical Rules

    1. Identify the app type before doing anything else. Ask as a structured choice (Rule 18): Coded Web App — custom frontend deployed to UiPath Cloud · Coded Action App — form for Action Center human task reviews. The two paths diverge on scaffolding, redirect URI, and publish fla…

    Identify the app type before doing anything else. Ask as a structured choice (Rule 18): Coded Web App — custom frontend deployed to UiPath Cloud · Coded Action App — form for Action Center human task reviews. The two pa…Always check login status first. Run uip login status --output json before any cloud command. If not logged in, run uip login.Never skip the build step. Run npm run build after scaffolding (to verify the scaffold compiles) and again before pack or push (to produce the deployable dist/). Verify dist/ exists each time.
  5. 05

    Disambiguation — Apps vs Dashboards

    Route directly to Apps workflow (sections below) when you see: web app, action app, codedapp, app.config.json, action-schema.json, scaffold app, deploy app, pack, publish, push, pull, debug app

    Route directly to Apps workflow (sections below) when you see: web app, action app, codedapp, app.config.json, action-schema.json, scaffold app, deploy app, pack, publish, push, pull, debug appRoute directly to references/dashboards/CAPABILITY.md when you see: dashboard, analytics, KPI, metrics, Insights, observability, admin console, report, chart, trend, governance report, agent metricsWhen intent is ambiguous — ask "Which fits your goal?" as a structured choice (Rule 18):

Permission review

Static risk signals and limitations

Runs scripts

medium · line 107

The documentation asks the agent to run terminal commands or scripts.

npm install -g @uipath/cli

Network access

medium · line 128

The documentation includes network, browsing, or remote request actions.

uip login --authority https://alpha.uipath.com # non-production environments

Network access

medium · line 142

The documentation includes network, browsing, or remote request actions.

-authority https://alpha.uipath.com # omit --authority for production

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score97/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars149SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guidetested outcome pageTestedGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
UiPath/skills
Skill path
skills/uipath-coded-apps/SKILL.md
Commit
33e76a6b8f19e29d6af48adb9799d602c196c3cb
License
MIT
Collected
2026-08-25
Default branch
main
View the original SKILL.md

UiPath Coded Apps

Build, debug, and deploy UiPath Coded Web Applications and Coded Action Apps using the uip codedapp CLI and @uipath/uipath-typescript SDK.

When to Use This Skill

  • User wants to build, debug, or deploy a UiPath Coded Web App or Coded Action App
  • User asks about uip codedapp commands, .uipath/ directory, app.config.json, or action-schema.json
  • User wants to scaffold a new React/Vue frontend for UiPath Cloud or an Action Center form
  • User asks for app UI that a prebuilt UiPath widget covers: review/correct Document Understanding extraction results (Validation Station), chat with a conversational agent, browse/edit a Data Fabric entity in a grid, upload files to a storage bucket, display a PDF, or sign in with an external IdP (Google/SAML)
  • User wants to push/pull source between local and Studio Web
  • User wants to use the @uipath/uipath-typescript SDK from a coded app
  • User wants to run the full pipeline (build → pack → publish → deploy)
  • User wants to generate an agent-monitoring / analytics dashboard from a natural-language description — e.g. "show agent health, error rates, invocation volume, latency, active agents, KPIs, governance metrics, or consumption trends"
  • User says "build/create/generate a dashboard", describes metrics to visualize, or asks for an agent observability, operations, or cost view

App Types

TypeDescriptionKey Difference
Coded Web AppReact/Vue/other frontend hosted on UiPath CDNUser-facing app accessed via a URL
Coded Action AppReact form wired to UiPath Action CenterRendered inside human task reviews in Maestro/Agent workflows

Two lifecycles, two scaffolding entry points.

  • Standalone coded app: scaffold with npx create-vite@latest (see create-web-app.md / create-action-app.md). No project.uiproj / webAppManifest.json — those are solution-membership artefacts and standalone apps don't need them. Deploy via uip codedapp packuip codedapp publish (-t Action for action apps) → uip codedapp deploy. This is the classic single-app lifecycle covered by the rest of this skill.
  • In-solution coded app: run uip codedapp init from inside a .uipx solution. Init writes project.uiproj (ProjectType: "AppV2") + webAppManifest.json, nests runtime + build artefacts under source/dist/, auto-registers the project as Type: "AppV2" in the .uipx, and emits resources/solution_folder/app/{Coded,CodedAction}/. From then on the app is part of the solution — uip solution pack bundles its .nupkg and uip solution deploy run provisions it in the deployment folder. Do not run uip codedapp pack / publish / deploy on a coded app that's already registered in .uipx — that bypasses the solution's deploy config (external client ID, routing name, action schema) and double-registers the package. uip solution projects add / uip solution projects import register existing AppV2 folders too, reading webAppManifest.config.isActionApp to pick the Coded / CodedAction subType. For the solution-side lifecycle see /uipath:uipath-solution.

uip codedapp init is for solutions only. It is not the scaffolding entry point for a standalone coded app — use create-vite for that.

Critical Rules

  1. Identify the app type before doing anything else. Ask as a structured choice (Rule 18): Coded Web App — custom frontend deployed to UiPath Cloud · Coded Action App — form for Action Center human task reviews. The two paths diverge on scaffolding, redirect URI, and publish flag — do not guess.
  2. Always check login status first. Run uip login status --output json before any cloud command. If not logged in, run uip login.
  3. Never skip the build step. Run npm run build after scaffolding (to verify the scaffold compiles) and again before pack or push (to produce the deployable dist/). Verify dist/ exists each time.
  4. Pack → Publish → Deploy order is required. Each step depends on the previous one producing its output.
  5. Bump the version for re-publish. If the same version already exists in Orchestrator, publish will fail.
  6. Action apps require -t Action on publish. Run uip codedapp publish -t Action (not the default Web type).
  7. Never handle access tokens manually. Do not pass, print, parse, source, or set cached access tokens. Use uip login and supported uip codedapp commands; the CLI manages authentication.
  8. Base URL must use the API subdomain. https://api.uipath.com not https://cloud.uipath.com. See the table below.
  9. vite.config.ts must always set base: './'. The platform handles URL routing — apps must use relative asset paths. Do not use a routing name or a sub-path here. Import static assets through the bundler (import logo from './assets/logo.png') so Vite fingerprints and base-rewrites them. Do NOT place them in public/ or reference them by a hardcoded /-rooted path — those bypass base rewriting and 404 after deploy under the non-root mount.
  10. Use getAppBase() from @uipath/uipath-typescript for any absolute URL constructed at runtime — router basename, image src, fetch paths. Deployed apps mount at a non-root prefix; /-rooted paths work locally but 404 after deploy. Vite's base: './' only fixes import-time references.
  11. uip codedapp deploy must run non-interactively. Pass the folder key as --folder-key <GUID> (or as UIPATH_FOLDER_KEY=<GUID> env-var prefix — either works). The interactive folder picker fails in non-TTY contexts (CI, agent shells). If the user provides a folder name, resolve it with the server-side filter uip or folders list --all --name "<name>" --output json and pick the row whose Name exactly equals the target, then read its Key (the plain list is paginated 50/page and --name is a contains match requiring --all, so never just take the first row). A personal workspace is not in --all — resolve it from the default uip or folders list --output json where Type == "Personal". To deploy into a new folder, create it first with uip or folders create "<NAME>" --output json and read Data.Key. The uip or ... commands require the Orchestrator tool — install once via uip tools install @uipath/orchestrator-tool (check first with uip tools list).
  12. Guard against text overflow in every UI. See patterns.md "Preventing Text Overflow".
  13. Inspect the DF schema before writing analytics, filters, or seeds. Run uip df entities get <ENTITY_ID> --output json to inspect fields and types. At runtime, use entities.getById(<id>) from the app's authenticated session. DF doesn't behave like a typical RDBMS; see sdk/data-fabric.md "Anti-shapes & gotchas".
  14. Every list call returns ONE page — even with no options. There is no "give me everything" path. Applies to getAll, getAllRecords, queryRecordsById, getFileMetaData, etc. getAll() with no options does NOT return all rows; the SDK sends no pageSize and the server applies its own cap, wrapped in a misleadingly-named NonPaginatedResponse. To list every row from a source that may exceed the cap, you MUST loop the cursor: while (page.hasNextPage) { page = await getAll({ cursor: page.nextCursor }) } and accumulate items. Reading result.items.length after a single call is almost always a bug. See sdk/pagination.md.
  15. Tables of dynamic data must paginate, not dump all rows in one scroll. Page size 25–50 with next/prev/page-number controls and a "Showing X–Y of Z" summary. Top-N + "see all" is acceptable for explicitly summary panels (e.g., "Top 10 oldest"). Infinite-scroll-of-N-rows is unusable for operational dashboards. Applies to any table backed by any service (DF entities, Tasks, Jobs, Conversations, Process Instances, etc.). See patterns.md "Tabular Data".
  16. When adding any new SDK method call, verify the configured OAuth scope already includes the required scope — both dashboards and web apps read the scope key from uipath.json. Write operations, action methods (Jobs.stop, Tasks.complete, ProcessInstances.cancel, etc.), or first use of a new service typically need broader scopes than read-only flows. Mismatched scopes fail silently with 401 / 403 on the first call. See oauth-scopes.md for scope bundles and the per-method lookup protocol (the per-method table ships inside the SDK package at node_modules/@uipath/uipath-typescript/docs/oauth-scopes.md).
  17. Never call sdk.initialize() in an action app. That is web-app-only — it starts a PKCE OAuth redirect. Action apps run in Action Center's iframe with a host-injected session: construct new UiPath() (no args) and use it directly. See create-action-app.md src/uipath.ts.
  18. Never make the user type magic phrases. Whenever you ask the user to pick between known options (app type, build/edit/deploy intent, OAuth setup, deploy pinning), present a structured choice via the host coding agent's native question tool (selectable options) when one exists. Mechanics: one option per choice with a short bold label + one-line description of what picking it does; put the recommended option first and suffix its label "(Recommended)"; keep to at most 4 options (reserve one slot for an escape option like Make changes / Cancel when applicable). If there are 5+ candidates, or the host agent has no question tool, render a plain numbered list instead and accept the number or the option label as the answer. A free-text reply must always remain valid (e.g. a plan-change request) and takes precedence over the options. Exception — never put a question in the same response as a long output: plan-approval gates are free-text by design (the plan ends with "confirm or tell me what to change"); structured questions fire only on later, short turns. See references/dashboards/plugins/build/impl.md.
  19. Never guess SDK method signatures — read the installed types. The authoritative reference for method names, parameters, return types, and usage examples is node_modules/@uipath/uipath-typescript/dist/<subpath>/index.d.ts (full JSDoc; matches the installed SDK version exactly). Before calling a service you have not used in this session, Read its .d.ts. If node_modules is absent, run the install step first — the app cannot build without it. The references/sdk/*.md files deliberately do NOT list signatures; they cover only scopes, calling conventions, and traps the types cannot express. See references/sdk/imports.md for the missing-capability protocol. Boundary: read the .d.ts, never the compiled bundle. dist/*.mjs / *.js is minified implementation, not API — reading it dead-ends. A grep with no output confirms absence; treat a genuine gap as unsupported (use the documented alternative) rather than escalating the search into the bundle.

Disambiguation — Apps vs Dashboards

Route directly to Apps workflow (sections below) when you see: web app, action app, codedapp, app.config.json, action-schema.json, scaffold app, deploy app, pack, publish, push, pull, debug app

Route directly to references/dashboards/CAPABILITY.md when you see: dashboard, analytics, KPI, metrics, Insights, observability, admin console, report, chart, trend, governance report, agent metrics

When intent is ambiguous — ask "Which fits your goal?" as a structured choice (Rule 18):

OptionDescription
Build or modify a Web App / Action AppScaffold a UI, form, or app that deploys to Automation Cloud
Generate a dashboardAnalytics or admin view from a natural-language description

Task Navigation

I want to...Read this
Create a new Coded Web Appreferences/create-web-app.md
Create a new Coded Action Appreferences/create-action-app.md
Debug auth or config issuesreferences/debug.md
Push/pull code to Studio Webreferences/file-sync.md
Package and deployreferences/pack-publish-deploy.md
Full CLI command referencereferences/commands-reference.md
Embed the DU Validation Station widgetreferences/widgets/validation-station.md
Embed the Conversational Agent chat widgetreferences/widgets/conversational-agent-chat.md
Embed the Data Fabric DataTable widgetreferences/widgets/datatable.md
Embed the multi-file bucket upload widgetreferences/widgets/multi-file-upload.md
Embed the PDF viewer widgetreferences/widgets/pdf-viewer.md
Add external IdP sign-in buttons (Google/SAML)references/widgets/external-auth.md
OAuth scopes for SDK servicesreferences/oauth-scopes.md
SDK: Import paths & subpath exportsreferences/sdk/imports.md
SDK: Assets, Queues, Buckets, Processes, Jobs, Attachmentsreferences/sdk/orchestrator.md
SDK: Data Fabric (Entities, ChoiceSets)references/sdk/data-fabric.md
SDK: Maestro (Processes, Cases)references/sdk/maestro.md
SDK: Action Center (Tasks)references/sdk/action-center.md
SDK: Conversational Agentreferences/sdk/conversational-agent.md
SDK: Agent Feedbackreferences/sdk/feedback.md
SDK: Paginationreferences/sdk/pagination.md
SDK: Agents & Agent Memory (Insights RTM)references/sdk/agents.md
SDK: Agent Traces (Insights RTM)references/sdk/traces.md
SDK: Governance — policy evaluations (Insights API)references/sdk/governance.md
SDK: Agent Governance Decisions — runtime compliance (Insights RTM)references/sdk/governance-traces.md
UI Patterns (polling, BPMN, HITL, text overflow, table pagination)references/patterns.md
Generate an admin dashboard from NLPreferences/dashboards/CAPABILITY.md

CLI Setup

# Install the UiPath CLI (run once)
npm install -g @uipath/cli

# Install the coded apps tool
uip tools install @uipath/codedapp-tool

# Install the Orchestrator tool (needed to resolve folder name → key for deploy)
uip tools install @uipath/orchestrator-tool

# Verify both are installed
uip tools list

# Resolve uip if not on PATH
UIP=$(command -v uip 2>/dev/null || npm root -g 2>/dev/null | sed 's|/node_modules$||')/bin/uip
$UIP --version

Authenticate before any cloud command:

uip login status --output json         # check if logged in
uip login                              # interactive OAuth (opens browser)
uip login --authority https://alpha.uipath.com   # non-production environments

# Client-credentials (headless/CI) — scope MUST name one Orchestrator scope AND
# the two Apps-service scopes. Neither set covers the other:
#   OR.Default            → Orchestrator
#   Apps.Read Apps.Write  → Apps-service registration in `uip codedapp publish`
# Do NOT substitute granular Orchestrator scopes (OR.Folders/OR.Execution/
# OR.Administration) for OR.Default.
uip login \
  --client-id <id> \
  --client-secret <secret> \
  --organization <org> \
  --tenant <tenant> \
  --scope "OR.Default Apps.Read Apps.Write" \
  --authority https://alpha.uipath.com   # omit --authority for production

The uip login session scope is separate from the app's runtime OAuth scopes. The scopes in uipath.json are what the deployed app requests at runtime (see oauth-scopes.md). The --scope on uip login above is what the CLI session needs to call the Apps registration API during uip codedapp publish. uip codedapp publish does two things: uploads the package (needs OR.Default) and registers the coded app (needs Apps.Read Apps.Write). For what each failure looks like, see debug.md.

SDK Config (web app)

The web app initializes the SDK with new UiPath() (no config). At runtime the SDK reads clientId, scope, orgName, tenantName, baseUrl, and redirectUri from <meta name="uipath:*"> tags. During local dev @uipath/coded-apps-dev injects those tags from uipath.json (committed) — the single config source, holding clientId, scope, orgName, tenantName, baseUrl, and redirectUri (the Vite dev URL for local). In production the UiPath platform injects the same tags directly.

To change any of these values, edit uipath.json.

CLI Environment Variables

VariableUsed ByDescription
UIPATH_PROJECT_IDuip codedapp push / uip codedapp pullStudio Web project ID

Base URL by environment:

EnvironmentCorrect Base URL
Production (cloud)https://api.uipath.com
Staginghttps://staging.api.uipath.com
Alphahttps://alpha.api.uipath.com

Quick Deploy (Full Pipeline)

Do NOT pause between steps to ask "should I continue?" — execute the full pipeline. Only stop if you need auth credentials or an app name.

  1. Authuip login status --output json. If not logged in, ask the user for their environment and run uip login. With client credentials (headless/CI), use --scope "OR.Default Apps.Read Apps.Write" — all three names are required: OR.Default for Orchestrator, Apps.Read and Apps.Write for the Apps-service registration in uip codedapp publish. The External Application itself needs only Apps.Read and Apps.Write; OR.Default is auto-granted and not portal-selectable, so name it in --scope. If publish or deploy then fails, see debug.md.
  2. Buildnpm run build. Verify ls dist/.
  3. Packuip codedapp pack dist -n <name> --version <version>. Produces .uipath/<name>.<version>.nupkg. Bump version if previously published.
  4. Publishuip codedapp publish (add -t Action for action apps). Verify cat .uipath/app.config.json.
  5. Deployuip codedapp deploy -n <name> --folder-key <GUID>. Resolve the GUID from the chosen folder: a personal workspace (Type == "Personal"), a named existing folder, or a freshly uip or folders created one — via uip or folders list --output json. Dashboards additionally choose a deploy mode (standalone / governance-pinned / governance) that sets --tags; see dashboards deploy impl. Never let the command go interactive. Share the app URL with the user.

SDK Module Imports

See references/sdk/imports.md for the lookup protocol (subpaths and classes are discovered from the installed package — ls node_modules/@uipath/uipath-typescript/dist/), type import conventions, and anti-pattern examples. Core rules are listed under Anti-patterns below.

Key Concepts

App Config (.uipath/app.config.json)

Created by publish, consumed by deploy. Contains appName, systemName, appType, deploymentId, appUrl. Do not delete .uipath/ between publish and deploy.

Action Schema (action-schema.json)

Action apps define a data contract between the form and the Maestro/Agent workflow. It has four sections: inputs (read-only data from automation), outputs (user-filled fields), inOuts (pre-populated but editable), and outcomes (submission buttons like Approve/Reject).

Troubleshooting

See references/debug.md for detailed diagnosis steps.

ErrorCauseFix
Not authenticatedNo valid sessionRun uip login
dist/ not foundApp not builtRun npm run build
Published app with package name '<name>' and version '<version>' already existsSame name+version already published (registration rejects duplicates)Bump --version and re-publish
Folder key required / deploy hangs on promptMissing folder for CLI deployResolve folder name → key via uip or folders list --output json (match on Name, read Key), then run uip codedapp deploy --folder-key <GUID> .... See pack-publish-deploy.md.
No packages foundNo .nupkg in .uipath/Run pack first
Login fails / redirect errorOAuth misconfigurationSee debug.md
API calls fail with 401/CORSWrong base URLUse https://api.uipath.com not cloud.uipath.com

Folder identifier names differ across CLI and SDK. The CLI uses UIPATH_FOLDER_KEY / --folder-key (string) and applies only to uip codedapp deploy. SDK methods use different parameters: Maestro services (MaestroProcesses, ProcessInstances, Cases) take folderKey (string GUID), Orchestrator services (Assets, Queues, Buckets, Processes) take folderId (number). Do not pass the CLI env var into SDK calls. To bridge from a Maestro folderKey to an Orchestrator folderId, see sdk/maestro.md — and never parseInt(folderKey), the GUID is not numeric.

Completion Output

When you finish a task, report only what's applicable to the work actually done:

  1. What was done — files created, edited, or deleted (list paths); CLI commands run
  2. Stage reached — one of: scaffolded / built / packed / published / deployed
  3. Artifacts produced (report only the ones that actually exist):
    • dist/ — if npm run build was run
    • .uipath/<name>.<version>.nupkg — if pack was run
    • .uipath/app.config.json with deploymentId — if publish was run
    • Live deployment URL (appUrl from app.config.json) — if deploy was run
    • External Application client ID — if one was created this session
  4. Next steps, depending on where the task stopped:
    • Scaffolded only: cd <app-name> && npm run dev to run locally
    • Built but not packed: ready to uip codedapp pack when the user wants to deploy
    • Published but not deployed: run uip codedapp deploy to go live
    • Deployed (Web): open/share the deployment URL; verify sign-in flow
    • Deployed (Action): the app will render in Action Center human tasks triggered by Maestro/Agent workflows matching the routing name
  5. Open issues — any auth failures, scope mismatches, missing folder key, skipped steps, or errors left unresolved

If a later stage was requested but skipped (e.g., user asked to deploy but only publish succeeded), call it out explicitly in the next-steps section.

Anti-patterns

These pitfalls are not already covered by the Critical Rules. For rules stated as positive requirements, see the Critical Rules section at the top.

  • Don't import service classes from the package root — use the subpath (e.g., @uipath/uipath-typescript/assets).
  • Don't use the deprecated dot-chain sdk.entities.getAll() — use constructor DI: new Entities(sdk).
  • Don't delete .uipath/ between publish and deploydeploy reads app.config.json written by publish.

Frequently asked questions

What to verify before installation and use

What does the uipath-coded-apps source document cover?

Build, debug, and deploy UiPath Coded Web Applications and Coded Action Apps using the uip codedapp CLI and @uipath/uipath-typescript SDK.

How do I install uipath-coded-apps?

The source record exposes this install command: npx skills add https://github.com/UiPath/skills --skill "skills/uipath-coded-apps". Inspect the command and pinned source before running it.

Which permission-related actions were detected?

Static rules flagged exec-script, network in the source; the page lists the matching lines and excerpts.

Alternatives

Compare before choosing

Computed 973,093

NVIDIA/skills

vss-deploy-detection-tracking-2d

Use this skill when the user wants to deploy, run, debug, tear down, or call the REST API of the RTVI-CV 2D detection / tracking microservice. Trigger when the user says things like 'deploy rtvi-cv', 'start warehouse 2d', 'add a stream', 'check rtvi-cv health', or 'stop the perception container'. Not for VLM, embedding, or analytics — use the matching vss-* skill.

Computed 963,093

NVIDIA/skills

vss-deploy-detection-tracking-3d

Deploy and operate the RTVI-CV-3D microservice as MV3DT (`MODE=mv3dt`): per-camera DeepStream perception plus BEV Fusion over calibrated cameras. Supports the bundled sample dataset, custom video files, and RTSP streams, and chains to `vss-generate-video-calibration` when calibration is missing. Use `vss-deploy-profile` for the full warehouse blueprint and `vss-deploy-detection-tracking-2d` for single-camera 2D detection.

Computed 9324

datarobot-oss/datarobot-agent-skills

datarobot-predictions

Tools and guidance for making predictions with DataRobot deployments, including real-time predictions, batch scoring, prediction dataset generation, and prediction explanations (SHAP/XEMP). Use when making predictions, running batch scoring, generating prediction datasets, or explaining individual predictions from a deployment.

Computed 9312

keboola/cli

kbagent

Use when working with Keboola Connection projects via the kbagent CLI. Covers: exploring and searching configurations, job history, data lineage, dev branches, workspace SQL debugging, GitOps config sync (pull/push/diff/clone), bucket sharing and linking, encrypting secrets, Storage tables, files, and snapshots (backup/restore), data apps (deploy/logs/secrets), flows and schedules, members and invitations, feature flags, OTLP data streams, scoped Storage tokens, the semantic layer (models, metri