- Overview
- UiPath GenAI Activities
- Release notes
- About the UiPath GenAI Activities package
- Project compatibility
- Content Generation
- Update Context Grounding Index
- Context Grounding Search
- Context Grounding Summary – DeepRAG
- Summarize Text
- PII Filtering
- Translate
- Detect Language
- Rewrite
- Generate Email
- Categorize
- Named Entity Recognition
- Image Analysis
- Detect Object
- Signature Similarity
- Sentiment Analysis
- Reformat
- Semantic Similarity
- Image Comparison
- Image Classification
- Web Search
- Web Summary
- Web Reader
- Working with UiPath GenAI activities
- Supported models
- Frequently asked questions
- Act! 365
- ActiveCampaign
- Adobe Acrobat Sign
- Adobe PDF Services
- Amazon Bedrock
- Amazon Connect
- Amazon Polly
- Amazon SES
- Amazon Transcribe
- Anthropic Claude
- Asana
- AWeber
- Azure AI Document Intelligence
- Azure Maps
- BambooHR
- Box
- Release notes
- About the Box activities
- Project compatibility
- Add Shared Link to File
- Add Shared Link to Folder
- Search for Content
- Cancel Sign Request
- List Sign Requests
- Create Sign Request
- Resend Sign Request
- Upload File Version
- Copy File
- Delete File
- Download File
- Get File Info
- Get Folder Items
- Upload File
- Copy Folder
- Create Folder
- Delete Folder
- Delete Record
- Get Record
- Insert Record
- Replace Record
- List All Records
- Brevo
- Calendly
- Campaign Monitor
- Cisco Webex Teams
- Citrix ShareFile
- Clearbit
- Confluence Cloud
- Constant Contact
- Coupa
- CrewAI – Preview
- Customer.io
- Databricks Agent
- Datadog
- DeepSeek
- Deputy
- Discord - Preview
- DocuSign
- Drip
- Dropbox
- Dropbox Business
- Egnyte
- Eventbrite
- Exchangerates
- Expensify
- Facebook
- Freshbooks
- Freshdesk
- Freshsales
- Freshservice
- GetResponse
- GitHub
- Google Maps
- Google Speech-to-Text
- Google Text-to-Speech
- Google Vertex
- Google Vision
- GoToWebinar
- Release Notes
- About the GoToWebinar activities
- Project compatibility
- Delete Webinar
- Get Webinar
- Get Webinar Meeting Times
- Get Webinar Registrant
- Get Webinar Start URL
- List Account Webinars
- List All In Session Webinars
- List All Webinar Attendees
- List All Webinar Registrants
- List All Webinars
- Quick Create Webinar
- Quick Update Webinar
- Search Recording Assets
- Delete Record
- Get Record
- Insert Record
- List All Records
- List Records
- API References
- Greenhouse
- Hootsuite
- HTTP Webhook
- Hubspot CRM
- HubSpot Marketing
- Icertis
- iContact
- Insightly CRM
- Intercom
- Jina.ai
- Jira
- Release notes
- About the Jira activity package
- Project compatibility
- Create Issue
- Add Issue Attachment
- Download Issue Attachment
- Get Instance Details
- Add Comment
- Update Comment
- Get Comments
- Get Issue
- Search Issues by JQL
- Search Issues
- Update Issue
- Update Issue Assignee
- Find User by Email Address or Display Name
- Update Issue Status
- Delete Record
- Get Record
- Insert Record
- List All Records
- Replace Record
- Upsert Record
- Invoke Operation
- Delete Issue
- Event Trigger
- Keap
- Klaviyo
- LinkedIn
- Mailchimp
- Mailjet
- MailerLite
- Mailgun
- Marketo
- About the Marketo activities
- Project compatibility
- Create Lead
- Get All Leads
- Get Lead Changes
- Update Lead
- Add Leads To A List
- Remove Leads From A List
- Delete Record
- Get Record
- Insert Record
- List All Records
- Update Record
- Bulk Import Leads
- Bulk Import Program Members
- Push Leads to Trigger Campaign
- Get Bulk Export Status
- Create Program
- Bulk Export Program Members
- Get Bulk Import Status
- Clone Program
- Download Program Members Bulk Export
- Change Program Members Status
- Create or Update Tokens
- Technical References
- Microsoft Azure OpenAI
- Microsoft Azure AI Foundry
- Microsoft Dynamics CRM
- Release Notes
- About the Microsoft Dynamics CRM activities
- Project compatibility
- Technical References
- Upload Note Attachment
- Download Note Attachment
- Upload Activity Attachment
- Download Activity Attachment
- Delete Record
- Get Record
- Insert Record
- List All Records
- Update Record
- Create Account
- Update Account
- Create Contact
- Update Contact
- Create Lead
- Update Lead
- Create Opportunity
- Event Trigger
- Close Lost Opportunity
- Close Won Opportunity
- Microsoft Power Automate
- Microsoft Sentiment
- Microsoft Teams
- Release Notes
- About the Microsoft Teams activities
- Project compatibility
- Create Channel
- Invite Member to Channel
- List All Channels
- Send Individual Chat Message
- Reply to Channel Message
- Create Online Teams Meeting
- Send Channel Message
- Send Group Chat Message
- Get Channel by Name
- Get Individual Chat
- Get Team by Name
- Invite User to Team
- List All Channel Messages
- List All Chat Messages
- List All Team Members
- Get Online Teams Meeting
- List All Recordings
- List All Transcripts
- Download Meeting Transcript/Recording
- List All Records
- Insert Record
- Update Record
- Get Record
- Delete Record
- Technical references
- Microsoft Translator
- Microsoft Vision
- Miro
- Okta
- OpenAI
- OpenAI V1 Compliant LLM
- Oracle Eloqua
- Oracle NetSuite
- PagerDuty
- Paypal
- PDFMonkey
- Perplexity
- Pinecone
- Pipedrive
- QuickBooks Online
- Quip
- Salesforce
- Release Notes
- About the Salesforce activities
- Project compatibility
- Create Account
- Update Account
- Create Contact
- Update Contact
- Create Lead
- Update Lead
- Create Opportunity
- Upload File
- Download File
- Search Records
- Get Opportunity
- Get Lead
- Get Contact
- Get Account
- Get Report
- Add File to Record
- Create Bulk Upload Job
- Get Bulk Job Info
- Starts or Aborts Bulk Job
- Download SOQL Bulk Job Results
- Download Unprocessed Records of Bulk Upload
- Create Bulk Download Job Using SOQL
- Search Using String
- Get Object Fields
- Insert Record
- Get Record
- Delete Record
- Update Record
- List All Records
- Salesforce Marketing Cloud
- SAP BAPI
- SAP Cloud for Customer
- SAP Concur
- SAP OData
- SendGrid
- ServiceNow
- Release Notes
- About the ServiceNow activity package
- Project compatibility
- Create New Incident
- Create Incident Task
- List All Incidents
- Update Incident
- Add Attachment
- Download Attachment
- Get Incident Task
- Get Attachment
- List All Attachments
- List All Incident Tasks
- Update Incident Task
- Delete Attachment
- Search Users by Email or Name
- Search Incidents by Incident Number
- Delete Record
- Get Record
- Insert Record
- List All Records
- Update Record
- Technical references
- Troubleshooting
- Shopify
- Slack
- Release Notes
- About the Slack activities
- Project compatibility
- Create Channel
- Invite Users to Channel
- Remove User from Channel
- Send File to Channel
- Send Message to Channel
- Send Message to User
- Send Reply
- Send Button Response
- Create User Group
- Get User
- List All User Groups
- List All Users
- Set Channel Topic
- Join Channel
- Archive Channel
- Create Group Direct Message
- Get Channel Info
- Button Clicked
- Troubleshooting
- SmartRecruiters
- Smartsheet
- Release notes
- About the Smartsheet activities
- Project compatibility
- Attach URL to Sheet
- Add Column
- Update Column
- Add Row
- Update Row
- Get Sheet
- List All Sheets
- Attach File to Comment
- Search Everything
- Update Sheet
- Create Sheet from Template
- Send Sheet Via Email
- List All Folders
- Download Attachment
- Attach File to Row
- Attach URL to Row
- Attach File to Sheet
- List All Workspaces
- List All Attachments
- Delete Row
- Download Sheet
- Search Sheets
- Insert Record
- Get Record
- List All Records
- Delete Record
- Snowflake
- Snowflake Cortex
- Stripe
- Sugar Enterprise
- Sugar Professional
- Sugar Sell
- Sugar Serve
- TangoCard
- Todoist
- Trello
- Twilio
- UiPath Apps - Preview
- UiPath Orchestrator
- IBM WatsonX
- WhatsApp Business
- WooCommerce
- Workable
- Workday
- Workday REST
- X (formerly Twitter)
- Xero
- Release notes
- About the Xero activity package
- Project compatibility
- Create Contact
- List All Contacts
- Add Attachment to Contact
- Get Balance Sheet Report
- Get BAS Report
- Get GST Report
- Get Bank Summary Report
- Get Aged Receivables by Contact Report
- Get Attachments of a Contact
- Get Budget Summary Report
- Get Profit and Loss Report
- Get Trial Balance Report
- Get Executive Summary Report
- Get Aged Payables by Contact Report
- List Reports
- Delete Record
- List All Records
- Get Record
- Insert Record
- Replace Record
- Youtube
- Zendesk
- Zoho Campaigns
- Zoho Desk
- Zoho Mail
- Zoom
- ZoomInfo

