Study guide
22.5 Coded Automation Services: Orchestrator, UI Automation, Microsoft 365 & Custom Services
UiPath Automation Developer Professional UiPath-ADPv1
Track your progress as you read
Finished sections get a check mark.
1 Chapter 1: Exam Overview & Blueprint Map
1.1 About the UiPath-ADPv1 Exam: Format, Fees & Policies 1.2 The Exam Topics Mapped to This Guide & a Study Plan
2 Chapter 2: REFramework Architecture & State Dynamics
2.1 State Machine Architecture & The Four Core States 2.2 Configuration Management: Settings, Constants, and Assets 2.3 Transaction Types & The Dispatcher vs. Performer Architecture 2.4 Adapting REFramework: Tabular Data, Collections & Linear Processes
3 Chapter 3: REFramework Exception Handling & Recovery
3.1 BusinessRuleException vs. System.Exception Handling Patterns 3.2 Retry Mechanisms: Queue Retries vs. REFramework MaxRetryNumber 3.3 Consecutive System Exceptions & Graceful Process Termination
4 Chapter 4: State Machines, Custom Log Fields & REFramework Testing
4.1 Building State Machine Projects in Studio 4.2 Logging Levels, Robot Logs & Custom Log Fields in REFramework 4.3 Testing a REFramework Project With and Without Orchestrator Queues
5 Chapter 5: LINQ Queries & DataTable Operations
5.1 LINQ Essentials for Collections & Filtering 5.2 Advanced DataTable Querying with LINQ 5.3 In-Memory DataTable Transformations & Column Operations
6 Chapter 6: Regex, DateTime, JSON & Invoke Activities
6.1 Regular Expressions & Text Parsing for Automation 6.2 DateTime Formatting, Timezone Conversions & TimeSpan Calculations 6.3 JSON Parsing, JSONPath & Serialization with Newtonsoft.Json 6.4 Invoke Method & Invoke Code Activities 6.5 Data Referencing in Invokes: DataTable, List & Dictionary Arguments
7 Chapter 7: Modern UI Automation & Unified Targeting
7.1 Modern Design Experience & The Unified Target Concept 7.2 Anchors, Relative Elements & UI Automation Activities 7.3 Dynamic Selectors, Variables & Wildcards in Selectors
8 Chapter 8: Object Repository, Computer Vision & Remote Runtime
8.1 Object Repository & UI Descriptor Libraries 8.2 AI Computer Vision for Unattended & Remote Interfaces 8.3 Automation in Virtual Environments & UiPath Remote Runtime
9 Chapter 9: Advanced UI Automation: Browser Modes, Agentic UI & macOS
9.1 Browser Automation with the WebDriver Protocol 9.2 Agentic UI Automation: ScreenPlay, Semantic Activities & Healing Agent 9.3 macOS Automation: Native Apps, Office Apps & AppleScript
10 Chapter 10: Advanced Control Flow & Exception Architecture
10.1 Flowcharts, Sequences & Parallel Control Flow Patterns 10.2 Global Exception Handler Architecture & ErrorAction Directives 10.3 TryCatch, Retry Scope & Custom Exception Architectures
11 Chapter 11: Orchestrator Queues & Transaction Management
11.1 Queue Architecture, SpecificContent & Transaction Lifecycles 11.2 Queue Items SLA, Postpone, Deadlines & Priority Scheduling 11.3 Bulk Operations, Transaction Status Updates & Queue Triggers
12 Chapter 12: Orchestrator Tenant & Folder Entities
12.1 Asset Types, Per-Robot Assets & External Credential Stores 12.2 Modern Folder Hierarchy, User/Robot Assignment & Permissions 12.3 Storage Buckets, Webhooks & Environment Promotion 12.4 Orchestrator Tags: Labels, Properties & Governance
13 Chapter 13: Unattended Execution, API Triggers & Cloud Robots
13.1 Unattended Job Execution: Folders, Priorities, Background vs. Foreground & Runtimes 13.2 API Triggers: Starting Jobs from External Systems over HTTP 13.3 Serverless and Cloud VM Robots: Cloud-Hosted Execution Options
14 Chapter 14: Monitoring, Recording & Solutions Management
14.1 Orchestrator Monitoring, Trigger Alerts & Job Health 14.2 Job and Transaction Recording: Troubleshooting Faulted Unattended Jobs 14.3 Solutions Management: Packaging and Deploying Automations with Their Resources
15 Chapter 15: Debugging, Remote Debugging & Profiling
15.1 Studio Debugging Tools: Breakpoints, Panels & Execution Control 15.2 Remote Debugging: Remote Machine and Unattended Robot Connections 15.3 Profile Execution: Finding Performance Bottlenecks in Studio
16 Chapter 16: RPA Testing & Test Suite
16.1 UiPath Test Suite Overview, Test Cases & Given-When-Then Structure 16.2 Data-Driven Testing, Test Verification Activities & Mock Activities 16.3 CI/CD Pipelines with uipcli & Test Manager Traceability
17 Chapter 17: Long-Running Workflows, Action Center & Apps
17.1 Long-Running Workflows: Persistence, Suspend and Resume 17.2 Action Center & Human-in-the-Loop Orchestration 17.3 UiPath Apps: Action Apps, Automations & Integration Service
18 Chapter 18: Trigger-Based Attended Automation & Callouts
18.1 Trigger-Based Attended Automation: Forms, Triggers & Global Variables 18.2 Running Local Triggers & the Event Inspection Tool 18.3 Callouts & Forms for Attended Guidance
19 Chapter 19: UiPath Assistant & Robot Sessions
19.1 UiPath Assistant: Automations, Reminders, Widgets & Configuration 19.2 Robot Session (Picture in Picture): Child Session vs. Virtual Desktop
20 Chapter 20: Autopilot for Developers & Autopilot for Everyone
20.1 Autopilot for Developers: AI Assistance in Studio and Studio Web 20.2 Autopilot for Everyone: Chat, Automations & Clipboard AI
21 Chapter 21: API Automation & Integration Service
21.1 Integration Service: Connectors, Connections & Connector Activities 21.2 API Workflows in Studio Web 21.3 HTTP Requests: Web APIs, the Orchestrator API & Connector Requests 21.4 Connector Builder: Custom Integration Service Connectors 21.5 Integration Service Event Triggers: Connected and Disconnected 21.6 GenAI Activities: Generative AI Inside Workflows
22 Chapter 22: Data Service, Context Grounding & Coded Workflows
22.1 Data Fabric (Data Service) Entities: Modeling Business Data 22.2 Data Fabric Activities and the Platform Connector 22.3 Context Grounding: Retrieval-Augmented Generation with Company Data 22.4 Coded Automations: Structure, Arguments & Invoking Workflows 22.5 Coded Automation Services: Orchestrator, UI Automation, Microsoft 365 & Custom Services
23 Chapter 23: Integrated Scenario Practice
23.1 Integrated Scenario Practice: Designing an End-to-End Solution
22.5 Coded Automation Services: Orchestrator, UI Automation, Microsoft 365 & Custom Services
Key Takeaways Explain This Topic AI
Services correspond to activity packages, such as system, uiAutomation, testing, Mail, Excel, GSuite, and Microsoft 365, and are called as service.API.
BuildClient returns an HttpClient authorized for the Orchestrator API, and GetRunningJobInformation describes the running job.
uiAutomation.Open and Attach work with Object Repository descriptors (also from libraries), and Target.FromSelector supports native selectors.
Connected services use the connections object, whose connections can be overridden in Orchestrator.
Custom services are an interface and implementation in code source files, exposed through the CodedWorkflow partial class and RegisterServices.
Last updated: September 2026
22.5 Coded Automation Services: Orchestrator, UI Automation, Microsoft 365 & Custom Services
Core Concept: In coded automations, services are the equivalent of activity packages, and their coded automation APIs are the equivalent of activities. The exam description lists coded workflow topics: arguments, Orchestrator and UI Automation services, Microsoft 365, hybrid workflows, custom services, and imported libraries. This section focuses on the services and how they combine with low-code work.
Services and How to Call Them
- Service Package (minimum version for coded use)
- system System.Activities 23.10.2
- uiAutomation UIAutomation.Activities 23.10.3
- testing Testing.Activities 23.10.0
- Mobile automation MobileAutomation.Activities 24.10.0
- Mail Mail.Activities 1.22.1
- Excel Excel.Activities 2.24.1
- Google Workspace GSuite.Activities 2.6.21
- Presentations Presentations.Activities 1.14.1
- Microsoft 365 MicrosoftOffice365.Activities 2.6.21
Install the activity package, then call its APIs in the form service.API(...) . Parameters replace activity properties. For example, system.GetAsset("Email Address") reads an Orchestrator asset. You can also use any .NET library from nuget.org.
Orchestrator from Code
The system service offers Orchestrator-related APIs such as reading assets and credentials and working with queue items, just as the System activities do.
For Orchestrator endpoints without a dedicated API, BuildClient() builds an HttpClient with an access token for the Orchestrator scope, so code can call the Orchestrator API directly.
GetRunningJobInformation() returns details of the current job, and Log(...) writes log messages, optionally with additional log fields.
UI Automation from Code
UI Automation APIs work with Object Repository descriptors or with selectors: var login = uiAutomation.Open(AcmeApp.Acme.LoginScreen);
- login.TypeInto(AcmeApp.Acme.LoginScreen.Email, "john.doe2023@uipath.com");
- login.Click(Target.FromSelector("<webctrl tag='BUTTON' type='submit'/>"));
- var dashboard = uiAutomation.Attach(AcmeApp.Acme.Dashboard);
- dashboard.Click(AcmeApp.Acme.Dashboard.Students);
Open starts or opens the application at a screen; Attach connects to a screen that is already open.
Overloads that take IScreenDescriptor or IElementDescriptor use Object Repository elements.
Overloads that take TargetAnchorableModel work with native selectors, for example from Target.FromSelector(...) with a selector copied from UI Explorer.
Object Repository elements can come from the project or from an imported library .
Microsoft 365, Google Workspace, and Other Connected Services
Services that use Integration Service connections are reached through the connections object:
Create the connection (for example Microsoft Office 365 or Gmail) in the same organization and tenant.
In code, type connections. and choose the type, such as O365Mail , OneDrive , Excel , Gmail , GDrive , or GoogleSheets .
Select the specific connection, whose name combines the folder and the account, for example connections.Gmail.My_Workspace_john_doe_gmail_com .
Store it in a variable in one step, var mail = connections.O365Mail.<folder>_<account>; , and call the service's APIs through it.
After publishing, the connection can be overridden in Orchestrator for each environment.
Imported Libraries
Install a library project as a package, and its reusable assets become available in coded automations:
Object Repository elements, for use with uiAutomation.Open and Attach .
Workflows , both low-code .xaml and coded .cs , which you can invoke from code.
This lets one team own the UI descriptors and shared workflows while other projects consume them.
Custom Services
Register your own services to use them in every coded file of the project:
In a code source file , declare an interface, for example IMyService with DoMyMethod() .
Implement it in a class, such as MyService : IMyService .
Extend the CodedWorkflow partial class in another code source file with a property, for example public IMyService myService { get => serviceContainer.Resolve<IMyService>(); } .
Override RegisterServices to register the implementation with the service locator.
Every coded workflow can now call myService.DoMyMethod() .
Before and After Runs
Coded test cases can run setup and cleanup code by implementing the before and after interface on the partial class, for example to open an application before each test and close it afterwards.
A Hybrid Design
- Part Choice
- Process flow and REFramework states Low-code
- Parsing, validation rules, and calculations Code source files and coded workflows
- UI steps Low-code activities or uiAutomation with shared Object Repository descriptors
- Email and files in Microsoft 365 Connector activities, or the connections object in code
- Shared helpers used across projects A library with coded source files and descriptors
- Common Traps
Looking for an ui service: the UI Automation service in code is uiAutomation .
Using a connection name typed by hand instead of choosing it from connections. IntelliSense, which encodes the folder and account.
Calling Open when the application is already running, instead of Attach .
Registering a custom service without exposing it through the CodedWorkflow partial class, so coded files cannot reach it.
Forgetting that a service is available only after installing its activity package at a version that supports coded automations.