Integration Service Activities
Vertex AI Agents are autonomous software systems on Google Cloud's Vertex AI platform that use generative AI to understand, reason, plan, and complete tasks with users or other agents.
A core part of these agents is the Vertex AI Agent Engine, which provides a managed runtime for developing, deploying, and scaling agents in production.
This activity enables the use of agents deployed to the Agent Engine as participants in an automated process orchestrated by Maestro.
The ways in which you can deploy agents based on the Vertex AI Agent Engine are constantly evolving. Currently, this is a code-first configuration in Vertex AI. All frameworks supported by Agent Engine are supported by the Google Vertex connector. (e.g. google-adk). When a Vertex AI agent is successfully deployed, it is organized under a Google Cloud Project under Vertex AI > Agent Builder > Agent Engine. An agent that is ready for integration with UiPath must be visible with a resource name assigned under a URL such as this:
projects/771273109380/locations/us-central1/reasoningEngines/7522902537708503040projects/771273109380/locations/us-central1/reasoningEngines/7522902537708503040771273109380.
In most Maestro scenarios, you prompt the agent to generate output in the form of a JSON structure. e.g. {"sku1": "9735A45", "sku2": "1735A50"}.
To use this activity in a Maestro agentic process, follow these steps:
- Add a service task element to the canvas and open the task's Properties panel.
- Name the service task
Vertex Hello World. - In the Implementation section, from the Action dropdown list, select Start and wait for external agent.
- Select the Google Vertex connector.
- Select an existing connection or create a new one. For more information, see Google Vertex authentication.
-
From Activity, select Execute Google Vertex Agent.
-
From Agent Name, select an agent that you previously created in Vertex AI (e.g. ORDERS_AGENT). Please note that using the wrong service account key will result in you getting a dropdown that includes unexpected agents or no agents at all.
- in the Message field, enter
"What can you do?". Make sure to include the quotes in the prompt. - In the User id field, enter
user. -
Connect the start event to the service task, and the service task to an end event node on the canvas.
-
Select Debug to run this process. After a successful run, review the Global variables and look for the {:} response from the source Vertex. Take note of the structure of the reply. For example, this is the agent's response to the prompt "What can you do?":
{ "usage_metadata": { "candidates_token_count": 404, "thoughts_token_count": 46, "total_token_count": 1229, "prompt_tokens_details": [ { "token_count": 779, "modality": "TEXT" } ], "traffic_type": "ON_DEMAND", "candidates_tokens_details": [ { "token_count": 404, "modality": "TEXT" } ], "prompt_token_count": 779 }, "author": "loan_eligibility_agent", "invocation_id": "e-a496b1b8-fb54-4120-9aa2-7fac34e1d04d", "session_id": "3080378032481894400", "id": "26G1y9He", "content": { "parts": [ { "text": "I am a loan eligibility evaluation agent. My primary function is to assess whether a loan applicant is eligible for approval based on a predefined set of criteria.\n\nHere's what I can do:\n\n1. **Receive Loan Application Details:** I expect loan application details in a JSON format. If I don't receive it, I will prompt you to provide it.\n2. **Evaluate Against Criteria:** I will evaluate each field in the provided JSON against specific eligibility criteria, which include:\n * Age (21-60)\n * Employment status and duration (employed, min 12 months)\n * Monthly net income (min $2,500 USD)\n * Credit Score (min 650)\n * Debt-to-Income Ratio (monthly obligations <= 40% of income)\n * Residency Status (legal resident/citizen)\n * Loan Purpose (specific allowed purposes, no disallowed ones)\n3. **Determine Eligibility:** Based on the evaluation, I will determine one of three outcomes:\n * `eligible`: If all standard criteria are met.\n * `not eligible`: If one or more core criteria are failed, and no compelling justification is provided.\n * `manual review: other_criteria`: If one or more core criteria are failed, but an \"other_criteria\" explanation is provided that might justify an exception (e.g., medical hardship, protected populations, employment transition).\n4. **Provide Justification:** For every determination, I will provide a detailed explanation outlining how the decision was reached, referencing the specific parameters from the eligibility criteria and the applicant's data.\n5. **Output in JSON:** My final output will always be a JSON object containing the `determination` and `justification`.\n\nEssentially, I automate the initial screening process for personal loan applications according to established rules." } ], "role": "model" }, "timestamp": 1758552780.125623 }{ "usage_metadata": { "candidates_token_count": 404, "thoughts_token_count": 46, "total_token_count": 1229, "prompt_tokens_details": [ { "token_count": 779, "modality": "TEXT" } ], "traffic_type": "ON_DEMAND", "candidates_tokens_details": [ { "token_count": 404, "modality": "TEXT" } ], "prompt_token_count": 779 }, "author": "loan_eligibility_agent", "invocation_id": "e-a496b1b8-fb54-4120-9aa2-7fac34e1d04d", "session_id": "3080378032481894400", "id": "26G1y9He", "content": { "parts": [ { "text": "I am a loan eligibility evaluation agent. My primary function is to assess whether a loan applicant is eligible for approval based on a predefined set of criteria.\n\nHere's what I can do:\n\n1. **Receive Loan Application Details:** I expect loan application details in a JSON format. If I don't receive it, I will prompt you to provide it.\n2. **Evaluate Against Criteria:** I will evaluate each field in the provided JSON against specific eligibility criteria, which include:\n * Age (21-60)\n * Employment status and duration (employed, min 12 months)\n * Monthly net income (min $2,500 USD)\n * Credit Score (min 650)\n * Debt-to-Income Ratio (monthly obligations <= 40% of income)\n * Residency Status (legal resident/citizen)\n * Loan Purpose (specific allowed purposes, no disallowed ones)\n3. **Determine Eligibility:** Based on the evaluation, I will determine one of three outcomes:\n * `eligible`: If all standard criteria are met.\n * `not eligible`: If one or more core criteria are failed, and no compelling justification is provided.\n * `manual review: other_criteria`: If one or more core criteria are failed, but an \"other_criteria\" explanation is provided that might justify an exception (e.g., medical hardship, protected populations, employment transition).\n4. **Provide Justification:** For every determination, I will provide a detailed explanation outlining how the decision was reached, referencing the specific parameters from the eligibility criteria and the applicant's data.\n5. **Output in JSON:** My final output will always be a JSON object containing the `determination` and `justification`.\n\nEssentially, I automate the initial screening process for personal loan applications according to established rules." } ], "role": "model" }, "timestamp": 1758552780.125623 }
The agent’s output must be assigned to a process variable so it can influence the progress of the Maestro process, for example to make a decision based on a boolean evaluation, or to use the answer from a classification task.
-
In Design mode, select the agent from the design canvas.
-
Select Properties.
-
Under Output, select Add new and add a variable of type String named agent_reponse.
-
For Value, select Vertex Hello World > response (object) > Content (object) > Content text (string).
Beyond establishing connectivity, you should test prompts both in the Vertex workspace as well as from Maestro. This ensures you achieve the desired output that can best be consumed by Maestro, assigned to variables, and passed on to other actors in the process.
We recommend that detailed prompts remain within the system prompts of the agent within Vertex. The user prompt which is provided by Maestro to the agent at runtime should be brief and to the point. Its role is primarily to indicate the relevant variables needed by the agent to perform a specific tasks and generate an expected consistent output.
"What is the quantity on inventory of Order ID " + vars.orderId_1 + "respond only with a JSON object with the quantity in the key Order_Quantity. No explanations, only JSON""What is the quantity on inventory of Order ID " + vars.orderId_1 + "respond only with a JSON object with the quantity in the key Order_Quantity. No explanations, only JSON"The agent will reply with:
{"Order_Quantity":"100"}{"Order_Quantity":"100"}JSON, it may
actually be of type string.