diff --git a/.vscode/settings.json b/.vscode/settings.json
index 211fcf494..318f18156 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -4,9 +4,4 @@
"MD025": {
"front_matter_title": ""
}
- },
- "cSpell.words": [
- "Quickstart",
- "walkthrough"
- ]
}
\ No newline at end of file
diff --git a/articles/.vscode/settings.json b/articles/.vscode/settings.json
new file mode 100644
index 000000000..ed9462b7e
--- /dev/null
+++ b/articles/.vscode/settings.json
@@ -0,0 +1,8 @@
+{
+ "markdownlint.config": {
+ "MD028": false,
+ "MD025": {
+ "front_matter_title": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/articles/TOC.yml b/articles/TOC.yml
index 198102f37..6e3262aee 100644
--- a/articles/TOC.yml
+++ b/articles/TOC.yml
@@ -402,6 +402,8 @@
href: ./desktop-flows/monitor-desktop-flow-runs.md
- name: Desktop flow queues
href: ./desktop-flows/monitor-desktop-flow-queues.md
+ - name: Data loss prevention (DLP) (preview)
+ href: ./desktop-flows/data-loss-prevention.md
- name: Power Automate console
href: ./desktop-flows/console.md
- name: Desktop flow designer
@@ -493,8 +495,10 @@
href: ./desktop-flows/how-to/get-position-size-window.md
- name: Automate applications using keyboard shortcuts
href: ./desktop-flows/how-to/automate-applications-keyboard-shortcuts.md
- - name: Access elements that depend on how the window appears on the screen
+ - name: Access elements that depend on how the window appears on the screen
href: ./desktop-flows/how-to/access-elements-depend-window.md
+# - name: Automate java applications
+# href: ./desktop-flows/java.md
- name: Automate web applications and web pages
items:
- name: Handle links that open new tabs
@@ -546,10 +550,16 @@
href: ./desktop-flows/actions-reference/conditionals.md
- name: Loops
href: ./desktop-flows/actions-reference/loops.md
- - name: Wait
- href: ./desktop-flows/actions-reference/wait.md
+ - name: Flow control
+ href: ./desktop-flows/actions-reference/flowcontrol.md
+ - name: Run flow
+ href: ./desktop-flows/actions-reference/runflow.md
- name: System
href: ./desktop-flows/actions-reference/system.md
+ - name: Workstation
+ href: ./desktop-flows/actions-reference/workstation.md
+ - name: Scripting
+ href: ./desktop-flows/actions-reference/scripting.md
- name: File
href: ./desktop-flows/actions-reference/file.md
- name: Folder
@@ -558,9 +568,9 @@
href: ./desktop-flows/actions-reference/compression.md
- name: UI automation
href: ./desktop-flows/actions-reference/uiautomation.md
- - name: Web
+ - name: HTTP
href: ./desktop-flows/actions-reference/web.md
- - name: Web automation
+ - name: Browser automation
href: ./desktop-flows/actions-reference/webautomation.md
- name: Excel
href: ./desktop-flows/actions-reference/excel.md
@@ -580,7 +590,7 @@
href: ./desktop-flows/actions-reference/clipboard.md
- name: Text
href: ./desktop-flows/actions-reference/text.md
- - name: Datetime
+ - name: Date time
href: ./desktop-flows/actions-reference/datetime.md
- name: PDF
href: ./desktop-flows/actions-reference/pdf.md
@@ -592,24 +602,26 @@
href: ./desktop-flows/actions-reference/ocr.md
- name: Cryptography
href: ./desktop-flows/actions-reference/cryptography.md
- - name: Services
+ - name: Windows services
href: ./desktop-flows/actions-reference/services.md
- name: XML
href: ./desktop-flows/actions-reference/xml.md
+ - name: FTP
+ href: ./desktop-flows/actions-reference/ftp.md
+ - name: CyberArk
+ href: ./desktop-flows/actions-reference/cyberark.md
- name: Active Directory
href: ./desktop-flows/actions-reference/activedirectory.md
- name: AWS
href: ./desktop-flows/actions-reference/aws.md
- name: Azure
href: ./desktop-flows/actions-reference/azure.md
- - name: Cognitive
- href: ./desktop-flows/actions-reference/cognitive.md
- - name: CyberArk
- href: ./desktop-flows/actions-reference/cyberark.md
- - name: Flow control
- href: ./desktop-flows/actions-reference/flowcontrol.md
- - name: FTP
- href: ./desktop-flows/actions-reference/ftp.md
+ - name: Google cognitive
+ href: ./desktop-flows/actions-reference/googlecognitive.md
+ - name: IBM cognitive
+ href: ./desktop-flows/actions-reference/ibmcognitive.md
+ - name: Microsoft cognitive
+ href: ./desktop-flows/actions-reference/microsoftcognitive.md
- name: Process migrator for Softomotive products (preview)
href: ./desktop-flows/softomotive-migrator.md
- name: Use RPA with Dynamics 365
diff --git a/articles/dataverse/bound-unbound.md b/articles/dataverse/bound-unbound.md
index b37fc7260..5bd079141 100644
--- a/articles/dataverse/bound-unbound.md
+++ b/articles/dataverse/bound-unbound.md
@@ -35,7 +35,7 @@ Actions represent operations that might have side effects in the database, such
There are two types of Dataverse actions that you can use in flows.
- [Bound actions](#bound-actions)
-- [Unbound actions](#unbound-actions
+- [Unbound actions](#unbound-actions)
## Bound actions
diff --git a/articles/desktop-flows/actions-reference.md b/articles/desktop-flows/actions-reference.md
index 01bdc535c..98af3d28e 100644
--- a/articles/desktop-flows/actions-reference.md
+++ b/articles/desktop-flows/actions-reference.md
@@ -25,12 +25,13 @@ Click on any of the action groups and the list of actions will appear along with
||||||
|-----|-----|-----|-----|-----|
-|[Variables](actions-reference/variables.md)|[Conditionals](actions-reference/conditionals.md)|[Loops](actions-reference/loops.md)|[Wait](actions-reference/wait.md)|[System](actions-reference/system.md)|
-|[File](actions-reference/file.md)|[Folder](actions-reference/folder.md)|[Compression](actions-reference/compression.md)|[UI automation](actions-reference/uiautomation.md)|[Web](actions-reference/web.md)|
-|[Web automation](actions-reference/webautomation.md)|[Excel](actions-reference/excel.md)|[Database](actions-reference/database.md)|[Email](actions-reference/email.md)|[Exchange](actions-reference/exchange.md)|
-|[Outlook](actions-reference/outlook.md)|[Message boxes](actions-reference/display.md)|[Mouse and keyboard](actions-reference/mouseandkeyboard.md)|[Clipboard](actions-reference/clipboard.md)|[Text](actions-reference/text.md)|
-|[Datetime](actions-reference/datetime.md)|[PDF](actions-reference/pdf.md)|[CMD session](actions-reference/cmd.md)|[Terminal emulation](actions-reference/terminalemulation.md)|[OCR](actions-reference/ocr.md)|
-|[Cryptography](actions-reference/cryptography.md)|[Services](actions-reference/services.md)|[XML](actions-reference/xml.md)|[Active Directory](actions-reference/activedirectory.md)|[AWS](actions-reference/aws.md)|
-|[Azure](actions-reference/azure.md)|[Cognitive](actions-reference/cognitive.md)|[CyberArk](actions-reference/cyberark.md)|[Flow control](actions-reference/flowcontrol.md)|[FTP](actions-reference/ftp.md)|
+|[Variables](actions-reference/variables.md)|[Conditionals](actions-reference/conditionals.md)|[Loops](actions-reference/loops.md)|[Flow control](actions-reference/flowcontrol.md)|[Run flow](actions-reference/runflow.md)|
+|[System](actions-reference/system.md)|[Workstation](actions-reference/workstation.md)|[Scripting](actions-reference/scripting.md)|[File](actions-reference/file.md)|[Folder](actions-reference/folder.md)|
+|[Compression](actions-reference/compression.md)|[UI automation](actions-reference/uiautomation.md)|[HTTP](actions-reference/web.md)|[Browser automation](actions-reference/webautomation.md)|[Excel](actions-reference/excel.md)|
+|[Database](actions-reference/database.md)|[Email](actions-reference/email.md)|[Exchange](actions-reference/exchange.md)|[Outlook](actions-reference/outlook.md)|[Message boxes](actions-reference/display.md)|
+|[Mouse and keyboard](actions-reference/mouseandkeyboard.md)|[Clipboard](actions-reference/clipboard.md)|[Text](actions-reference/text.md)|[Date time](actions-reference/datetime.md)|[PDF](actions-reference/pdf.md)|
+|[CMD session](actions-reference/cmd.md)|[Terminal emulation](actions-reference/terminalemulation.md)|[OCR](actions-reference/ocr.md)|[Cryptography](actions-reference/cryptography.md)|[Windows services](actions-reference/services.md)|
+|[XML](actions-reference/xml.md)|[FTP](actions-reference/ftp.md)|[CyberArk](actions-reference/cyberark.md)|[Active Directory](actions-reference/activedirectory.md)|[AWS](actions-reference/aws.md)|
+|[Azure](actions-reference/azure.md)|[Google Cognitive](actions-reference/googlecognitive.md)|[IBM Cognitive](actions-reference/ibmcognitive.md)|[Microsoft Cognitive](actions-reference/microsoftcognitive.md)|
[!INCLUDE[footer-include](../includes/footer-banner.md)]
diff --git a/articles/desktop-flows/actions-reference/cmd.md b/articles/desktop-flows/actions-reference/cmd.md
index a3d6a4c7d..fee8db937 100644
--- a/articles/desktop-flows/actions-reference/cmd.md
+++ b/articles/desktop-flows/actions-reference/cmd.md
@@ -125,7 +125,7 @@ Wait for a specific text on a previously opened CMD session
|Timeout|Yes|Numeric value|0|Specifies whether to wait indefinitely for the text to appear or to fail if the text doesn't show up within a set time period|
> [!NOTE]
-> Power Automate's regular expression engine is .NET. You can find more information in [Regular Expression Language - Quick Reference](https://docs.microsoft.com/dotnet/standard/base-types/regular-expression-language-quick-reference).
+> Power Automate's regular expression engine is .NET. You can find more information in [Regular Expression Language - Quick Reference](/dotnet/standard/base-types/regular-expression-language-quick-reference).
##### Variables Produced
- This action doesn't produce any variables
diff --git a/articles/desktop-flows/actions-reference/cognitive.md b/articles/desktop-flows/actions-reference/cognitive.md
index cb1f8a84c..b00ef4f05 100644
--- a/articles/desktop-flows/actions-reference/cognitive.md
+++ b/articles/desktop-flows/actions-reference/cognitive.md
@@ -1,706 +1,24 @@
----
-title: Cognitive | Microsoft Docs
-description: Cognitive Actions Reference
-author: mariosleon
-ms.service: power-automate
-ms.subservice: desktop-flow
-ms.topic: article
-ms.date: 09/03/2021
-ms.author: marleon
-ms.reviewer:
-search.app:
- - Flow
-search.audienceType:
- - flowmaker
- - enduser
----
-
-# Cognitive
-
-
-
-Perform cognitive operations using Google, Microsoft or IBM services
-
-| |
-|-----|
-|[Analyze sentiment](#analyzesentimentgoogle)|
-|[Analyze entities](#analyzeentitiesgoogle)|
-|[Analyze syntax](#analyzesyntaxgoogle)|
-|[Label detection](#labeldetectiongoogle)|
-|[Landmark detection](#landmarkdetectiongoogle)|
-|[Text Detection](#textdetectiongoogle)|
-|[Logo detection](#logodetectiongoogle)|
-|[Image properties detection](#imagepropertiesdetectiongoogle)|
-|[Safe search detection](#safesearchdetectiongoogle)|
-|[Convert document](#convertdocumentibm)|
-|[Translate](#translateibm)|
-|[Identify language](#identifylanguage)|
-|[Analyze tone](#analyzetoneibm)|
-|[Classify Image](#classifyimageibm)|
-|[Spell check](#spellcheck)|
-|[Analyze image](#analyzeimagemicrosoft)|
-|[Describe image](#describeimagemicrosoft)|
-|[OCR](#ocrmicrosoft)|
-|[Tag image](#tagimagemicrosoft)|
-|[Detect language](#detectlanguage)|
-|[Key phrases](#keyphrases)|
-|[Sentiment](#sentiment)|
-
-## Getting started with cognitive actions
-
-Cognitive services are machine learning algorithms that use artificial intelligence to perform complex operations, such as computer vision and visual recognition.
-
-Power Automate enables you to interact with various Microsoft, Google, and IBM cognitive services through the cognitive actions.
-
-All actions that use Microsoft services require a subscription key that validates your subscription for a service or group of services. The keys are available in the Azure portal for each resource that you've created.
-
-![Screnshot of the Spell check action.](media/cognitive/spell-check-action.png)
-
-IBM cognitive actions require an API key that can be created and managed through the IBM Cloud console. Additionally, the IBM cognitive actions require the release date of the used API and the service endpoint location.
-
-![Screenshot of the Translate action.](media/cognitive/translate-action.png)
-
-Like the other cognitive actions, Google cognitive actions require an API key that authorizes you to use the respective services. You can manage your API keys in the **APIs & services** section of the Cloud Console.
-
-![Screenshot of the Analyze entities action.](media/cognitive/analyze-entities-action.png)
-
-## Cognitive actions
-
-## Google
-Google's cognitive actions
-## Natural language
-Reveal the structure and meaning of text
-### Analyze sentiment
-Invokes the Google Cloud Natural Language service named 'Analyze Sentiment'
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|API key|No|Text value||The Google Cloud API key to be used for this API call|
-|Document type|N/A|Plain text, HTML|Plain text|The type of document to transmit|
-|Provide document|N/A|From file, From GCS|From file|Specify whether the document will be provided by a full path or a Google Cloud Storage URI|
-|File path|No|File||The full path (folder plus filename) of the document to transmit|
-|GCS Content URI|No|Text value||The URI of the image residing on Google Cloud Storage|
-|Language|Yes|Text value||The language of the text|
-|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|JSONResponse|Custom object|The API response results|
-|StatusCode|Numeric value|The status code returned|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
-|Request timeout expired|Indicates that the timeout expired while performing the request|
-
-### Analyze entities
-Invokes the Google Cloud Natural Language service named 'Analyze Entities'
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|API key|No|Text value||The Google Cloud API key to be used for this API call|
-|Document type|N/A|Plain text, HTML|Plain text|The type of the document to transmit|
-|Provide file|N/A|From file, From GCS|From file|Specify whether the document will be provided by a full path or a Google Cloud Storage URI|
-|File path|No|File||The full path (folder plus filename) of the document to transmit|
-|GCS URL|No|Text value||The URI of the document residing on Google Cloud Storage|
-|Language|Yes|Text value||The language of the text|
-|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|JSONResponse|Custom object|The API response results|
-|StatusCode|Numeric value|The status code returned|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
-|Request timeout expired|Indicates that the timeout expired while performing the request|
-
-### Analyze syntax
-Invokes the Google Cloud Natural Language service named 'Analyze Syntax'
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|API key|No|Text value||The Google Cloud API key to be used for this API call|
-|Document type|N/A|Plain text, HTML|Plain text|The type of document to transmit|
-|Provide document|N/A|From file, From GCS|From file|Specify whether the document will be provided by a full path or a Google Cloud Storage URI|
-|File path|No|File||The full path (folder plus filename) of the document to transmit|
-|GCS Content URI|No|Text value||The URI of the image residing on Google Cloud Storage|
-|Language|Yes|Text value||The language of the text|
-|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|JSONResponse|Custom object|The API response results|
-|StatusCode|Numeric value|The status code returned|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
-|Request timeout expired|Indicates that the timeout expired while performing the request|
-
-## Vision
-Assign labels to images and classify them into predefined categories. Detect objects, faces, and read printed and handwritten text
-### Label detection
-Invokes the Google Cloud Vision service named 'Label Detection'
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|API key|No|Text value||The Google Cloud API key to be used for this API call|
-|Provide image|N/A|From file, From GCS|From file|Specify whether the image will be provided by a full path or a Google Cloud Storage URI|
-|Image file|No|File||The full path (folder plus filename) of the image file to transmit|
-|GCS Image URI|No|Text value||The URI of the image residing on Google Cloud Storage|
-|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|JSONResponse|Custom object|The API response results|
-|StatusCode|Numeric value|The status code returned|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
-|Request timeout expired|Indicates that the timeout expired while performing the request|
-
-### Landmark detection
-Invokes the Google Cloud Vision service named 'Landmark Detection'
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|API key|No|Text value||The Google Cloud API key to be used for this API call|
-|Provide image|N/A|From file, From GCS|From file|Specify whether the image will be provided by a full path or a Google Cloud Storage URI|
-|Image file path|No|File||The full path (folder plus filename) of the image file to transmit|
-|GCS Image URI|No|Text value||The URI of the image residing on Google Cloud Storage|
-|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|JSONResponse|Custom object|The API response results|
-|StatusCode|Numeric value|The status code returned|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
-|Request timeout expired|Indicates that the timeout expired while performing the request|
-
-### Text Detection
-Invokes the Google Cloud Vision service named 'Text Detection'
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|API key|No|Text value||The Google Cloud API key to be used for this API call|
-|Provide image|N/A|From file, From GCS|From file|Specify whether the image will be provided by a full path or a Google Cloud Storage URI|
-|Image file|No|File||The full path (folder plus filename) of the image file to transmit|
-|GCS Image URI|No|Text value||The URI of the image residing on Google Cloud Storage|
-|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|JSONResponse|Custom object|The API response results|
-|StatusCode|Numeric value|The status code returned|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
-|Request timeout expired|Indicates that the timeout expired while performing the request|
-
-### Logo detection
-Invokes the Google Cloud Vision service named 'Logo Detection'
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|API key|No|Text value||The Google Cloud API key to be used for this API call|
-|Provide image|N/A|From file, From GCS|From file|Specify whether the image will be provided by a full path or a Google Cloud Storage URI|
-|Image file|No|File||The full path (folder plus filename) of the image file to transmit|
-|GCS Image URI|No|Text value||The URI of the image residing on Google Cloud Storage|
-|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|JSONResponse|Custom object|The API response results|
-|StatusCode|Numeric value|The status code returned|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
-|Request timeout expired|Indicates that the timeout expired while performing the request|
-
-### Image properties detection
-Invokes the Google Cloud Vision service named 'Image Properties Detection'
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|API key|No|Text value||The Google Cloud API key to be used for this API call|
-|Provide image|N/A|From file, From GCS|From file|Specify whether the image will be provided by a full path or a Google Cloud Storage URI|
-|Image file|No|File||The full path (folder plus filename) of the image file to transmit|
-|GCS Image URI|No|Text value||The URI of the image residing on Google Cloud Storage|
-|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|JSONResponse|Custom object|The API response results|
-|StatusCode|Numeric value|The status code returned|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
-|Request timeout expired|Indicates that the timeout expired while performing the request|
-
-### Safe search detection
-Invokes the Google Cloud Vision service named 'Safe Search Detection'
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|API key|No|Text value||The Google Cloud API key to be used for this API call|
-|Provide image|N/A|From file, From GCS|From file|Specify whether the image will be provided by a full path or a Google Cloud Storage URI|
-|Image file|No|File||The full path (folder plus filename) of the image file to transmit|
-|GCS Image URI|No|Text value||The URI of the image residing on Google Cloud Storage|
-|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|JSONResponse|Custom object|The API response results|
-|StatusCode|Numeric value|The status code returned|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
-|Request timeout expired|Indicates that the timeout expired while performing the request|
-
-## IBM
-IBM's cognitive actions
-## Document conversion
-Translate non-structured documents like fax, email, pdf, etc. into an EDI or other structured formats
-### Convert document
-Invokes the IBM service named 'Convert Document'
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Username|No|Text value||The username to be used for this call|
-|Password|No|Encrypted value||The password to use for this call|
-|Version date|No|Text value||The release date of the API to use|
-|File path|No|File||The path to the file to analyze|
-|Mime type|N/A|text/html, text/xhtml+xml, application/pdf, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document|text/html|The MIME type of the file|
-|Conversion target|N/A|Answer units, Normalized HTML, Normalized text|Answer units|The output format of the conversion|
-|Answer units|Yes|Text value||The heading levels as a comma-separated string|
-|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|JSONResponse|Custom object|The results of the API call|
-|StatusCode|Numeric value|The status code of the API call|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Request timeout expired|Indicates that the timeout expired while performing the request|
-|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
-
-## Language translator
-Translate documents, apps, and webpages
-### Translate
-Invokes the IBM service named 'Translate'
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|API key|No|Text value||The API key to use for this call|
-|Version date|No|Text value||The release date of the API to use|
-|Service endpoint location|N/A|US South, US East, Europe, Australia, Japan, UK, Korea|US East|The account's service location. Can be seen through IBM "Manage" in the resources section|
-|Instance ID|No|Text value||The Instance ID of the service.|
-|Translate mode|N/A|Model ID, Source and target|Model ID|Specify the mode to be used for this call|
-|Model ID|No|Text value||The unique model_id of the translation model that will be used to translate the text|
-|Source|No|Text value||The source language of the text|
-|Target|No|Text value||The translation target language in 2 or 5 letter language code|
-|Text|No|List of Text values||The text to send or list of words to be separately translated|
-|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|JSONResponse|Custom object|The results of the API call|
-|StatusCode|Numeric value|The status code returned|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Request timeout expired|Indicates that the timeout expired while performing the request|
-|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
-
-### Identify language
-Invokes the IBM service named 'Identify Language'
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|API key|No|Text value||The API key to use for this call|
-|Version date|No|Text value||The release date of the API to use|
-|Service endpoint location|N/A|US South, US East, Europe, Australia, Japan, UK, Korea|US East|The account's service location. Can be seen through IBM "Manage" in the resources section|
-|Instance ID|No|Text value||The Instance ID of the service.|
-|Text|No|Text value||The text to analyze|
-|Content type|Yes|Text value|text/plain|The format of the requested values|
-|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|JSONResponse|Custom object|The results of the API call|
-|StatusCode|Numeric value|The status code of the API call|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Request timeout expired|Indicates that the timeout expired while performing the request|
-|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
-
-## Tone analyzer
-Detect emotional and language tones in written text
-### Analyze tone
-Invokes the IBM service named 'Analyze Tone'
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|API key|No|Text value||The API key to use for this call|
-|Version date|No|Text value||The release date of the API to use|
-|Service endpoint location|N/A|US South, US East, Europe, Australia, Japan, UK, Korea|US East|The account's service location. Can be seen through IBM "Manage" in the resources section|
-|Instance ID|No|Text value||The Instance ID of the service.|
-|Provide text|N/A|From text, From file|From text|Specify how the text to be analyzed will be provided|
-|Text|No|Text value||The text to analyze|
-|File path|No|File||The path to the file to analyze|
-|Content type|N/A|text/plain, text/html, application/json|text/plain|The content type of the text that will be sent|
-|Tones|Yes|Text value||The tone with which the results will be filtered (optional)|
-|Sentences|Yes|Text value||Specify whether to remove the sentence analysis|
-|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|JSONResponse|Custom object|The results of the API call|
-|StatusCode|Numeric value|The status code of the API call|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Request timeout expired|Indicates that the timeout expired while performing the request|
-|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
-
-## Visual recognition
-Find meaning in visual content. Analyze images for scenes, objects, and other content
-### Classify Image
-Invokes the IBM service named 'Classify Image'
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|API key|No|Text value||The API key to use for this call|
-|Version date|No|Text value||The release date of the API to use|
-|Service endpoint location|N/A|US South, Europe, Korea|US South|The account's service location. Can be seen through IBM "Manage" in the resources section|
-|Instance ID|No|Text value||The Instance ID of the service.|
-|Provide image|N/A|From file, From GCS|From file|Specify how the image will be provided|
-|Image file path|No|File||The path to the image to be analyzed|
-|Image URL|No|Text value||The URL of the image to be analyzed|
-|Owners|Yes|Text value|me|The classifiers to be used as a comma separated list|
-|Classifier IDs|Yes|Text value|default|The classifier Ids to be used as a comma separated list|
-|Threshold|Yes|Text value||The minimum score a class must have to be displayed in the response as a floating value|
-|Language|Yes|Text value||The language of the output|
-|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|JSONResponse|Custom object|The results of the API call|
-|StatusCode|Numeric value|The status code of the API call|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Request timeout expired|Indicates that the timeout expired while performing the request|
-|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
-
-## Microsoft
-Microsoft's cognitive actions
-## Bing spell check
-Correct spelling errors, recognize the difference among names, brand names, and slang, as well as understand homophones
-### Spell check
-Invokes the Microsoft Cognitive service named 'Bing Spell Check'
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Subscription key|No|Text value||The subscription key to use for this API call|
-|Text|No|List of Text values||The text or the list of texts to send|
-|Mode|Yes|Text value||Specify the spell-check mode|
-|Mkt|Yes|Text value||For proof mode, the only supported language codes are: en-us, es-es, pt-br. For spell mode, all language codes are supported|
-|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|JSONResponse|Custom object|The API response results|
-|StatusCode|Numeric value|The status code returned|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Request timeout expired|Indicates that the timeout expired while performing the request|
-|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
-
-## Computer vision
-Analyze images and extract data
-### Analyze image
-Invokes the Microsoft Cognitive service named 'Analyze Image'
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Server location|N/A|West US, West US 2, East US, East US 2, West Central US, South Central US, West Europe, North Europe, Southeast Asia, East Asia, Australia East, Brazil South, Canada Central, Central India, UK South, Japan East|West US|The server location to be use for this API call|
-|Subscription key|No|Text value||The subscription key to use for this API call|
-|Provide image|N/A|From file, From GCS|From file|Specify whether the image will be provided by a full path or a URL address|
-|Image file|No|File||The full path (folder plus filename) of the image file to transmit|
-|Image URL|No|Text value||The URL address of an image|
-|Visual features|Yes|Text value||A text value indicating what visual feature types to return. Multiple values should be comma-separated. For example: categories, tags, description|
-|Details|Yes|Text value||A text value indicating which domain-specific details to return. Multiple values should be comma-separated|
-|Language|Yes|Text value||A text value indicating which language to return. The service will return recognition results in the specified language|
-|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|JSONResponse|Custom object|The API response results|
-|StatusCode|Numeric value|Τhe status code returned|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Request timeout expired|Indicates that the timeout expired while performing the request|
-|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
-
-### Describe image
-Invokes the Microsoft Cognitive service named 'Describe Image'
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Server location|N/A|West US, West US 2, East US, East US 2, West Central US, South Central US, West Europe, North Europe, Southeast Asia, East Asia, Australia East, Brazil South, Canada Central, Central India, UK South, Japan East|West US|The server location to be use for this API call|
-|Subscription key|No|Text value||The subscription key to use for this API call|
-|Provide image|N/A|From file, From GCS|From file|Specify whether the image will be provided by a full path or a URL address|
-|Image file|No|File||The full path (folder plus filename) of the image file to transmit|
-|Image URL|No|Text value||The URL address of an image|
-|Max candidates|Yes|Text value||The maximum number of candidate descriptions to be returned. The default is 1|
-|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|JSONResponse|Custom object|The API response results|
-|StatusCode|Numeric value|The status code returned|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Request timeout expired|Indicates that the timeout expired while performing the request|
-|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
-
-### OCR
-Invokes the Microsoft Cognitive service named 'OCR'
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Server location|N/A|West US, West US 2, East US, East US 2, West Central US, South Central US, West Europe, North Europe, Southeast Asia, East Asia, Australia East, Brazil South, Canada Central, Central India, UK South, Japan East|West US|The server location to be use for this API call|
-|Subscription key|No|Text value||The subscription key to use for this API call|
-|Provide image|N/A|From file, From GCS|From file|Specify whether the image will be provided by a full path or a URL address|
-|Image file|No|File||The full path (folder plus filename) of the image file to transmit|
-|Image URL|No|Text value||The URL address of an image|
-|Language|Yes|Text value||The BCP-47 language code of the text to detect in the image|
-|Detect orientation|Yes|Text value||Specify whether to detect the text orientation in the image|
-|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|JSONResponse|Custom object|The API response results|
-|StatusCode|Numeric value|The status code returned|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Request timeout expired|Indicates that the timeout expired while performing the request|
-|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
-
-### Tag image
-Invokes the Microsoft Cognitive service named 'Tag Image'
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Server location|N/A|West US, West US 2, East US, East US 2, West Central US, South Central US, West Europe, North Europe, Southeast Asia, East Asia, Australia East, Brazil South, Canada Central, Central India, UK South, Japan East|West US|The server location to be use for this API call|
-|Subscription key|No|Text value||The subscription key to use for this API call|
-|Provide image|N/A|From file, From GCS|From file|Specify whether the image will be provided by a full path or a URL address|
-|Image file|No|File||The full path (folder plus filename) of the image file to transmit|
-|Image URL|No|Text value||The URL address of an image|
-|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|JSONResponse|Custom object|The API response results|
-|StatusCode|Numeric value|The status code returned|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Request timeout expired|Indicates that the timeout expired while performing the request|
-|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
-
-## Text Analytics
-Detect sentiment, key phrases, named entities and language from text
-### Detect language
-Invokes the Microsoft Cognitive service named 'Text Analytics - Detect Language'
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Server location|N/A|West US, West US 2, East US, East US 2, West Central US, South Central US, West Europe, North Europe, Southeast Asia, East Asia, Australia East, Brazil South, Canada Central, Central India, UK South, Japan East|West US|The server location to be use for this API call|
-|Subscription key|No|Text value||The subscription key to use for this API call|
-|Text|No|Text value||The text to analyze|
-|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|JSONResponse|Custom object|The API response results|
-|StatusCode|Numeric value|The status code returned|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Request timeout expired|Indicates that the timeout expired while performing the request|
-|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
-
-### Key phrases
-Invokes the Microsoft Cognitive service named 'Text Analytics - Key Phrases'
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Server location|N/A|West US, West US 2, East US, East US 2, West Central US, South Central US, West Europe, North Europe, Southeast Asia, East Asia, Australia East, Brazil South, Canada Central, Central India, UK South, Japan East|West US|The server location to be use for this API call|
-|Subscription key|No|Text value||The subscription key to use for this API call|
-|Text|No|List of Text values||The text or the list of texts to analyze|
-|Language|Yes|Text value||The language of the text(s)|
-|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|JSONResponse|Custom object|The API response results|
-|StatusCode|Numeric value|The status code returned|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Request timeout expired|Indicates that the timeout expired while performing the request|
-|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
-
-### Sentiment
-Invokes the Microsoft Cognitive service named 'Text Analytics - Sentiment'
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Server location|N/A|West US, West US 2, East US, East US 2, West Central US, South Central US, West Europe, North Europe, Southeast Asia, East Asia, Australia East, Brazil South, Canada Central, Central India, UK South, Japan East|West US|The server location to be use for this API call|
-|Subscription key|No|Text value||The subscription key to use for this API call|
-|Text|No|List of Text values||Text|
-|Language|Yes|Text value||The 2 letter ISO 639-1 representation of the language of the text(s)|
-|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|JSONResponse|Custom object|The API response results|
-|StatusCode|Numeric value|The status code returned|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Request timeout expired|Indicates that the timeout expired while performing the request|
-|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
-
-
-
-
-[!INCLUDE[footer-include](../../includes/footer-banner.md)]
\ No newline at end of file
+---
+title: Cognitive | Microsoft Docs
+description: Cognitive Actions Reference
+author: mariosleon
+ms.service: power-automate
+ms.subservice: desktop-flow
+ms.topic: article
+ms.date: 10/27/2021
+ms.author: marleon
+ms.reviewer:
+search.app:
+ - Flow
+search.audienceType:
+ - flowmaker
+ - enduser
+---
+
+# Cognitive actions
+
+The cognitive actions have been segregated into three new categories.
+
+- [Google cognitive](googlecognitive.md)
+- [IBM cognitive](ibmcognitive.md)
+- [Microsoft cognitive](microsoftcognitive.md)
\ No newline at end of file
diff --git a/articles/desktop-flows/actions-reference/conditionals.md b/articles/desktop-flows/actions-reference/conditionals.md
index 87f6bf51d..e96940290 100644
--- a/articles/desktop-flows/actions-reference/conditionals.md
+++ b/articles/desktop-flows/actions-reference/conditionals.md
@@ -20,15 +20,6 @@ search.audienceType:
| |
|-----|
-|[If file exists](#iffileaction)|
-|[If folder exists](#iffolderexistsaction)|
-|[If process](#ifprocessaction)|
-|[If service](#ifserviceaction)|
-|[If text on screen (OCR)](#iftextonscreenaction)|
-|[If web page contains](#ifwebpagecontainsaction)|
-|[If window contains](#ifwindowcontainsaction)|
-|[If image](#ifimageaction)|
-|[If window](#ifwindowaction)|
|[Case](#case)|
|[Default case](#casedefault)|
|[Else](#else)|
@@ -49,202 +40,6 @@ Useful applications and features:
You can find more information on how to use the conditional actions [here](../use-conditionals.md)
## Conditionals actions
-
-### If file exists
-Marks the beginning of a conditional block of actions depending on whether a file exists or not
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|If file|N/A|Exists, Doesn't exist|Exists|The state of the file to check|
-|File path|No|File||The full path to look for the file|
-
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-- This action doesn't include any exceptions
-### If folder exists
-Mark the beginning of a conditional block of actions depending on whether a folder exists or not
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|If folder|N/A|Exists, Doesn't exist|Exists|Choose the state of the folder to check|
-|Folder path|No|Folder||Enter or choose the full path of the folder, or a variable containing the folder, to check its state|
-
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-- This action doesn't include any exceptions
-### If process
-Marks the beginning of a conditional block of actions depending on whether a process is running or not
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|If process|N/A|Is running, Isn't running|Is running|State of the process to check|
-|Process name|No|Text value||The name of the process to check|
-
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Can't retrieve list of processes|Indicates a problem retrieving the list of processes|
-
-### If service
-Marks the beginning of a conditional block of actions depending on whether a service is running, paused, stopped or installed on the computer
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|If service|N/A|Is stopped, Is installed, Isn't installed, Is running, Is paused|Is running|The state of the service to check|
-|Service name|No|Text value||The name of the service to check|
-
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Service not found|Indicates that the service can't be found|
-|Can't retrieve status for service|Indicates that there is a problem retrieving the status of the service|
-
-### If text on screen (OCR)
-Marks the beginning of a conditional block of actions depending on whether a given text appears on the screen or not, using OCR
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|If text|N/A|Exists, Doesn't exist|Exists|Specifies whether to check if the text exists or not on the given source to analyze|
-|OCR engine type|No|OCR engine variable, Tesseract engine|OCR engine variable|The OCR engine type to use. Select a peconfigured OCR engine or set up a new one.|
-|OCR engine variable|No|OCREngineObject||The engine to use for the OCR operation|
-|Text to find|No|Text value||The text to search for in the specified source|
-|Is regular expression|N/A|Boolean value|False|Specifies whether to use a regular expression to find the specified text|
-|Search for text on|N/A|Entire screen, Foreground window|Entire screen|Specifies whether to search for the specified text on the entine visible screen or just the foreground window|
-|Search mode|N/A|Whole of specified source, Specific subregion only, Subregion relative to image|Whole of specified source|Specifies whether to scan the entire screen (or window) or a narrowed down subregion of it|
-|Image(s)|No|List of Image||The image(s) specifying the subregion (relative to the top left corner of the image) to scan for the supplied text|
-|X1|Yes|Numeric value||The start X coordinate of the subregion to scan for the supplied text|
-|Tolerance|Yes|Numeric value|10|Specifies how much the image(s) searched for can differ from the originally chosen image|
-|Y1|Yes|Numeric value||The start Y coordinate of the subregion to scan for the supplied text|
-|X1|Yes|Numeric value||The start X coordinate of the subregion relative to the specified image to scan for the supplied text|
-|X2|Yes|Numeric value||The end X coordinate of the subregion to scan for the supplied text|
-|Y1|Yes|Numeric value||The start Y coordinate of the subregion relative to the specified image to scan for the supplied text|
-|Y2|Yes|Numeric value||The end Y coordinate of the subregion to scan for the supplied text|
-|X2|Yes|Numeric value||The end X coordinate of the subregion relative to the specified image to scan for the supplied text|
-|Y2|Yes|Numeric value||The end Y coordinate of the subregion relative to the specified image to scan for the supplied text|
-
-> [!NOTE]
-> Power Automate's regular expression engine is .NET. You can find more information in [Regular Expression Language - Quick Reference](https://docs.microsoft.com/dotnet/standard/base-types/regular-expression-language-quick-reference).
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|LocationOfTextFoundX|Numeric value|The X coordinate of the point where the text appears on the screen. If the search is performed in the foreground window, the coordinate returned is relative to the top left corner of the window|
-|LocationOfTextFoundY|Numeric value|The X coordinate of the point where the text appears on the screen. If the search is performed in the foreground window, the coordinate returned is relative to the top left corner of the window|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Can't check if text exists in non interactive mode|Indicates that it isn't possible to check for the text on the screen when in non-interactive mode|
-|Invalid subregion coordinates|Indicates that the specified subregion coordinates are invalid|
-|Failed to analyze text with OCR|Indicates an error occured while trying to analyze the text using OCR|
-|OCR engine not alive|Indicates that the OCR engine isn't alive|
-
-### If web page contains
-Mark the beginning of a conditional block of actions, depending on whether a specific piece of text or element exists in a web page
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Web browser instance|No|Web browser instance||Enter or choose the variable that contains the web browser instance to work with|
-|Check if web page|N/A|Contains element, Doesn't contain element, Contains text, Doesn't contain text|Contains element|Check whether a specific text or web page element exists in a web page|
-|UI element|No|WebControl||Select the UI element on web page to check for|
-|Text|No|Text value||Enter the text on web page to check for|
-
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Failed to communicate with the browser|Indicates that an error with the browser occured|
-
-### If window contains
-Marks the beginning of a conditional block of actions depending on whether a specific piece of text or UI element exists in a window
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Check if window|N/A|Contains UI element, Doesn't contain UI element, Contains text, Doesn't contain text|Contains UI element|Check whether a specific text or UI element exists in a window|
-|Check UI element state|N/A|Boolean value|False|Check whether a specific UI element is enabled or disabled|
-|Text|No|Text value||The text to check for|
-|UI element|No|UIControl||The UI element to check for|
-|Window|No|UIControl||The window to check if the text exists on|
-|State|N/A|Enabled, Disabled|Enabled|The UI element state to check for|
-
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-- This action doesn't include any exceptions
-### If image
-This action marks the beginning of a conditional block of actions depending on whether a selected image is found on the screen or not
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|If image|N/A|exists, doesn't exist|exists|Whether to check for the existence or absence of the selected image|
-|Image to check|No|List of Image||The image/s that the action will check if it/they exist|
-|Search for image on|N/A|Entire screen, Foreground window only|Entire screen|Whether to look for the specified image in the foremost window only or the entire visible screen. Neither choice will find the image if it isn't clearly visible on the screen|
-|Search Mode|N/A|Search whole screen or foreground window, Search on specified subregion of screen or foreground window|Search whole screen or foreground window|Whether to scan the entire screen (or window) to find the supplied text or only a narrowed down subregion of it|
-|Find all images in the list|N/A|Boolean value|False|Check whether all images on the list exist or don't exist|
-|X1|Yes|Numeric value||The start X coordinate of the subregion to scan for the supplied text|
-|X2|Yes|Numeric value||The end X coordinate of the subregion to scan for the supplied text|
-|Y1|Yes|Numeric value||The start Y coordinate of the subregion to scan for the supplied text|
-|Y2|Yes|Numeric value||The end Y coordinate of the subregion to scan for the supplied text|
-|Tolerance|Yes|Numeric value|10|Specify how much the image(s) searched for can differ from the originally chosen image|
-
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Can't check image in non interactive mode|Indicates that an image can't be identified in non-interactive mode|
-|Invalid subregion coordinates|Indicates that the coordinates of the given subregion were invalid|
-
-### If window
-This action marks the beginning of a conditional block of actions depending on whether a window is open or not or whether a window is the focused (foreground) window
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Get window|N/A|By window UI element, By window instance/handle, By title and/or class|By window UI element|Specify whether to look for the Window using a UI element or a combination of window title/class|
-|Window title|Yes|Text value||The window title. Wildcards can be used, like '?' or '*'.|
-|Window|No|UIControl||The window UI element|
-|Window instance|No|Numeric value||The instance or handle of the window to check|
-|Window class|Yes|Text value||If there are two windows with the same title, window class may help differentiate between them. In this case, enter the class of the window to be used.|
-|Check if window|N/A|Is open, Isn't open, Is focused, Isn't focused|Is open|The state of the window to be checked|
-
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-- This action doesn't include any exceptions
### Case
An expression that, if met, a block of actions associated with that particular case runs
diff --git a/articles/desktop-flows/actions-reference/database.md b/articles/desktop-flows/actions-reference/database.md
index 924878950..fb7527a3a 100644
--- a/articles/desktop-flows/actions-reference/database.md
+++ b/articles/desktop-flows/actions-reference/database.md
@@ -27,7 +27,7 @@ Connect to databases and execute SQL statements
## Getting started with database actions
-To connect to a database, use the **Open SQL Connection** action. The Connection String field specifies all information that is necessary to connect to a database, such as the driver, the database, server names, and the username and password.
+To connect to a database, use the **Open SQL connection** action. The **Connection string** field specifies all information that is necessary to connect to a database, such as the driver, the database, server names, and the username and password.
Connect to an Excel Database:
diff --git a/articles/desktop-flows/actions-reference/excel.md b/articles/desktop-flows/actions-reference/excel.md
index a9adf1ee5..235829544 100644
--- a/articles/desktop-flows/actions-reference/excel.md
+++ b/articles/desktop-flows/actions-reference/excel.md
@@ -547,7 +547,7 @@ Saves a previously launched Excel instance
|-----|-----|-----|-----|-----|
|Excel instance|No|Excel instance||The Excel instance to save. This variable must have been previously specified in a Launch Excel action|
|Save mode|N/A|Save document, Save document as|Save document|How to save the document of this instance|
-|Document format|N/A|Default (From Extension), Excel Workbook (.xlsx), Excel Workbook Macro Enabled (.xlsm), Excel 97-2003 Workbook (.xls), Web Page (.htm, .html), Excel Template (.xltx), Excel Template Macro Enabled (.xltm), Excel 97-2003 Template (.xlt), Text (.txt), Unicode Text (.txt), Text Macintosh (.txt), Text DOS (.txt), XML Spreadsheet (.xml), Excel 95 (.xls), CSV (.csv), DIF (.dif), SYLK (.slk), Excel Add-In (.xlam), Excel 97-2003 Add-In (.xla), Strict Open XML Workbook (.xlsx), OpenDocument Spreadsheet (.ods)|Default (From Extension)|The format to save the document as|
+|Document format|N/A|Default (From Extension), Excel Workbook (.xlsx), Excel Workbook Macro Enabled (.xlsm), Excel 97-2003 Workbook (.xls), Web Page (.htm, .html), Excel Template (.xltx), Excel Template Macro Enabled (.xltm), Excel 97-2003 Template (.xlt), Text (.txt), Unicode Text (.txt), Text Macintosh (.txt), Text DOS (.txt), XML Spreadsheet (.xml), Excel 95 (.xls), CSV (.csv), DIF (.dif), SYLK (.slk), Excel Add-In (.xlam), Excel 97-2003 Add-In (.xla), Strict Open XML Workbook (.xlsx), OpenDocument Spreadsheet (.ods), XML Data (.xml)|Default (From Extension)|The format to save the document as|
|Document path|No|File||The full path to save the document as|
@@ -588,7 +588,7 @@ Closes an Excel instance
|-----|-----|-----|-----|-----|
|Excel instance|No|Excel instance||The Excel instance to close. This variable must have been previously specified in a Launch Excel action|
|Before closing Excel|N/A|Do not save document, Save document, Save document as|Do not save document|Whether and how to save the document of this instance before closing that instance|
-|Document format|N/A|Default (From Extension), Excel Workbook (.xlsx), Excel Workbook Macro Enabled (.xlsm), Excel 97-2003 Workbook (.xls), Web Page (.htm, .html), Excel Template (.xltx), Excel Template Macro Enabled (.xltm), Excel 97-2003 Template (.xlt), Text (.txt), Unicode Text (.txt), Text Macintosh (.txt), Text DOS (.txt), XML Spreadsheet (.xml), Excel 95 (.xls), CSV (.csv), DIF (.dif), SYLK (.slk), Excel Add-In (.xlam), Excel 97-2003 Add-In (.xla), Strict Open XML Workbook (.xlsx), OpenDocument Spreadsheet (.ods)|Default (From Extension)|The format of the document|
+|Document format|N/A|Default (From Extension), Excel Workbook (.xlsx), Excel Workbook Macro Enabled (.xlsm), Excel 97-2003 Workbook (.xls), Web Page (.htm, .html), Excel Template (.xltx), Excel Template Macro Enabled (.xltm), Excel 97-2003 Template (.xlt), Text (.txt), Unicode Text (.txt), Text Macintosh (.txt), Text DOS (.txt), XML Spreadsheet (.xml), Excel 95 (.xls), CSV (.csv), DIF (.dif), SYLK (.slk), Excel Add-In (.xlam), Excel 97-2003 Add-In (.xla), Strict Open XML Workbook (.xlsx), OpenDocument Spreadsheet (.ods), XML Data (.xml)|Default (From Extension)|The format of the document|
|Document path|No|File||The full path of the document|
diff --git a/articles/desktop-flows/actions-reference/file.md b/articles/desktop-flows/actions-reference/file.md
index 10ea37e4a..44a5a19b6 100644
--- a/articles/desktop-flows/actions-reference/file.md
+++ b/articles/desktop-flows/actions-reference/file.md
@@ -22,6 +22,8 @@ Manage and manipulate files
| |
|-----|
+|[If file exists](#iffileaction)|
+|[Wait for file](#waitforfileaction)|
|[Copy file(s)](#copy)|
|[Move file(s)](#move)|
|[Delete file(s)](#delete)|
@@ -56,6 +58,41 @@ The **Write text to file** action adds text to an existing .txt file or creates
## File actions
+
+### If file exists
+Marks the beginning of a conditional block of actions depending on whether a file exists or not
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|If file|N/A|Exists, Doesn't exist|Exists|The state of the file to check|
+|File path|No|File||The full path to look for the file|
+
+
+##### Variables Produced
+- This action doesn't produce any variables
+
+##### Exceptions
+- This action doesn't include any exceptions
+
+
+### Wait for file
+Suspend the execution of the automation until a file is created or deleted
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Wait for file to be|N/A|Created, Deleted|Created|Specifies whether to pause the flow on the creation or deletion of a certain file|
+|File path|No|File||The full path to look for the file|
+
+
+##### Variables Produced
+- This action doesn't produce any variables
+
+##### Exceptions
+- This action doesn't include any exceptions
+
+
### Copy file(s)
Copy one or more files into a destination folder
diff --git a/articles/desktop-flows/actions-reference/flowcontrol.md b/articles/desktop-flows/actions-reference/flowcontrol.md
index 30ac84c31..1e024a284 100644
--- a/articles/desktop-flows/actions-reference/flowcontrol.md
+++ b/articles/desktop-flows/actions-reference/flowcontrol.md
@@ -30,9 +30,9 @@ Control the automation flow
|[Go to](#goto)|
|[Label](#label)|
|[On block error](#block)|
-|[Run desktop flow](#runflow)|
|[Run subflow](#callfunction)|
|[Stop flow](#exit)|
+|[Wait](#wait)|
## Getting started with flow control
@@ -144,29 +144,6 @@ Marks the beginning of a block to handle actions errors
##### Exceptions
- This action doesn't include any exceptions
-### Run desktop flow
-Runs a desktop flow which can receive input variables and may produce output variables. The parent flow run will be paused until the called desktop flow completes.
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Destop flow|No|Desktop flow||Select the desktop flow to run from within this flow|
-
-
-##### Variables Produced
-- This action produces the output variables of the selected flow
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Run desktop flow failed|Indicates a problem while running the desktop flow|
-
->[!NOTE]
-> * A flow's dependencies can't be more than 30 other flows.
-> * Two flows can't directly or indirectly call one-another as this causes a recursion.
-> * In org tenants, the flows must be under the same environment.
-
-
### Run subflow
Run a subflow specifying any required arguments
@@ -196,6 +173,19 @@ Terminates the flow
##### Exceptions
- This action doesn't include any exceptions
+### Wait
+Suspends the execution of the flow for a specified amount of seconds
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Duration|No|Numeric value||Time duration in seconds|
+
+##### Variables Produced
+- This action doesn't produce any variables
+
+##### Exceptions
+- This action doesn't include any exceptions
[!INCLUDE[footer-include](../../includes/footer-banner.md)]
\ No newline at end of file
diff --git a/articles/desktop-flows/actions-reference/folder.md b/articles/desktop-flows/actions-reference/folder.md
index 9ae6eb19e..95291424a 100644
--- a/articles/desktop-flows/actions-reference/folder.md
+++ b/articles/desktop-flows/actions-reference/folder.md
@@ -21,6 +21,7 @@ Manage and manipulate folders
| |
|-----|
+|[If folder exists](#iffolderexistsaction)|
|[Get files in folder](#getfiles)|
|[Get subfolders in folder](#getsubfolders)|
|[Create folder](#create)|
@@ -49,6 +50,21 @@ To get a list of a folder's contents, use the **Get subfolders in folder** actio
Copying, moving, renaming and deleting or emptying folders each has its respective action.
## Folder actions
+### If folder exists
+Mark the beginning of a conditional block of actions depending on whether a folder exists or not
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|If folder|N/A|Exists, Doesn't exist|Exists|Choose the state of the folder to check|
+|Folder path|No|Folder||Enter or choose the full path of the folder, or a variable containing the folder, to check its state|
+
+
+##### Variables Produced
+- This action doesn't produce any variables
+
+##### Exceptions
+- This action doesn't include any exceptions
### Get files in folder
Retrieve the list of files in a folder
diff --git a/articles/desktop-flows/actions-reference/googlecognitive.md b/articles/desktop-flows/actions-reference/googlecognitive.md
new file mode 100644
index 000000000..83078489f
--- /dev/null
+++ b/articles/desktop-flows/actions-reference/googlecognitive.md
@@ -0,0 +1,293 @@
+---
+title: Google Cognitive | Microsoft Docs
+description: Google Cognitive Actions Reference
+author: mariosleon
+ms.service: power-automate
+ms.subservice: desktop-flow
+ms.topic: article
+ms.date: 12/02/2020
+ms.author: marleon
+ms.reviewer:
+search.app:
+ - Flow
+search.audienceType:
+ - flowmaker
+ - enduser
+---
+
+# Google cognitive
+
+Google's cognitive actions
+
+| |
+|-----|
+|[Analyze sentiment](#analyzesentimentgoogle)|
+|[Analyze entities](#analyzeentitiesgoogle)|
+|[Analyze syntax](#analyzesyntaxgoogle)|
+|[Label detection](#labeldetectiongoogle)|
+|[Landmark detection](#landmarkdetectiongoogle)|
+|[Text Detection](#textdetectiongoogle)|
+|[Logo detection](#logodetectiongoogle)|
+|[Image properties detection](#imagepropertiesdetectiongoogle)|
+|[Safe search detection](#safesearchdetectiongoogle)|
+
+## Getting started with Google cognitive actions
+
+Google cognitive services allow users to process unstructured data through machine learning and simplify complicated tasks like text analyzing and computer vision.
+
+This functionality can be implemented in your desktop flows through the Google cognitive group of action.
+
+All Google cognitive actions require an API key that authorizes you to use the respective services. You can manage your API keys in the **APIs & services** section of the Cloud Console.
+
+![Screenshot of the Analyze entities action.](media/google-cognitive/analyze-entities-action.png)
+
+
+
+## Cognitive actions
+
+## Natural language
+Reveal the structure and meaning of text
+### Analyze sentiment
+Invokes the Google Cloud Natural Language service named 'Analyze Sentiment'
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|API key|No|Text value||The Google Cloud API key to be used for this API call|
+|Document type|N/A|Plain text, HTML|Plain text|The type of document to transmit|
+|Provide document|N/A|From file, From GCS|From file|Specify whether the document will be provided by a full path or a Google Cloud Storage URI|
+|File path|No|File||The full path (folder plus filename) of the document to transmit|
+|GCS Content URI|No|Text value||The URI of the image residing on Google Cloud Storage|
+|Language|Yes|Text value||The language of the text|
+|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|JSONResponse|Custom object|The API response results|
+|StatusCode|Numeric value|The status code returned|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
+|Request timeout expired|Indicates that the timeout expired while performing the request|
+
+### Analyze entities
+Invokes the Google Cloud Natural Language service named 'Analyze Entities'
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|API key|No|Text value||The Google Cloud API key to be used for this API call|
+|Document type|N/A|Plain text, HTML|Plain text|The type of the document to transmit|
+|Provide file|N/A|From file, From GCS|From file|Specify whether the document will be provided by a full path or a Google Cloud Storage URI|
+|File path|No|File||The full path (folder plus filename) of the document to transmit|
+|GCS URL|No|Text value||The URI of the document residing on Google Cloud Storage|
+|Language|Yes|Text value||The language of the text|
+|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|JSONResponse|Custom object|The API response results|
+|StatusCode|Numeric value|The status code returned|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
+|Request timeout expired|Indicates that the timeout expired while performing the request|
+
+### Analyze syntax
+Invokes the Google Cloud Natural Language service named 'Analyze Syntax'
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|API key|No|Text value||The Google Cloud API key to be used for this API call|
+|Document type|N/A|Plain text, HTML|Plain text|The type of document to transmit|
+|Provide document|N/A|From file, From GCS|From file|Specify whether the document will be provided by a full path or a Google Cloud Storage URI|
+|File path|No|File||The full path (folder plus filename) of the document to transmit|
+|GCS Content URI|No|Text value||The URI of the image residing on Google Cloud Storage|
+|Language|Yes|Text value||The language of the text|
+|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|JSONResponse|Custom object|The API response results|
+|StatusCode|Numeric value|The status code returned|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
+|Request timeout expired|Indicates that the timeout expired while performing the request|
+
+## Vision
+Assign labels to images and classify them into predefined categories. Detect objects, faces, and read printed and handwritten text
+### Label detection
+Invokes the Google Cloud Vision service named 'Label Detection'
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|API key|No|Text value||The Google Cloud API key to be used for this API call|
+|Provide image|N/A|From file, From GCS|From file|Specify whether the image will be provided by a full path or a Google Cloud Storage URI|
+|Image file|No|File||The full path (folder plus filename) of the image file to transmit|
+|GCS Image URI|No|Text value||The URI of the image residing on Google Cloud Storage|
+|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|JSONResponse|Custom object|The API response results|
+|StatusCode|Numeric value|The status code returned|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
+|Request timeout expired|Indicates that the timeout expired while performing the request|
+
+### Landmark detection
+Invokes the Google Cloud Vision service named 'Landmark Detection'
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|API key|No|Text value||The Google Cloud API key to be used for this API call|
+|Provide image|N/A|From file, From GCS|From file|Specify whether the image will be provided by a full path or a Google Cloud Storage URI|
+|Image file path|No|File||The full path (folder plus filename) of the image file to transmit|
+|GCS Image URI|No|Text value||The URI of the image residing on Google Cloud Storage|
+|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|JSONResponse|Custom object|The API response results|
+|StatusCode|Numeric value|The status code returned|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
+|Request timeout expired|Indicates that the timeout expired while performing the request|
+
+### Text Detection
+Invokes the Google Cloud Vision service named 'Text Detection'
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|API key|No|Text value||The Google Cloud API key to be used for this API call|
+|Provide image|N/A|From file, From GCS|From file|Specify whether the image will be provided by a full path or a Google Cloud Storage URI|
+|Image file|No|File||The full path (folder plus filename) of the image file to transmit|
+|GCS Image URI|No|Text value||The URI of the image residing on Google Cloud Storage|
+|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|JSONResponse|Custom object|The API response results|
+|StatusCode|Numeric value|The status code returned|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
+|Request timeout expired|Indicates that the timeout expired while performing the request|
+
+### Logo detection
+Invokes the Google Cloud Vision service named 'Logo Detection'
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|API key|No|Text value||The Google Cloud API key to be used for this API call|
+|Provide image|N/A|From file, From GCS|From file|Specify whether the image will be provided by a full path or a Google Cloud Storage URI|
+|Image file|No|File||The full path (folder plus filename) of the image file to transmit|
+|GCS Image URI|No|Text value||The URI of the image residing on Google Cloud Storage|
+|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|JSONResponse|Custom object|The API response results|
+|StatusCode|Numeric value|The status code returned|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
+|Request timeout expired|Indicates that the timeout expired while performing the request|
+
+### Image properties detection
+Invokes the Google Cloud Vision service named 'Image Properties Detection'
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|API key|No|Text value||The Google Cloud API key to be used for this API call|
+|Provide image|N/A|From file, From GCS|From file|Specify whether the image will be provided by a full path or a Google Cloud Storage URI|
+|Image file|No|File||The full path (folder plus filename) of the image file to transmit|
+|GCS Image URI|No|Text value||The URI of the image residing on Google Cloud Storage|
+|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|JSONResponse|Custom object|The API response results|
+|StatusCode|Numeric value|The status code returned|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
+|Request timeout expired|Indicates that the timeout expired while performing the request|
+
+### Safe search detection
+Invokes the Google Cloud Vision service named 'Safe Search Detection'
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|API key|No|Text value||The Google Cloud API key to be used for this API call|
+|Provide image|N/A|From file, From GCS|From file|Specify whether the image will be provided by a full path or a Google Cloud Storage URI|
+|Image file|No|File||The full path (folder plus filename) of the image file to transmit|
+|GCS Image URI|No|Text value||The URI of the image residing on Google Cloud Storage|
+|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|JSONResponse|Custom object|The API response results|
+|StatusCode|Numeric value|The status code returned|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
+|Request timeout expired|Indicates that the timeout expired while performing the request|
+
+
+[!INCLUDE[footer-include](../../includes/footer-banner.md)]
\ No newline at end of file
diff --git a/articles/desktop-flows/actions-reference/ibmcognitive.md b/articles/desktop-flows/actions-reference/ibmcognitive.md
new file mode 100644
index 000000000..a547c9734
--- /dev/null
+++ b/articles/desktop-flows/actions-reference/ibmcognitive.md
@@ -0,0 +1,203 @@
+---
+title: IBM Cognitive | Microsoft Docs
+description: IBM Cognitive Actions Reference
+author: mariosleon
+ms.service: power-automate
+ms.subservice: desktop-flow
+ms.topic: article
+ms.date: 12/02/2020
+ms.author: marleon
+ms.reviewer:
+search.app:
+ - Flow
+search.audienceType:
+ - flowmaker
+ - enduser
+---
+
+# IBM cognitive
+
+IBM's cognitive actions
+
+| |
+|-----|
+|[Convert document](#convertdocumentibm)|
+|[Translate](#translateibm)|
+|[Identify language](#identifylanguage)|
+|[Analyze tone](#analyzetoneibm)|
+|[Classify Image](#classifyimageibm)|
+
+## Getting started with IBM cognitive actions
+
+IBM cognitive services are machine learning algorithms that use artificial intelligence to perform complex operations, such as language tone analyzing and visual recognition.
+
+Power Automate for desktop enables you to use these services in your flows through the IBM cognitive actions.
+
+All IBM cognitive actions require an API key that can be created and managed through the IBM Cloud console. Additionally, they require the release date of the used API and the service endpoint location.
+
+![Screenshot of the Translate action.](media/ibm-cognitive/translate-action.png)
+
+## IBM cognitive actions
+
+## Document conversion
+Translate non-structured documents like fax, email, pdf, etc. into an EDI or other structured formats
+### Convert document
+Invokes the IBM service named 'Convert Document'
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Username|No|Text value||The username to be used for this call|
+|Password|No|Encrypted value||The password to use for this call|
+|Version date|No|Text value||The release date of the API to use|
+|File path|No|File||The path to the file to analyze|
+|Mime type|N/A|text/html, text/xhtml+xml, application/pdf, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document|text/html|The MIME type of the file|
+|Conversion target|N/A|Answer units, Normalized HTML, Normalized text|Answer units|The output format of the conversion|
+|Answer units|Yes|Text value||The heading levels as a comma-separated string|
+|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|JSONResponse|Custom object|The results of the API call|
+|StatusCode|Numeric value|The status code of the API call|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Request timeout expired|Indicates that the timeout expired while performing the request|
+|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
+
+## Language translator
+Translate documents, apps, and webpages
+### Translate
+Invokes the IBM service named 'Translate'
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|API key|No|Text value||The API key to use for this call|
+|Version date|No|Text value||The release date of the API to use|
+|Service endpoint location|N/A|US South, US East, Europe, Australia, Japan, UK, Korea|US East|The account's service location. Can be seen through IBM "Manage" in the resources section|
+|Instance ID|No|Text value||The Instance ID of the service.|
+|Translate mode|N/A|Model ID, Source and target|Model ID|Specify the mode to be used for this call|
+|Model ID|No|Text value||The unique model_id of the translation model that will be used to translate the text|
+|Source|No|Text value||The source language of the text|
+|Target|No|Text value||The translation target language in 2 or 5 letter language code|
+|Text|No|List of Text values||The text to send or list of words to be separately translated|
+|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|JSONResponse|Custom object|The results of the API call|
+|StatusCode|Numeric value|The status code returned|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Request timeout expired|Indicates that the timeout expired while performing the request|
+|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
+
+### Identify language
+Invokes the IBM service named 'Identify Language'
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|API key|No|Text value||The API key to use for this call|
+|Version date|No|Text value||The release date of the API to use|
+|Service endpoint location|N/A|US South, US East, Europe, Australia, Japan, UK, Korea|US East|The account's service location. Can be seen through IBM "Manage" in the resources section|
+|Instance ID|No|Text value||The Instance ID of the service.|
+|Text|No|Text value||The text to analyze|
+|Content type|Yes|Text value|text/plain|The format of the requested values|
+|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|JSONResponse|Custom object|The results of the API call|
+|StatusCode|Numeric value|The status code of the API call|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Request timeout expired|Indicates that the timeout expired while performing the request|
+|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
+
+## Tone analyzer
+Detect emotional and language tones in written text
+### Analyze tone
+Invokes the IBM service named 'Analyze Tone'
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|API key|No|Text value||The API key to use for this call|
+|Version date|No|Text value||The release date of the API to use|
+|Service endpoint location|N/A|US South, US East, Europe, Australia, Japan, UK, Korea|US East|The account's service location. Can be seen through IBM "Manage" in the resources section|
+|Instance ID|No|Text value||The Instance ID of the service.|
+|Provide text|N/A|From text, From file|From text|Specify how the text to be analyzed will be provided|
+|Text|No|Text value||The text to analyze|
+|File path|No|File||The path to the file to analyze|
+|Content type|N/A|text/plain, text/html, application/json|text/plain|The content type of the text that will be sent|
+|Tones|Yes|Text value||The tone with which the results will be filtered (optional)|
+|Sentences|Yes|Text value||Specify whether to remove the sentence analysis|
+|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|JSONResponse|Custom object|The results of the API call|
+|StatusCode|Numeric value|The status code of the API call|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Request timeout expired|Indicates that the timeout expired while performing the request|
+|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
+
+## Visual recognition
+Find meaning in visual content. Analyze images for scenes, objects, and other content
+### Classify Image
+Invokes the IBM service named 'Classify Image'
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|API key|No|Text value||The API key to use for this call|
+|Version date|No|Text value||The release date of the API to use|
+|Service endpoint location|N/A|US South, Europe, Korea|US South|The account's service location. Can be seen through IBM "Manage" in the resources section|
+|Instance ID|No|Text value||The Instance ID of the service.|
+|Provide image|N/A|From file, From GCS|From file|Specify how the image will be provided|
+|Image file path|No|File||The path to the image to be analyzed|
+|Image URL|No|Text value||The URL of the image to be analyzed|
+|Owners|Yes|Text value|me|The classifiers to be used as a comma separated list|
+|Classifier IDs|Yes|Text value|default|The classifier Ids to be used as a comma separated list|
+|Threshold|Yes|Text value||The minimum score a class must have to be displayed in the response as a floating value|
+|Language|Yes|Text value||The language of the output|
+|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|JSONResponse|Custom object|The results of the API call|
+|StatusCode|Numeric value|The status code of the API call|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Request timeout expired|Indicates that the timeout expired while performing the request|
+|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
+
+[!INCLUDE[footer-include](../../includes/footer-banner.md)]
\ No newline at end of file
diff --git a/articles/desktop-flows/actions-reference/media/cognitive/analyze-entities-action.png b/articles/desktop-flows/actions-reference/media/google-cognitive/analyze-entities-action.png
similarity index 100%
rename from articles/desktop-flows/actions-reference/media/cognitive/analyze-entities-action.png
rename to articles/desktop-flows/actions-reference/media/google-cognitive/analyze-entities-action.png
diff --git a/articles/desktop-flows/actions-reference/media/cognitive/translate-action.png b/articles/desktop-flows/actions-reference/media/ibm-cognitive/translate-action.png
similarity index 100%
rename from articles/desktop-flows/actions-reference/media/cognitive/translate-action.png
rename to articles/desktop-flows/actions-reference/media/ibm-cognitive/translate-action.png
diff --git a/articles/desktop-flows/actions-reference/media/cognitive/spell-check-action.png b/articles/desktop-flows/actions-reference/media/microsoft-cognitive/spell-check-action.png
similarity index 100%
rename from articles/desktop-flows/actions-reference/media/cognitive/spell-check-action.png
rename to articles/desktop-flows/actions-reference/media/microsoft-cognitive/spell-check-action.png
diff --git a/articles/desktop-flows/actions-reference/media/runflow/run-desktop-flow-action.png b/articles/desktop-flows/actions-reference/media/runflow/run-desktop-flow-action.png
new file mode 100644
index 000000000..42e3ea121
Binary files /dev/null and b/articles/desktop-flows/actions-reference/media/runflow/run-desktop-flow-action.png differ
diff --git a/articles/desktop-flows/actions-reference/media/system/run-python-script-action.png b/articles/desktop-flows/actions-reference/media/scripting/run-python-script-action.png
similarity index 100%
rename from articles/desktop-flows/actions-reference/media/system/run-python-script-action.png
rename to articles/desktop-flows/actions-reference/media/scripting/run-python-script-action.png
diff --git a/articles/desktop-flows/actions-reference/media/system/run-application-example.png b/articles/desktop-flows/actions-reference/media/system/run-application-example.png
index 72cb4a2f2..86ae6afd6 100644
Binary files a/articles/desktop-flows/actions-reference/media/system/run-application-example.png and b/articles/desktop-flows/actions-reference/media/system/run-application-example.png differ
diff --git a/articles/desktop-flows/actions-reference/media/system/wait-process-action.png b/articles/desktop-flows/actions-reference/media/system/wait-process-action.png
new file mode 100644
index 000000000..e657a6b25
Binary files /dev/null and b/articles/desktop-flows/actions-reference/media/system/wait-process-action.png differ
diff --git a/articles/desktop-flows/actions-reference/media/text/recognize-entities-text-action.png b/articles/desktop-flows/actions-reference/media/text/recognize-entities-text-action.png
index 141795fce..87f6b1163 100644
Binary files a/articles/desktop-flows/actions-reference/media/text/recognize-entities-text-action.png and b/articles/desktop-flows/actions-reference/media/text/recognize-entities-text-action.png differ
diff --git a/articles/desktop-flows/actions-reference/media/workstation/print-document-action.png b/articles/desktop-flows/actions-reference/media/workstation/print-document-action.png
new file mode 100644
index 000000000..50f8511c9
Binary files /dev/null and b/articles/desktop-flows/actions-reference/media/workstation/print-document-action.png differ
diff --git a/articles/desktop-flows/actions-reference/media/workstation/set-screen-resolution-action.png b/articles/desktop-flows/actions-reference/media/workstation/set-screen-resolution-action.png
new file mode 100644
index 000000000..2396dc67b
Binary files /dev/null and b/articles/desktop-flows/actions-reference/media/workstation/set-screen-resolution-action.png differ
diff --git a/articles/desktop-flows/actions-reference/microsoftcognitive.md b/articles/desktop-flows/actions-reference/microsoftcognitive.md
new file mode 100644
index 000000000..baecfa922
--- /dev/null
+++ b/articles/desktop-flows/actions-reference/microsoftcognitive.md
@@ -0,0 +1,268 @@
+---
+title: Microsoft Cognitive | Microsoft Docs
+description: Microsoft Cognitive Actions Reference
+author: mariosleon
+ms.service: power-automate
+ms.subservice: desktop-flow
+ms.topic: article
+ms.date: 12/02/2020
+ms.author: marleon
+ms.reviewer:
+search.app:
+ - Flow
+search.audienceType:
+ - flowmaker
+ - enduser
+---
+# Microsoft cognitive
+
+Microsoft's cognitive actions
+
+| |
+|-----|
+|[Spell check](#spellcheck)|
+|[Analyze image](#analyzeimagemicrosoft)|
+|[Describe image](#describeimagemicrosoft)|
+|[OCR](#ocrmicrosoft)|
+|[Tag image](#tagimagemicrosoft)|
+|[Detect language](#detectlanguage)|
+|[Key phrases](#keyphrases)|
+|[Sentiment](#sentiment)|
+
+## Getting started with Microsoft cognitive actions
+
+Microsoft cognitive services enable users to accelerate decision-making using artificial intelligence without requiring machine learning expertise.
+
+Power Automate for desktop provides a wide variety of Microsoft cognitive actions that allow you to integrate this functionality into your flows. Text analysis, computer vision, and spell checking are all tasks that Microsoft cognitive actions can perform.
+
+All Microsoft cognitive actions require a subscription key that validates your subscription for a service or group of services. The keys are available in the Azure portal for each resource that you've created.
+
+![Screnshot of the Spell check action.](media/microsoft-cognitive/spell-check-action.png)
+
+## Microsoft cognitive actions
+
+## Bing spell check
+Correct spelling errors, recognize the difference among names, brand names, and slang, as well as understand homophones
+
+### Spell check
+Invokes the Microsoft Cognitive service named 'Bing Spell Check'
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Subscription key|No|Text value||The subscription key to use for this API call|
+|Text|No|List of Text values||The text or the list of texts to send|
+|Mode|Yes|Text value||Specify the spell-check mode|
+|Mkt|Yes|Text value||For proof mode, the only supported language codes are: en-us, es-es, pt-br. For spell mode, all language codes are supported|
+|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|JSONResponse|Custom object|The API response results|
+|StatusCode|Numeric value|The status code returned|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Request timeout expired|Indicates that the timeout expired while performing the request|
+|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
+
+## Computer vision
+Analyze images and extract data
+### Analyze image
+Invokes the Microsoft Cognitive service named 'Analyze Image'
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Server location|N/A|West US, West US 2, East US, East US 2, West Central US, South Central US, West Europe, North Europe, Southeast Asia, East Asia, Australia East, Brazil South, Canada Central, Central India, UK South, Japan East|West US|The server location to be use for this API call|
+|Subscription key|No|Text value||The subscription key to use for this API call|
+|Provide image|N/A|From file, From GCS|From file|Specify whether the image will be provided by a full path or a URL address|
+|Image file|No|File||The full path (folder plus filename) of the image file to transmit|
+|Image URL|No|Text value||The URL address of an image|
+|Visual features|Yes|Text value||A text value indicating what visual feature types to return. Multiple values should be comma-separated. For example: categories, tags, description|
+|Details|Yes|Text value||A text value indicating which domain-specific details to return. Multiple values should be comma-separated|
+|Language|Yes|Text value||A text value indicating which language to return. The service will return recognition results in the specified language|
+|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|JSONResponse|Custom object|The API response results|
+|StatusCode|Numeric value|Τhe status code returned|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Request timeout expired|Indicates that the timeout expired while performing the request|
+|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
+
+### Describe image
+Invokes the Microsoft Cognitive service named 'Describe Image'
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Server location|N/A|West US, West US 2, East US, East US 2, West Central US, South Central US, West Europe, North Europe, Southeast Asia, East Asia, Australia East, Brazil South, Canada Central, Central India, UK South, Japan East|West US|The server location to be use for this API call|
+|Subscription key|No|Text value||The subscription key to use for this API call|
+|Provide image|N/A|From file, From GCS|From file|Specify whether the image will be provided by a full path or a URL address|
+|Image file|No|File||The full path (folder plus filename) of the image file to transmit|
+|Image URL|No|Text value||The URL address of an image|
+|Max candidates|Yes|Text value||The maximum number of candidate descriptions to be returned. The default is 1|
+|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|JSONResponse|Custom object|The API response results|
+|StatusCode|Numeric value|The status code returned|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Request timeout expired|Indicates that the timeout expired while performing the request|
+|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
+
+### OCR
+Invokes the Microsoft Cognitive service named 'OCR'
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Server location|N/A|West US, West US 2, East US, East US 2, West Central US, South Central US, West Europe, North Europe, Southeast Asia, East Asia, Australia East, Brazil South, Canada Central, Central India, UK South, Japan East|West US|The server location to be use for this API call|
+|Subscription key|No|Text value||The subscription key to use for this API call|
+|Provide image|N/A|From file, From GCS|From file|Specify whether the image will be provided by a full path or a URL address|
+|Image file|No|File||The full path (folder plus filename) of the image file to transmit|
+|Image URL|No|Text value||The URL address of an image|
+|Language|Yes|Text value||The BCP-47 language code of the text to detect in the image|
+|Detect orientation|Yes|Text value||Specify whether to detect the text orientation in the image|
+|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|JSONResponse|Custom object|The API response results|
+|StatusCode|Numeric value|The status code returned|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Request timeout expired|Indicates that the timeout expired while performing the request|
+|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
+
+### Tag image
+Invokes the Microsoft Cognitive service named 'Tag Image'
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Server location|N/A|West US, West US 2, East US, East US 2, West Central US, South Central US, West Europe, North Europe, Southeast Asia, East Asia, Australia East, Brazil South, Canada Central, Central India, UK South, Japan East|West US|The server location to be use for this API call|
+|Subscription key|No|Text value||The subscription key to use for this API call|
+|Provide image|N/A|From file, From GCS|From file|Specify whether the image will be provided by a full path or a URL address|
+|Image file|No|File||The full path (folder plus filename) of the image file to transmit|
+|Image URL|No|Text value||The URL address of an image|
+|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|JSONResponse|Custom object|The API response results|
+|StatusCode|Numeric value|The status code returned|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Request timeout expired|Indicates that the timeout expired while performing the request|
+|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
+
+## Text Analytics
+Detect sentiment, key phrases, named entities and language from text
+### Detect language
+Invokes the Microsoft Cognitive service named 'Text Analytics - Detect Language'
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Server location|N/A|West US, West US 2, East US, East US 2, West Central US, South Central US, West Europe, North Europe, Southeast Asia, East Asia, Australia East, Brazil South, Canada Central, Central India, UK South, Japan East|West US|The server location to be use for this API call|
+|Subscription key|No|Text value||The subscription key to use for this API call|
+|Text|No|Text value||The text to analyze|
+|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|JSONResponse|Custom object|The API response results|
+|StatusCode|Numeric value|The status code returned|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Request timeout expired|Indicates that the timeout expired while performing the request|
+|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
+
+### Key phrases
+Invokes the Microsoft Cognitive service named 'Text Analytics - Key Phrases'
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Server location|N/A|West US, West US 2, East US, East US 2, West Central US, South Central US, West Europe, North Europe, Southeast Asia, East Asia, Australia East, Brazil South, Canada Central, Central India, UK South, Japan East|West US|The server location to be use for this API call|
+|Subscription key|No|Text value||The subscription key to use for this API call|
+|Text|No|List of Text values||The text or the list of texts to analyze|
+|Language|Yes|Text value||The language of the text(s)|
+|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|JSONResponse|Custom object|The API response results|
+|StatusCode|Numeric value|The status code returned|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Request timeout expired|Indicates that the timeout expired while performing the request|
+|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
+
+### Sentiment
+Invokes the Microsoft Cognitive service named 'Text Analytics - Sentiment'
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Server location|N/A|West US, West US 2, East US, East US 2, West Central US, South Central US, West Europe, North Europe, Southeast Asia, East Asia, Australia East, Brazil South, Canada Central, Central India, UK South, Japan East|West US|The server location to be use for this API call|
+|Subscription key|No|Text value||The subscription key to use for this API call|
+|Text|No|List of Text values||Text|
+|Language|Yes|Text value||The 2 letter ISO 639-1 representation of the language of the text(s)|
+|Timeout|Yes|Numeric value|30|The time (in seconds) that the agent should wait for a connection to be established with the server, before it fails|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|JSONResponse|Custom object|The API response results|
+|StatusCode|Numeric value|The status code returned|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Request timeout expired|Indicates that the timeout expired while performing the request|
+|Failed to Invoke cognitive services|Indicates a problem while trying to invoke Cognitive Services|
+
+[!INCLUDE[footer-include](../../includes/footer-banner.md)]
\ No newline at end of file
diff --git a/articles/desktop-flows/actions-reference/mouseandkeyboard.md b/articles/desktop-flows/actions-reference/mouseandkeyboard.md
index b94f51282..6dd3203d2 100644
--- a/articles/desktop-flows/actions-reference/mouseandkeyboard.md
+++ b/articles/desktop-flows/actions-reference/mouseandkeyboard.md
@@ -32,6 +32,7 @@ Take control of the mouse and keyboard
|[Send keys](#sendkeys)|
|[Press/release key](#pressreleasekey)|
|[Set key state](#setkeystate)|
+|[Wait for mouse](#waitformouseaction)|
|[Get keyboard identifier](#getkeyboardlayout)|
|[Wait for shortcut key](#waitforshortcutkeyaction)|
@@ -195,7 +196,7 @@ Moves the mouse over a text found on the screen or on the foreground window usin
|Offset Y|Yes|Text value|0|Offset the mouse from the position by this many pixels down|
> [!NOTE]
-> Power Automate's regular expression engine is .NET. You can find more information in [Regular Expression Language - Quick Reference](https://docs.microsoft.com/dotnet/standard/base-types/regular-expression-language-quick-reference).
+> Power Automate's regular expression engine is .NET. You can find more information in [Regular Expression Language - Quick Reference](/dotnet/standard/base-types/regular-expression-language-quick-reference).
##### Variables Produced
@@ -328,6 +329,25 @@ Sets the state (on or off) for the keys Caps Lock, Num Lock or Scroll Lock
|-----|-----|
|Can't set key state in non interactive mode|Indicates a problem setting the key state in non interactive mode|
+### Wait for mouse
+Suspends the execution of the flow until the mouse pointer changes, usually to or from the 'wait cursor' or hourglass
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Wait for mouse pointer to|N/A|Become, Become not|Become|Choose what action of the mouse cursor to wait for.|
+|Mouse pointer|N/A|Arrow, App starting, Cross, Hand, Help, IBeam, Wait cursor|Arrow|Specify the mouse pointer state.|
+
+
+##### Variables Produced
+- This action doesn't produce any variables
+
+##### Exceptions
+- This action doesn't include any exceptions
+
+
+
+
### Get keyboard identifier
Retrieves the active keyboard identifier from the machine's registry
diff --git a/articles/desktop-flows/actions-reference/ocr.md b/articles/desktop-flows/actions-reference/ocr.md
index c090e0c6d..448aba6d8 100644
--- a/articles/desktop-flows/actions-reference/ocr.md
+++ b/articles/desktop-flows/actions-reference/ocr.md
@@ -21,6 +21,8 @@ Initiate OCR engines to perform OCR related activities
| |
|-----|
+|[If text on screen (OCR)](#iftextonscreenaction)|
+|[Wait for text on screen (OCR)](#waittextonscreenaction)|
|[Create Tesseract OCR engine](#createtesseractocrenginebase)|
|[Create MODI OCR engine](#createmodiengine)|
|[Extract text with OCR](#extracttextwithocr)|
@@ -41,6 +43,94 @@ The action wherein the OCR engine is created contains the engine settings. These
## OCR actions
+### If text on screen (OCR)
+Marks the beginning of a conditional block of actions depending on whether a given text appears on the screen or not, using OCR
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|If text|N/A|Exists, Doesn't exist|Exists|Specifies whether to check if the text exists or not on the given source to analyze|
+|OCR engine type|No|OCR engine variable, Tesseract engine|OCR engine variable|The OCR engine type to use. Select a peconfigured OCR engine or set up a new one.|
+|OCR engine variable|No|OCREngineObject||The engine to use for the OCR operation|
+|Text to find|No|Text value||The text to search for in the specified source|
+|Is regular expression|N/A|Boolean value|False|Specifies whether to use a regular expression to find the specified text|
+|Search for text on|N/A|Entire screen, Foreground window|Entire screen|Specifies whether to search for the specified text on the entine visible screen or just the foreground window|
+|Search mode|N/A|Whole of specified source, Specific subregion only, Subregion relative to image|Whole of specified source|Specifies whether to scan the entire screen (or window) or a narrowed down subregion of it|
+|Image(s)|No|List of Image||The image(s) specifying the subregion (relative to the top left corner of the image) to scan for the supplied text|
+|X1|Yes|Numeric value||The start X coordinate of the subregion to scan for the supplied text|
+|Tolerance|Yes|Numeric value|10|Specifies how much the image(s) searched for can differ from the originally chosen image|
+|Y1|Yes|Numeric value||The start Y coordinate of the subregion to scan for the supplied text|
+|X1|Yes|Numeric value||The start X coordinate of the subregion relative to the specified image to scan for the supplied text|
+|X2|Yes|Numeric value||The end X coordinate of the subregion to scan for the supplied text|
+|Y1|Yes|Numeric value||The start Y coordinate of the subregion relative to the specified image to scan for the supplied text|
+|Y2|Yes|Numeric value||The end Y coordinate of the subregion to scan for the supplied text|
+|X2|Yes|Numeric value||The end X coordinate of the subregion relative to the specified image to scan for the supplied text|
+|Y2|Yes|Numeric value||The end Y coordinate of the subregion relative to the specified image to scan for the supplied text|
+
+> [!NOTE]
+> Power Automate's regular expression engine is .NET. You can find more information in [Regular Expression Language - Quick Reference](/dotnet/standard/base-types/regular-expression-language-quick-reference).
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|LocationOfTextFoundX|Numeric value|The X coordinate of the point where the text appears on the screen. If the search is performed in the foreground window, the coordinate returned is relative to the top left corner of the window|
+|LocationOfTextFoundY|Numeric value|The X coordinate of the point where the text appears on the screen. If the search is performed in the foreground window, the coordinate returned is relative to the top left corner of the window|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Can't check if text exists in non interactive mode|Indicates that it isn't possible to check for the text on the screen when in non-interactive mode|
+|Invalid subregion coordinates|Indicates that the specified subregion coordinates are invalid|
+|Failed to analyze text with OCR|Indicates an error occured while trying to analyze the text using OCR|
+|OCR engine not alive|Indicates that the OCR engine isn't alive|
+
+
+### Wait for text on screen (OCR)
+Wait until a specific text appears/disappears on the screen, on the foreground window, or relative to an image on the screen or foreground window using OCR
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Wait for text to|N/A|Appear, Disappear|Appear|Specifies whether to wait for the text to appear or disappear|
+|OCR engine type|No|OCR engine variable, Tesseract engine|OCR engine variable|The OCR engine type to use. Select a peconfigured OCR engine or set up a new one.|
+|OCR engine variable|No|OCREngineObject||The engine to use for the OCR operation|
+|Text to find|No|Text value||The text to search for in the specified source|
+|Is regular expression|N/A|Boolean value|False|Specifies whether to use a regular expression to find the specified text|
+|Search for text on|N/A|Entire screen, Foreground window|Entire screen|Specifies whether to search for the specified text on the entine visible screen or just the foreground window|
+|Search mode|N/A|Whole of specified source, Specific subregion only, Subregion relative to image|Whole of specified source|Specifies whether to scan the entire screen (or window) or a narrowed down subregion of it|
+|Image(s)|No|List of Image||The image(s) specifying the subregion (relative to the top left corner of the image) to scan for the supplied text|
+|X1|Yes|Numeric value||The start X coordinate of the subregion to scan for the supplied text|
+|Tolerance|Yes|Numeric value|10|Specifies how much the image(s) searched for can differ from the originally chosen image|
+|Y1|Yes|Numeric value||The start Y coordinate of the subregion to scan for the supplied text|
+|X1|Yes|Numeric value||The start X coordinate of the subregion relative to the specified image to scan for the supplied text|
+|X2|Yes|Numeric value||The end X coordinate of the subregion to scan for the supplied text|
+|Y1|Yes|Numeric value||The start Y coordinate of the subregion relative to the specified image to scan for the supplied text|
+|Y2|Yes|Numeric value||The end Y coordinate of the subregion to scan for the supplied text|
+|X2|Yes|Numeric value||The end X coordinate of the subregion relative to the specified image to scan for the supplied text|
+|Y2|Yes|Numeric value||The end Y coordinate of the subregion relative to the specified image to scan for the supplied text|
+
+> [!NOTE]
+> Power Automate's regular expression engine is .NET. You can find more information in [Regular Expression Language - Quick Reference](/dotnet/standard/base-types/regular-expression-language-quick-reference).
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|LocationOfTextFoundX|Numeric value|The X coordinate of the point where the text appears on the screen. If the search is performed in the foreground window, the coordinate returned is relative to the top left corner of the window|
+|LocationOfTextFoundY|Numeric value|The X coordinate of the point where the text appears on the screen. If the search is performed in the foreground window, the coordinate returned is relative to the top left corner of the window|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Can't check if text exists in non interactive mode|Indicates that it isn't possible to check for the text on the screen when in non-interactive mode|
+|Invalid subregion coordinates|Indicates that the specified subregion coordinates are invalid|
+|Failed to analyze text with OCR|Indicates an error occured while trying to analyze the text using OCR|
+|OCR engine not alive|Indicates that the OCR engine isn't alive|
+
+
### Create Tesseract OCR engine
Create a Tesseract OCR engine
diff --git a/articles/desktop-flows/actions-reference/runflow.md b/articles/desktop-flows/actions-reference/runflow.md
new file mode 100644
index 000000000..ee0f4bbcb
--- /dev/null
+++ b/articles/desktop-flows/actions-reference/runflow.md
@@ -0,0 +1,59 @@
+---
+title: Run desktop flow | Microsoft Docs
+description: Run desktop flow Actions Reference
+author: mariosleon
+ms.service: power-automate
+ms.subservice: desktop-flow
+ms.topic: article
+ms.date: 10/13/2021
+ms.author: marleon
+ms.reviewer:
+search.app:
+ - Flow
+search.audienceType:
+ - flowmaker
+ - enduser
+---
+
+# Run desktop flow
+
+Set your automation to trigger other flows
+
+| |
+|-----|
+|[Run desktop flow](#runflow)|
+
+## Getting started with the Run desktop flow action
+
+The **Run desktop flow** action enables you to call other desktop flows while running a specific desktop flow. To use the action, add it to the workspace and select the desktop flow you want to call. If the called flow contains input variables, the action will prompt you to enter their values.
+
+> [!NOTE]
+> You can find more information regarding the **Run desktop flow** action in [Run desktop flow from other desktop flows](../how-to/run-desktop-flow-action.md).
+
+![screenshot of the Run desktop flow action.](\media\runflow\run-desktop-flow-action.png)
+
+## Run desktop flow action
+
+
+### Run desktop flow
+Runs a desktop flow which can receive input variables and may produce output variables. The parent flow run will be paused until the called desktop flow completes.
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Destop flow|No|Desktop flow||Select the desktop flow to run from within this flow|
+
+
+##### Variables Produced
+- This action produces the output variables of the selected flow
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Run desktop flow failed|Indicates a problem while running the desktop flow|
+
+>[!NOTE]
+> * A flow's dependencies can't be more than 30 other flows.
+> * Two flows can't directly or indirectly call one-another as this causes a recursion.
+> * In org tenants, the flows must be under the same environment.
+
diff --git a/articles/desktop-flows/actions-reference/scripting.md b/articles/desktop-flows/actions-reference/scripting.md
new file mode 100644
index 000000000..f13a90632
--- /dev/null
+++ b/articles/desktop-flows/actions-reference/scripting.md
@@ -0,0 +1,183 @@
+---
+title: Scripting | Microsoft Docs
+description: Scripting Actions Reference
+author: mariosleon
+ms.service: power-automate
+ms.subservice: desktop-flow
+ms.topic: article
+ms.date: 12/02/2020
+ms.author: marleon
+ms.reviewer:
+search.app:
+ - Flow
+search.audienceType:
+ - flowmaker
+ - enduser
+---
+
+# Scripting
+
+Incorporate scripting languages code in you automation
+
+| |
+|-----|
+|[Run DOS command](#rundoscommand)|
+|[Run VBScript](#runvbscript)|
+|[Run JavaScript](#runjavascript)|
+|[Run PowerShell script](#runpowershellscript)|
+|[Run Python script](#runpythonscript)|
+
+
+## Getting started with scripting actions
+
+Scripting actions are a major part of the system actions group. These actions enable users to run blocks of code and implement custom behavior in Power Automate.
+
+All scripting actions follow the basic structure of the respective programming or scripting language: PowerShell, Python, VBScript, and JavaScript.
+
+To declare variables in scripting actions and return results in Power Automate, use the following commands:
+
+- To declare new variables in PowerShell scripts, use the **$** notation. To return values from [Run PowerShell script](#runpowershellscript) actions to Power Automate, use the **Write-Output** command.
+
+ ```
+ $variableName = "variableValue"
+ Write-Output $variableName
+ ```
+
+- Python scripts don't require any special notation to declare new variables. To return values from [Run Python script](#runpythonscript) actions, use the **print** function.
+
+ ```
+ variableName = "variableValue"
+ print variableName
+ ```
+
+- VBScript doesn't require any special notation to declare new variables. Use the **WScript.Echo** function to return values from [Run VBScript](#runvbscript) actions to Power Automate.
+
+ ```
+ variableName = "variableValue"
+ WScript.Echo variableName
+ ```
+
+- In JavaScript scripts, use the **var** notation to declare new variables and the **WScript.Echo** function to return values from [Run JavaScript](#runjavascript) actions.
+
+ ```
+ var variableName = "variableValue";
+ WScript.Echo(variableName);
+ ```
+
+To use Power Automate variables in scripting actions, use the percentage notation (**%**) and handle the variables the same way as hardcoded values.
+
+![A Python script that contains the percentage notation.](\media\scripting\run-python-script-action.png)
+
+## Scripting actions
+
+
+### Run DOS command
+Executes a DOS command or console application in invisible mode and retrieves its output upon completion
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|DOS command or application|No|File||The name of DOS command or a console application, with arguments if applicable|
+|Working folder|Yes|Folder||The full path of the folder to work out of, if applicable|
+|Change code page|N/A|Boolean value|False|Specifies whether to change the session's current code page|
+|Encoding|No|ASMO-708 : Arabic (ASMO 708), big5 : Chinese Traditional (Big5), cp1025 : IBM EBCDIC (Cyrillic Serbian-Bulgarian), cp866 : Cyrillic (DOS), cp875 : IBM EBCDIC (Greek Modern), csISO2022JP : Japanese (JIS-Allow 1 byte Kana), DOS-720 : Arabic (DOS), DOS-862 : Hebrew (DOS), EUC-CN : Chinese Simplified (EUC), EUC-JP : Japanese (JIS 0208-1990 and 0212-1990), euc-jp : Japanese (EUC), euc-kr : Korean (EUC), GB18030 : Chinese Simplified (GB18030), gb2312 : Chinese Simplified (GB2312), hz-gb-2312 : Chinese Simplified (HZ), IBM-Thai : IBM EBCDIC (Thai), IBM00858 : OEM Multilingual Latin I, IBM00924 : IBM Latin-1, IBM01047 : IBM Latin-1, IBM01140 : IBM EBCDIC (US-Canada-Euro), IBM01141 : IBM EBCDIC (Germany-Euro), IBM01142 : IBM EBCDIC (Denmark-Norway-Euro), IBM01143 : IBM EBCDIC (Finland-Sweden-Euro), IBM01144 : IBM EBCDIC (Italy-Euro), IBM01145 : IBM EBCDIC (Spain-Euro), IBM01146 : IBM EBCDIC (UK-Euro), IBM01147 : IBM EBCDIC (France-Euro), IBM01148 : IBM EBCDIC (International-Euro), IBM01149 : IBM EBCDIC (Icelandic-Euro), IBM037 : IBM EBCDIC (US-Canada), IBM1026 : IBM EBCDIC (Turkish Latin-5), IBM273 : IBM EBCDIC (Germany), IBM277 : IBM EBCDIC (Denmark-Norway), IBM278 : IBM EBCDIC (Finland-Sweden), IBM280 : IBM EBCDIC (Italy), IBM284 : IBM EBCDIC (Spain), IBM285 : IBM EBCDIC (UK), IBM290 : IBM EBCDIC (Japanese katakana), IBM297 : IBM EBCDIC (France), IBM420 : IBM EBCDIC (Arabic), IBM423 : IBM EBCDIC (Greek), IBM424 : IBM EBCDIC (Hebrew), IBM437 : OEM United States, IBM500 : IBM EBCDIC (International), ibm737 : Greek (DOS), ibm775 : Baltic (DOS), ibm850 : Western European (DOS), ibm852 : Central European (DOS), IBM855 : OEM Cyrillic, ibm857 : Turkish (DOS), IBM860 : Portuguese (DOS), ibm861 : Icelandic (DOS), IBM863 : French Canadian (DOS), IBM864 : Arabic (864), IBM865 : Nordic (DOS), ibm869 : Greek, Modern (DOS), IBM870 : IBM EBCDIC (Multilingual Latin-2), IBM871 : IBM EBCDIC (Icelandic), IBM880 : IBM EBCDIC (Cyrillic Russian), IBM905 : IBM EBCDIC (Turkish), iso-2022-jp : Japanese (JIS), iso-2022-jp : Japanese (JIS-Allow 1 byte Kana - SO/SI), iso-2022-kr : Korean (ISO), iso-8859-1 : Western European (ISO), iso-8859-13 : Estonian (ISO), iso-8859-15 : Latin 9 (ISO), iso-8859-2 : Central European (ISO), iso-8859-3 : Latin 3 (ISO), iso-8859-4 : Baltic (ISO), iso-8859-5 : Cyrillic (ISO), iso-8859-6 : Arabic (ISO), iso-8859-7 : Greek (ISO), iso-8859-8 : Hebrew (ISO-Visual), iso-8859-8-i : Hebrew (ISO-Logical), iso-8859-9 : Turkish (ISO), Johab : Korean (Johab), koi8-r : Cyrillic (KOI8-R), koi8-u : Cyrillic (KOI8-U), ks_c_5601-1987 : Korean, macintosh : Western European (Mac), shift_jis : Japanese (Shift-JIS), us-ascii : US-ASCII, utf-16 : Unicode, utf-16BE : Unicode (Big-Endian), utf-32 : Unicode (UTF-32), utf-32BE : Unicode (UTF-32 Big-Endian), utf-7 : Unicode (UTF-7), utf-8 : Unicode (UTF-8), windows-1250 : Central European (Windows), windows-1251 : Cyrillic (Windows), Windows-1252 : Western European (Windows), windows-1253 : Greek (Windows), windows-1254 : Turkish (Windows), windows-1255 : Hebrew (Windows), windows-1256 : Arabic (Windows), windows-1257 : Baltic (Windows), windows-1258 : Vietnamese (Windows), windows-874 : Thai (Windows), x-Chinese-CNS : Chinese Traditional (CNS), x-Chinese-Eten : Chinese Traditional (Eten), x-cp20001 : TCA Taiwan, x-cp20003 : IBM5550 Taiwan, x-cp20004 : TeleText Taiwan, x-cp20005 : Wang Taiwan, x-cp20261 : T.61, x-cp20269 : ISO-6937, x-cp20936 : Chinese Simplified (GB2312-80), x-cp20949 : Korean Wansung, x-cp50227 : Chinese Simplified (ISO-2022), x-EBCDIC-KoreanExtended : IBM EBCDIC (Korean Extended), x-Europa : Europa, x-IA5 : Western European (IA5), x-IA5-German : German (IA5), x-IA5-Norwegian : Norwegian (IA5), x-IA5-Swedish : Swedish (IA5), x-iscii-as : ISCII Assamese, x-iscii-be : ISCII Bengali, x-iscii-de : ISCII Devanagari, x-iscii-gu : ISCII Gujarati, x-iscii-ka : ISCII Kannada, x-iscii-ma : ISCII Malayalam, x-iscii-or : ISCII Oriya, x-iscii-pa : ISCII Punjabi, x-iscii-ta : ISCII Tamil, x-iscii-te : ISCII Telugu, x-mac-arabic : Arabic (Mac), x-mac-ce : Central European (Mac), x-mac-chinesesimp : Chinese Simplified (Mac), x-mac-chinesetrad : Chinese Traditional (Mac), x-mac-croatian : Croatian (Mac), x-mac-cyrillic : Cyrillic (Mac), x-mac-greek : Greek (Mac), x-mac-hebrew : Hebrew (Mac), x-mac-icelandic : Icelandic (Mac), x-mac-japanese : Japanese (Mac), x-mac-korean : Korean (Mac), x-mac-romanian : Romanian (Mac), x-mac-thai : Thai (Mac), x-mac-turkish : Turkish (Mac), x-mac-ukrainian : Ukrainian (Mac)`|utf-8 : Unicode (UTF-8)|The encoding to use when reading the output|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|CommandOutput|Text value|The text output from the DOS command or application|
+|CommandErrorOutput|Text value|The text describing the errors occurred (if any) during the execution of the DOS command or application|
+|CommandExitCode|Numeric value|The command or application exit code. This will be a numeric value|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Can't execute command or console application|Indicates a problem executing the specified command or console application|
+
+### Run VBScript
+Executes some custom VBScript code and retrieves its output into a variable
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|VBScript to run|Yes|Text value||The VBScript code to execute. Variables may be included within the script since they will be evaluated prior to the execution of the VBScript|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|VBScriptOutput|Text value|The script's output|
+|ScriptError|Text value|The errors that may occur during the execution of the VBScript code|
+
+
+##### Exceptions
+- This action doesn't include any exceptions
+
+
+
+
+
+### Run JavaScript
+Executes some custom JavaScript code and retrieves its output into a variable
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|JavaScript to run|Yes|Text value||The JavaScript code to execute. Variables may be included within the script since they will be evaluated prior to the JavaScript code's execution|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|JavascriptOutput|Text value|The script's output|
+|ScriptError|Text value|The errors that may occur during the execution of the JavaScript code|
+
+
+##### Exceptions
+- This action doesn't include any exceptions
+### Run PowerShell script
+Executes some custom PowerShell script and retrieves its output into a variable
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|PowerShell code to run|Yes|Text value||The PowerShell code to execute. Variables may be included within the script since they will be evaluated prior to the execution of the PowerShell code|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|PowershellOutput|Text value|The script's output|
+|ScriptError|Text value|The errors that may occur during the execution of the PowerShell code|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Failed to run PowerShell script|Indicates a problem running the provided PowerShell script|
+
+
+### Run Python script
+Executes Python 2 script code and retrieves its output
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Python script to run|No|Text value||Τhe Python script code to execute|
+|Module folder paths|Yes|List of Folders||The path(s) of folder(s) where external Python modules lie|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|PythonScriptOutput|Text value|Τhe script's output|
+|ScriptError|Text value|The errors that may occur during the execution of the Python script code|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Failed to run Python script|Indicates a problem running the provided Python script|
+|Directory not found|Indicates that the directory was not found|
\ No newline at end of file
diff --git a/articles/desktop-flows/actions-reference/services.md b/articles/desktop-flows/actions-reference/services.md
index 8a2cd3629..d0b6a6ae3 100644
--- a/articles/desktop-flows/actions-reference/services.md
+++ b/articles/desktop-flows/actions-reference/services.md
@@ -1,6 +1,6 @@
---
-title: Services | Microsoft Docs
-description: Services Actions Reference
+title: Windows services | Microsoft Docs
+description: Windows services Actions Reference
author: mariosleon
ms.service: power-automate
ms.subservice: desktop-flow
@@ -15,7 +15,7 @@ search.audienceType:
- enduser
---
-# Services
+# Windows services
@@ -23,6 +23,8 @@ Control the workstation's installed services
| |
|-----|
+|[If service](#ifserviceaction)|
+|[Wait for service](#waitforserviceaction)|
|[Start service](#start)|
|[Stop service](#stop)|
|[Pause service](#pause)|
@@ -30,9 +32,9 @@ Control the workstation's installed services
## Getting started with services
-Power Automate allows users to handle Windows services through the services actions. With these actions, users can maintain full control of the operating system and limit the running services.
+Power Automate allows users to handle Windows services through the Windows services group of actions. With these actions, users can maintain full control of the operating system and limit the running services.
-To control services, use the services group of actions. These actions allow flows to start, stop, pause and resume Windows services. In the figure below, the **Start service** action starts **UIFlowService**. For this group of actions, only the service name is required, and no output is returned.
+To control services, use the Windows services group of actions. These actions allow flows to start, stop, pause and resume Windows services. In the figure below, the **Start service** action starts **UIFlowService**. For this group of actions, only the service name is required, and no output is returned.
![screenshot of start service action properties.](\media\services\start-service-example.png)
@@ -40,7 +42,46 @@ To control services, use the services group of actions. These actions allow flow
> Please note that Windows services are essential to the smooth operation of the operating system. Managing Windows services incorrectly could adversely affect your PC.
-## Services actions
+## Windows services actions
+
+### If service
+Marks the beginning of a conditional block of actions depending on whether a service is running, paused, stopped or installed on the computer
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|If service|N/A|Is stopped, Is installed, Isn't installed, Is running, Is paused|Is running|The state of the service to check|
+|Service name|No|Text value||The name of the service to check|
+
+
+##### Variables Produced
+- This action doesn't produce any variables
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Service not found|Indicates that the service can't be found|
+|Can't retrieve status for service|Indicates that there is a problem retrieving the status of the service|
+
+
+### Wait for service
+Suspend the execution of the automation until a service is running, paused or stopped on the computer
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Wait for service to|N/A|Stop, Start, Pause|Start|Specifies whether the flow pauses until a certain service starts, stops or pauses|
+|Service name|No|Text value||The name of the service to check|
+
+
+##### Variables Produced
+- This action doesn't produce any variables
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Service not found|Indicates that the service can't be found|
+|Can't retrieve status for service|Indicates that there is a problem retrieving the status of the service|
### Start service
Start a stopped Windows service
diff --git a/articles/desktop-flows/actions-reference/system.md b/articles/desktop-flows/actions-reference/system.md
index d2b1efed0..d30478d4d 100644
--- a/articles/desktop-flows/actions-reference/system.md
+++ b/articles/desktop-flows/actions-reference/system.md
@@ -16,94 +16,73 @@ search.audienceType:
---
# System
-
-
+>[!NOTE]
+>The System group of actions has been segregated into some new categories. You can find details on the [Workstation](workstation.md) actions and [Scripting](scripting.md) actions in their respective pages.
Perform a variety of tasks in a Windows environment and retrieve information from the system
| |
|-----|
+|[If process](#ifprocessaction)|
+|[Wait for process](#waitprocessaction)|
|[Run application](#runapplicationbase)|
-|[Run DOS command](#rundoscommand)|
-|[Run VBScript](#runvbscript)|
|[Terminate process](#terminateprocess)|
-|[Print document](#printdocument)|
-|[Get default printer](#getdefaultprinter)|
-|[Set default printer](#setdefaultprinter)|
-|[Log off user](#logoffuser)|
-|[Shutdown computer](#shutdowncomputer)|
-|[Show desktop](#showdesktop)|
-|[Lock workstation](#lockworkstation)|
-|[Play sound](#playsoundbase)|
-|[Empty recycle bin](#emptyrecyclebin)|
-|[Take screenshot](#takescreenshotbase)|
-|[Control screen saver](#controlscreensaver)|
|[Ping](#ping)|
-|[Set Windows environment Variable](#setenvironmentvariable)|
+|[Set Windows environment variable](#setenvironmentvariable)|
|[Get Windows environment variable](#getenvironmentvariable)|
|[Delete Windows environment variable](#deleteenvironmentvariable)|
-|[Run JavaScript](#runjavascript)|
-|[Run PowerShell script](#runpowershellscript)|
-|[Get screen resolution](#getscreenresolution)|
-|[Set screen resolution](#setscreenresolution)|
-|[Run Python script](#runpythonscript)|
## Getting started with system actions
Use system actions to automate tasks which are fundamental to the Windows operating system.
-Launch any of your installed applications with the **Run application** action. Command line arguments require placement in quotes and a space among them. In the figure below, Run application opens a specific document in Word in quiet mode:
-
-![screenshot of the run application action properties window.](\media\system\run-application-example.png)
-
-Take a screenshot of a screen, or a window only with the **Take screenshot** action.
+Launch any of your installed applications with the **Run application** action. Command line arguments require placement in quotes and a space among them. In the figure below, the **Run application** actions opens a specific document in Word in quiet mode:
-The **Print document** action prints a specified document and requires the file path.
+![screenshot of the Run application action properties window.](\media\system\run-application-example.png)
-Shutdown, Restart, Suspend, or Hibernate the computer with the **Shutdown computer** action.
+Apart from running applications, Power Automate for desktop enables you to terminate processes by name or ID through the **Terminate process** action and wait for processes to start or stop through the **Wait for process** action.
+![screenshot of the Wait for process action properties window.](\media\system\wait-process-action.png)
-## Getting started with scripting actions
+If you want to handle Windows environment variables, use the **Set Windows environment variable**, **Get Windows environment variable**, and **Delete Windows environment variable** actions for the respective tasks.
-Scripting actions are a major part of the system actions group. These actions enable users to run blocks of code and implement custom behavior in Power Automate.
-
-All scripting actions follow the basic structure of the respective programming or scripting language: PowerShell, Python, VBScript, and JavaScript.
-
-To declare variables in scripting actions and return results in Power Automate, use the following commands:
-
-- To declare new variables in PowerShell scripts, use the **$** notation. To return values from [Run PowerShell script](#runpowershellscript) actions to Power Automate, use the **Write-Output** command.
+## System actions
+### If process
+Marks the beginning of a conditional block of actions depending on whether a process is running or not
- ```
- $variableName = "variableValue"
- Write-Output $variableName
- ```
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|If process|N/A|Is running, Isn't running|Is running|State of the process to check|
+|Process name|No|Text value||The name of the process to check|
-- Python scripts don't require any special notation to declare new variables. To return values from [Run Python script](#runpythonscript) actions, use the **print** function.
- ```
- variableName = "variableValue"
- print variableName
- ```
+##### Variables Produced
+- This action doesn't produce any variables
-- VBScript doesn't require any special notation to declare new variables. Use the **WScript.Echo** function to return values from [Run VBScript](#runvbscript) actions to Power Automate.
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Can't retrieve list of processes|Indicates a problem retrieving the list of processes|
- ```
- variableName = "variableValue"
- WScript.Echo variableName
- ```
+### Wait for process
+Suspends the execution until a process starts or stops
-- In JavaScript scripts, use the **var** notation to declare new variables and the **WScript.Echo** function to return values from [Run JavaScript](#runjavascript) actions.
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Process name|No|Text value||The name of the process to check|
+|Wait for process to|N/A|Start, Stop|Start|Whether to wait until a certain process starts or stops|
- ```
- var variableName = "variableValue";
- WScript.Echo(variableName);
- ```
-To use Power Automate variables in scripting actions, use the percentage notation (**%**) and handle the variables the same way as hardcoded values.
+##### Variables Produced
+- This action doesn't produce any variables
-![A Python script that contains the percentage notation.](\media\system\run-python-script-action.png)
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Can't retrieve list of processes|Indicates a problem retrieving the list of processes|
-## System actions
### Run application
Executes an application or opens a document by executing the associated application
@@ -144,49 +123,6 @@ Executes an application or opens a document by executing the associated applicat
##### Example
![Run application action example.](media\system\run-application-example.png)
-### Run DOS command
-Executes a DOS command or console application in invisible mode and retrieves its output upon completion
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|DOS command or application|No|File||The name of DOS command or a console application, with arguments if applicable|
-|Working folder|Yes|Folder||The full path of the folder to work out of, if applicable|
-|Change code page|N/A|Boolean value|False|Specifies whether to change the session's current code page|
-|Encoding|No|ASMO-708 : Arabic (ASMO 708), big5 : Chinese Traditional (Big5), cp1025 : IBM EBCDIC (Cyrillic Serbian-Bulgarian), cp866 : Cyrillic (DOS), cp875 : IBM EBCDIC (Greek Modern), csISO2022JP : Japanese (JIS-Allow 1 byte Kana), DOS-720 : Arabic (DOS), DOS-862 : Hebrew (DOS), EUC-CN : Chinese Simplified (EUC), EUC-JP : Japanese (JIS 0208-1990 and 0212-1990), euc-jp : Japanese (EUC), euc-kr : Korean (EUC), GB18030 : Chinese Simplified (GB18030), gb2312 : Chinese Simplified (GB2312), hz-gb-2312 : Chinese Simplified (HZ), IBM-Thai : IBM EBCDIC (Thai), IBM00858 : OEM Multilingual Latin I, IBM00924 : IBM Latin-1, IBM01047 : IBM Latin-1, IBM01140 : IBM EBCDIC (US-Canada-Euro), IBM01141 : IBM EBCDIC (Germany-Euro), IBM01142 : IBM EBCDIC (Denmark-Norway-Euro), IBM01143 : IBM EBCDIC (Finland-Sweden-Euro), IBM01144 : IBM EBCDIC (Italy-Euro), IBM01145 : IBM EBCDIC (Spain-Euro), IBM01146 : IBM EBCDIC (UK-Euro), IBM01147 : IBM EBCDIC (France-Euro), IBM01148 : IBM EBCDIC (International-Euro), IBM01149 : IBM EBCDIC (Icelandic-Euro), IBM037 : IBM EBCDIC (US-Canada), IBM1026 : IBM EBCDIC (Turkish Latin-5), IBM273 : IBM EBCDIC (Germany), IBM277 : IBM EBCDIC (Denmark-Norway), IBM278 : IBM EBCDIC (Finland-Sweden), IBM280 : IBM EBCDIC (Italy), IBM284 : IBM EBCDIC (Spain), IBM285 : IBM EBCDIC (UK), IBM290 : IBM EBCDIC (Japanese katakana), IBM297 : IBM EBCDIC (France), IBM420 : IBM EBCDIC (Arabic), IBM423 : IBM EBCDIC (Greek), IBM424 : IBM EBCDIC (Hebrew), IBM437 : OEM United States, IBM500 : IBM EBCDIC (International), ibm737 : Greek (DOS), ibm775 : Baltic (DOS), ibm850 : Western European (DOS), ibm852 : Central European (DOS), IBM855 : OEM Cyrillic, ibm857 : Turkish (DOS), IBM860 : Portuguese (DOS), ibm861 : Icelandic (DOS), IBM863 : French Canadian (DOS), IBM864 : Arabic (864), IBM865 : Nordic (DOS), ibm869 : Greek, Modern (DOS), IBM870 : IBM EBCDIC (Multilingual Latin-2), IBM871 : IBM EBCDIC (Icelandic), IBM880 : IBM EBCDIC (Cyrillic Russian), IBM905 : IBM EBCDIC (Turkish), iso-2022-jp : Japanese (JIS), iso-2022-jp : Japanese (JIS-Allow 1 byte Kana - SO/SI), iso-2022-kr : Korean (ISO), iso-8859-1 : Western European (ISO), iso-8859-13 : Estonian (ISO), iso-8859-15 : Latin 9 (ISO), iso-8859-2 : Central European (ISO), iso-8859-3 : Latin 3 (ISO), iso-8859-4 : Baltic (ISO), iso-8859-5 : Cyrillic (ISO), iso-8859-6 : Arabic (ISO), iso-8859-7 : Greek (ISO), iso-8859-8 : Hebrew (ISO-Visual), iso-8859-8-i : Hebrew (ISO-Logical), iso-8859-9 : Turkish (ISO), Johab : Korean (Johab), koi8-r : Cyrillic (KOI8-R), koi8-u : Cyrillic (KOI8-U), ks_c_5601-1987 : Korean, macintosh : Western European (Mac), shift_jis : Japanese (Shift-JIS), us-ascii : US-ASCII, utf-16 : Unicode, utf-16BE : Unicode (Big-Endian), utf-32 : Unicode (UTF-32), utf-32BE : Unicode (UTF-32 Big-Endian), utf-7 : Unicode (UTF-7), utf-8 : Unicode (UTF-8), windows-1250 : Central European (Windows), windows-1251 : Cyrillic (Windows), Windows-1252 : Western European (Windows), windows-1253 : Greek (Windows), windows-1254 : Turkish (Windows), windows-1255 : Hebrew (Windows), windows-1256 : Arabic (Windows), windows-1257 : Baltic (Windows), windows-1258 : Vietnamese (Windows), windows-874 : Thai (Windows), x-Chinese-CNS : Chinese Traditional (CNS), x-Chinese-Eten : Chinese Traditional (Eten), x-cp20001 : TCA Taiwan, x-cp20003 : IBM5550 Taiwan, x-cp20004 : TeleText Taiwan, x-cp20005 : Wang Taiwan, x-cp20261 : T.61, x-cp20269 : ISO-6937, x-cp20936 : Chinese Simplified (GB2312-80), x-cp20949 : Korean Wansung, x-cp50227 : Chinese Simplified (ISO-2022), x-EBCDIC-KoreanExtended : IBM EBCDIC (Korean Extended), x-Europa : Europa, x-IA5 : Western European (IA5), x-IA5-German : German (IA5), x-IA5-Norwegian : Norwegian (IA5), x-IA5-Swedish : Swedish (IA5), x-iscii-as : ISCII Assamese, x-iscii-be : ISCII Bengali, x-iscii-de : ISCII Devanagari, x-iscii-gu : ISCII Gujarati, x-iscii-ka : ISCII Kannada, x-iscii-ma : ISCII Malayalam, x-iscii-or : ISCII Oriya, x-iscii-pa : ISCII Punjabi, x-iscii-ta : ISCII Tamil, x-iscii-te : ISCII Telugu, x-mac-arabic : Arabic (Mac), x-mac-ce : Central European (Mac), x-mac-chinesesimp : Chinese Simplified (Mac), x-mac-chinesetrad : Chinese Traditional (Mac), x-mac-croatian : Croatian (Mac), x-mac-cyrillic : Cyrillic (Mac), x-mac-greek : Greek (Mac), x-mac-hebrew : Hebrew (Mac), x-mac-icelandic : Icelandic (Mac), x-mac-japanese : Japanese (Mac), x-mac-korean : Korean (Mac), x-mac-romanian : Romanian (Mac), x-mac-thai : Thai (Mac), x-mac-turkish : Turkish (Mac), x-mac-ukrainian : Ukrainian (Mac)`|utf-8 : Unicode (UTF-8)|The encoding to use when reading the output|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|CommandOutput|Text value|The text output from the DOS command or application|
-|CommandErrorOutput|Text value|The text describing the errors occurred (if any) during the execution of the DOS command or application|
-|CommandExitCode|Numeric value|The command or application exit code. This will be a numeric value|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Can't execute command or console application|Indicates a problem executing the specified command or console application|
-
-### Run VBScript
-Executes some custom VBScript code and retrieves its output into a variable
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|VBScript to run|Yes|Text value||The VBScript code to execute. Variables may be included within the script since they will be evaluated prior to the execution of the VBScript|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|VBScriptOutput|Text value|The script's output|
-|ScriptError|Text value|The errors that may occur during the execution of the VBScript code|
-
-
-##### Exceptions
-- This action doesn't include any exceptions
### Terminate process
Immediately stops a running process
@@ -207,193 +143,6 @@ Immediately stops a running process
|Process with specified ID not running|Indicates that a process with the specified ID isn't running|
|Failed to terminate process|Indicates a problem terminating the process|
-### Print document
-Prints a document on the default printer
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Document to print|No|File||The path of the document to print|
-
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Document not found|Indicates that the specified document was not found|
-|Access denied for document|Indicates that access was denied for the provided document|
-|Can't print document|Indicates a problem printing the specified document|
-
-### Get default printer
-Gets the name of the default printer
-
-##### Input Parameters
-- This action doesn't require any input
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|PrinterName|Text value|The name of the default printer|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Can't get default printer|Indicates a problem getting the default printer|
-
-### Set default printer
-Sets a printer as the default printer
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Printer name|No|Text value||The name of the printer to set as default|
-
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Can't set default printer|Indicates a problem setting the default printer|
-
-### Log off user
-Logs off the current user
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Force log off|N/A|Boolean value|False|Specify whether to force the user account to log off, regardless of unsaved files or programs that won't close|
-
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Can't log off user in non interactive mode|Indicates a problem logging off the user in non-interactive mode|
-|Can't log off the current user|Indicates a problem logging off the current user|
-
-### Shutdown computer
-Shuts down the computer
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Action to perform|N/A|Shutdown, Restart, Suspend, Hibernate|Shutdown|Specify which shutdown option the computer will perform|
-|Force|N/A|Boolean value|False|Specify whether to force the computer to shut down, regardless of unsaved files or programs that won't close|
-
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Can't shut down the computer|Indicates a problem shutting down the computer|
-
-### Show desktop
-Shows the desktop
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Operation|N/A|Minimize all windows (show desktop), Restore all windows (undo show desktop)|Minimize all windows (show desktop)|Specify whether to minimize all windows to reveal the desktop or restore all windows to their original respective states|
-
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-- This action doesn't include any exceptions
-### Lock workstation
-Locks the workstation's display to protect it from unauthorized use
-
-##### Input Parameters
-- This action doesn't require any input
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Can't lock the computer in non interactive mode|Indicates a problem locking the computer in non interactive mode|
-|Can't lock the computer|Indicates a problem locking the computer in non-interactive mode|
-
-### Play sound
-Plays a system sound or a wav file
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Play sound from|N/A|System, WAV file|System|The type of sound to play|
-|Sound to play|N/A|Asterisk, Beep, Exclamation, Hand, Question|Asterisk|The specific sound to play|
-|File to play|No|File||The full path of the specific WAV file to play|
-
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Can't find sound file|Indicates that the sound file could not be found|
-|Invalid sound file|Indicates an invalid sound file|
-
-### Empty recycle bin
-Deletes all files from the windows recycle bin
-
-##### Input Parameters
-- This action doesn't require any input
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-- This action doesn't include any exceptions
-### Take screenshot
-Takes a screenshot of the foreground window or the specified screen and saves the image in a file or to the clipboard
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Capture|N/A|All screens, Primary screen, Select screen, Foreground window|All screens|The area to capture|
-|Screen to capture|No|Numeric value||Specify which screen to capture|
-|Save screenshot to|N/A|Clipboard, File|Clipboard|The location to save the screenshot to|
-|Image file|No|File||The full path of the file name where the captured image will be saved|
-|Image format|N/A|BMP, EMF, EXIF, GIF, JPG, PNG, TIFF, WMF|BMP|The format for the image file to save|
-
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Failed to take screenshot|Indicates a problem taking the screenshot|
-|Failed to save screenshot to file|Indicates a problem saving the screenshot to a file|
-|Failed to set screenshot to clipboard|Indicates a problem setting the screenshot to the clipboard|
-|Failed to get specified screen|Indicates a problem getting the specified screen|
-
-### Control screen saver
-Enables, disables, starts or stops the screensaver
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Screen saver action|N/A|Enable, Disable, Start, Stop|Enable|The function of the screensaver|
-
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-- This action doesn't include any exceptions
### Ping
Sends a message to determine whether a remote computer is accessible over the network
@@ -478,116 +227,4 @@ Deletes an environment variable from a given scope
|Failed to delete environment variable|Indicates a problem deleting an environment variable|
|Insufficient permissions|Indicates that the user has insufficient permissions to perform this action|
-### Run JavaScript
-Executes some custom JavaScript code and retrieves its output into a variable
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|JavaScript to run|Yes|Text value||The JavaScript code to execute. Variables may be included within the script since they will be evaluated prior to the JavaScript code's execution|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|JavascriptOutput|Text value|The script's output|
-|ScriptError|Text value|The errors that may occur during the execution of the JavaScript code|
-
-
-##### Exceptions
-- This action doesn't include any exceptions
-### Run PowerShell script
-Executes some custom PowerShell script and retrieves its output into a variable
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|PowerShell code to run|Yes|Text value||The PowerShell code to execute. Variables may be included within the script since they will be evaluated prior to the execution of the PowerShell code|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|PowershellOutput|Text value|The script's output|
-|ScriptError|Text value|The errors that may occur during the execution of the PowerShell code|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Failed to run PowerShell script|Indicates a problem running the provided PowerShell script|
-
-### Get screen resolution
-Gets the width, height, bit count and frequency of a selected monitor
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Monitor number|No|Numeric value||The number of the monitor to get the resolution of|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|MonitorWidth|Numeric value|The width of the monitor|
-|MonitorHeight|Numeric value|The height of the monitor|
-|MonitorBitCount|Numeric value|The monitor bit count|
-|MonitorFrequency|Numeric value|The monitor frequency|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Failed to get the screen's resolution|Indicates a problem getting the screen's resolution|
-
-### Set screen resolution
-Sets the width, height, bit count and frequency of a selected monitor during an attended desktop flow run.
-
-> [!Important]
->To use the **Set screen resolution** action in flows triggered through the Power Automate portal, you have to be connected to the console session of your machine, where you can manually change the screen resolution. For example, you can use your machine's physical screen to connect to the machine. In remote sessions, such as unattended scenarios that use remote desktop clients, the action has no effect, as users can't manually change the resolution.
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Monitor number|No|Numeric value||The number of monitor to set the resolution of|
-|Monitor width|No|Numeric value||The value to set the monitor width to|
-|Monitor height|No|Numeric value||The value to set the monitor height to|
-|Monitor bit count|No|Numeric value||The value to set the monitor bit count to|
-|Monitor frequency|No|Numeric value||The value to set the monitor frequency to|
-
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Failed to set the screen's resolution|Indicates a problem setting the screen's resolution|
-
-### Run Python script
-Executes Python 2 script code and retrieves its output
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Python script to run|No|Text value||Τhe Python script code to execute|
-|Module folder paths|Yes|List of Folders||The path(s) of folder(s) where external Python modules lie|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|PythonScriptOutput|Text value|Τhe script's output|
-|ScriptError|Text value|The errors that may occur during the execution of the Python script code|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Failed to run Python script|Indicates a problem running the provided Python script|
-|Directory not found|Indicates that the directory was not found|
-
-
-
-
[!INCLUDE[footer-include](../../includes/footer-banner.md)]
diff --git a/articles/desktop-flows/actions-reference/terminalemulation.md b/articles/desktop-flows/actions-reference/terminalemulation.md
index e28357cce..f242aad82 100644
--- a/articles/desktop-flows/actions-reference/terminalemulation.md
+++ b/articles/desktop-flows/actions-reference/terminalemulation.md
@@ -232,7 +232,7 @@ Wait for a specific text to appear on a terminal session
|Timeout|Yes|Numeric value|0|The maximum amount of time to wait|
> [!NOTE]
-> Power Automate's regular expression engine is .NET. You can find more information in [Regular Expression Language - Quick Reference](https://docs.microsoft.com/dotnet/standard/base-types/regular-expression-language-quick-reference).
+> Power Automate's regular expression engine is .NET. You can find more information in [Regular Expression Language - Quick Reference](/dotnet/standard/base-types/regular-expression-language-quick-reference).
##### Variables Produced
- This action doesn't produce any variables
diff --git a/articles/desktop-flows/actions-reference/text.md b/articles/desktop-flows/actions-reference/text.md
index c7c39e201..ff9e3a0ea 100644
--- a/articles/desktop-flows/actions-reference/text.md
+++ b/articles/desktop-flows/actions-reference/text.md
@@ -38,10 +38,7 @@ Control and manipulate text
|[Parse text](#parsetext)|
|[Replace text](#replace)|
|[Escape text for regular expression](#escapeforregularexpression)|
-
-
## Getting started with text actions
@@ -51,7 +48,7 @@ To find a string in a text and replace it with another string or character, use
![Screenshot of replace text action.](\media\text\replace-text-example.png)
-Search a text value for a string of text with the **Parse text** action. Certain text actions contain the option to use regular expressions. Enable the option **Is regular expression** to search for text specifying a regular expression in **Text to find**. Additionally, disable **First occurence only** for the action to return a list of positions of the matched text. You can find more information in [Regular Expression Language - Quick Reference](https://docs.microsoft.com/dotnet/standard/base-types/regular-expression-language-quick-reference).
+Search a text value for a string of text with the **Parse text** action. Certain text actions contain the option to use regular expressions. Enable the option **Is regular expression** to search for text specifying a regular expression in **Text to find**. Additionally, disable **First occurence only** for the action to return a list of positions of the matched text. You can find more information in [Regular Expression Language - Quick Reference](/dotnet/standard/base-types/regular-expression-language-quick-reference).
In the figure below, the action searches for all occurences of words starting with a capital letter in "Items detected in Stock", and will return "Items" and "Stock" in the **Matches** list, and the position they are found at (1 and 18) in the **Positions** list.
@@ -61,7 +58,6 @@ To ensure that numbers are stored as numerical values, use the **Convert text to
Similarly, the actions **Convert text to datetime** and **Convert datetime to text** are used to ensure that dates are correctly formatted.
-
-
## Text actions
### Append line to text
@@ -184,6 +178,24 @@ Removes all occurrences of white space characters (such as space, tab, or new li
##### Exceptions
- This action doesn't include any exceptions
+
+### Reverse text
+Reverses the order of letters in a text string
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Text to reverse|Yes|Text value||The text to reverse|
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|ReversedText|Text value|The new reversed text|
+
+
+##### Exceptions
+- This action doesn't include any exceptions
+
### Change text case
Changes the casing of a text to uppercase, lowercase, title case or sentence case
@@ -340,7 +352,7 @@ Creates a list containing the substrings of a text that are separated by a speci
|Is regular expression|N/A|Boolean value|False|Specify whether the delimiter will be a regular expression. A regular expression creates a range of possibilities for the delimiter. For example, '\d' means that the delimiter could be any digit|
> [!NOTE]
-> Power Automate's regular expression engine is .NET. You can find more information in [Regular Expression Language - Quick Reference](https://docs.microsoft.com/dotnet/standard/base-types/regular-expression-language-quick-reference).
+> Power Automate's regular expression engine is .NET. You can find more information in [Regular Expression Language - Quick Reference](/dotnet/standard/base-types/regular-expression-language-quick-reference).
##### Variables Produced
|Argument|Type|Description|
@@ -367,7 +379,7 @@ Parses a text to find the first or all occurrences of a specified subtext or a r
|Ignore case|N/A|Boolean value|False|Specify whether to find the specified text using case-sensitive or case-insensitive matching|
> [!NOTE]
-> Power Automate's regular expression engine is .NET. You can find more information in [Regular Expression Language - Quick Reference](https://docs.microsoft.com/dotnet/standard/base-types/regular-expression-language-quick-reference).
+> Power Automate's regular expression engine is .NET. You can find more information in [Regular Expression Language - Quick Reference](/dotnet/standard/base-types/regular-expression-language-quick-reference).
##### Variables Produced
|Argument|Type|Description|
@@ -397,7 +409,7 @@ Replaces all occurrences of a specified subtext with another text. It can also b
|Activate escape sequences|N/A|Boolean value|False|Specify whether to use special sequences. For example, '\t' in the replacement text will be interpreted as a tab|
> [!NOTE]
-> Power Automate's regular expression engine is .NET. You can find more information in [Regular Expression Language - Quick Reference](https://docs.microsoft.com/dotnet/standard/base-types/regular-expression-language-quick-reference).
+> Power Automate's regular expression engine is .NET. You can find more information in [Regular Expression Language - Quick Reference](/dotnet/standard/base-types/regular-expression-language-quick-reference).
##### Variables Produced
|Argument|Type|Description|
@@ -425,8 +437,6 @@ Escapes a minimal set of characters (\, *, +, ?, |, {, [, (,), ^, $,., #, and wh
##### Exceptions
- This action doesn't include any exceptions
-
-
-
[!INCLUDE[footer-include](../../includes/footer-banner.md)]
\ No newline at end of file
diff --git a/articles/desktop-flows/actions-reference/uiautomation.md b/articles/desktop-flows/actions-reference/uiautomation.md
index 47ba678f6..c4deba18e 100644
--- a/articles/desktop-flows/actions-reference/uiautomation.md
+++ b/articles/desktop-flows/actions-reference/uiautomation.md
@@ -43,12 +43,18 @@ You can find more information on how to use the UI automation actions [here](../
|[Move window](#movewindowbase)|
|[Resize window](#resizewindowbase)|
|[Close window](#closewindowbase)|
+|[If window contains](#ifwindowcontainsaction)|
+|[Wait for window content](#waitforwindowcontentaction)|
+|[If image](#ifimageaction)|
|[Use desktop](#usedesktop)|
|[Select tab in window](#selecttab)|
+|[Wait for image](#waitforimageaction)|
|[Click UI element in window](#click)|
|[Select menu option in window](#selectmenuoption)|
|[Drag and drop UI element in window](#draganddropelement)|
|[Expand/collapse tree node in window](#expandcollapsetreenode)|
+|[If window](#ifwindowaction)|
+|[Wait for window](#waitforwindowaction)|
## Getting started with UI automation
@@ -495,6 +501,79 @@ Closes a specific window
|Can't close window|Indicates a problem closing the specified window|
|Can't perform window-related action in non interactive mode|Indicates a problem performing window-related action in non-interactive mode|
+
+### If window contains
+Marks the beginning of a conditional block of actions depending on whether a specific piece of text or UI element exists in a window
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Check if window|N/A|Contains UI element, Doesn't contain UI element, Contains text, Doesn't contain text|Contains UI element|Check whether a specific text or UI element exists in a window|
+|Check UI element state|N/A|Boolean value|False|Check whether a specific UI element is enabled or disabled|
+|Text|No|Text value||The text to check for|
+|UI element|No|UIControl||The UI element to check for|
+|Window|No|UIControl||The window to check if the text exists on|
+|State|N/A|Enabled, Disabled|Enabled|The UI element state to check for|
+
+
+##### Variables Produced
+- This action doesn't produce any variables
+
+##### Exceptions
+- This action doesn't include any exceptions
+-
+### Wait for window content
+Suspends the execution of the automation until a specific piece of text or UI element appears or disappears from a Window
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Wait until window|N/A|Contains UI element, Doesn't contain UI element, Contains text, Doesn't contain text|Contains UI element|Whether to wait for a specific text or UI element to appear in a window|
+|Check UI element state|N/A|Boolean value|False|Check whether a specific UI element is enabled or disabled|
+|Text|No|Text value||The text to check for|
+|UI element|No|UIControl||The UI element to check for|
+|Window|No|UIControl||The window to check if the text exists on|
+|State|N/A|Enabled, Disabled|Enabled|The UI element state to check for|
+
+
+##### Variables Produced
+- This action doesn't produce any variables
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Wait for window content failed|Indicates that the wait operation failed|
+### If image
+This action marks the beginning of a conditional block of actions depending on whether a selected image is found on the screen or not
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|If image|N/A|exists, doesn't exist|exists|Whether to check for the existence or absence of the selected image|
+|Image to check|No|List of Image||The image/s that the action will check if it/they exist|
+|Search for image on|N/A|Entire screen, Foreground window only|Entire screen|Whether to look for the specified image in the foremost window only or the entire visible screen. Neither choice will find the image if it isn't clearly visible on the screen|
+|Search Mode|N/A|Search whole screen or foreground window, Search on specified subregion of screen or foreground window|Search whole screen or foreground window|Whether to scan the entire screen (or window) to find the supplied text or only a narrowed down subregion of it|
+|Find all images in the list|N/A|Boolean value|False|Check whether all images on the list exist or don't exist|
+|X1|Yes|Numeric value||The start X coordinate of the subregion to scan for the supplied text|
+|X2|Yes|Numeric value||The end X coordinate of the subregion to scan for the supplied text|
+|Y1|Yes|Numeric value||The start Y coordinate of the subregion to scan for the supplied text|
+|Y2|Yes|Numeric value||The end Y coordinate of the subregion to scan for the supplied text|
+|Tolerance|Yes|Numeric value|10|Specify how much the image(s) searched for can differ from the originally chosen image|
+
+
+##### Variables Produced
+- This action doesn't produce any variables
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Can't check image in non interactive mode|Indicates that an image can't be identified in non-interactive mode|
+|Invalid subregion coordinates|Indicates that the coordinates of the given subregion were invalid|
+
+
+
+
+
### Use desktop
Performs desktop and taskbar related operations
@@ -531,6 +610,41 @@ Selects a tab from a group of tabs
|-----|-----|
|Selecting tab failed|Indicates a problem selecting the specified tab|
+
+### Wait for image
+This action waits until a specific image appears on the screen or on the foreground window
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Wait for image to|N/A|Appear, Disappear|Appear|Check whether to wait for the image(s) to appear or disappear|
+|Image to wait for|No|List of Image||The image/s that the action will check if it/they exist|
+|Search for image on|N/A|Entire screen, Foreground window only|Entire screen|Whether to look for the specified image in the foremost window only or the entire visible screen. Neither choice will find the image if it isn't clearly visible on the screen|
+|Search Mode|N/A|Search whole screen or foreground window, Search on specified subregion of screen or foreground window|Search whole screen or foreground window|Whether to scan the entire screen (or window) to find the supplied text or only a narrowed down subregion of it|
+|Wait for all images|N/A|Boolean value|False|Whether to wait for all the images on the list to appear(disappear), or just one of them|
+|X1|Yes|Numeric value||The start X coordinate of the subregion to scan for the supplied text|
+|X2|Yes|Numeric value||The end X coordinate of the subregion to scan for the supplied text|
+|Y1|Yes|Numeric value||The start Y coordinate of the subregion to scan for the supplied text|
+|Y2|Yes|Numeric value||The end Y coordinate of the subregion to scan for the supplied text|
+|Tolerance|Yes|Numeric value|10|Specify how much the image(s) searched for can differ from the originally chosen image|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|X|Numeric value|The X coordinate of the point where the text was found on the screen. If the text has been search in the foreground window this is relative to the top left corner of the window.|
+|Y|Numeric value|The Y coordinate of the point where the text was found on the screen. If the text has been search in the foreground window this is relative to the top left corner of the window.|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Wait for image failed|Indicates that the wait operation failed|
+|Can't check image in non interactive mode|Indicates that an image can't be identified in non-interactive mode|
+|Invalid subregion coordinates|Indicates that the coordinates of the given subregion were invalid|
+
+
+
### Click UI element in window
Clicks on any UI element of a window
@@ -608,7 +722,7 @@ Expands or collapses a node of a tree view residing in a window
|Operation|N/A|Expand, Collapse|Expand|Specify whether to expand or collapse the tree node|
> [!NOTE]
-> Power Automate's regular expression engine is .NET. You can find more information in [Regular Expression Language - Quick Reference](https://docs.microsoft.com/dotnet/standard/base-types/regular-expression-language-quick-reference).
+> Power Automate's regular expression engine is .NET. You can find more information in [Regular Expression Language - Quick Reference](/dotnet/standard/base-types/regular-expression-language-quick-reference).
##### Variables Produced
@@ -620,6 +734,52 @@ Expands or collapses a node of a tree view residing in a window
|Failed to set tree node to the specified state|Indicates a problem setting the tree node to the specified state|
+### If window
+This action marks the beginning of a conditional block of actions depending on whether a window is open or not or whether a window is the focused (foreground) window
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Get window|N/A|By window UI element, By window instance/handle, By title and/or class|By window UI element|Specify whether to look for the Window using a UI element or a combination of window title/class|
+|Window title|Yes|Text value||The window title. Wildcards can be used, like '?' or '*'.|
+|Window|No|UIControl||The window UI element|
+|Window instance|No|Numeric value||The instance or handle of the window to check|
+|Window class|Yes|Text value||If there are two windows with the same title, window class may help differentiate between them. In this case, enter the class of the window to be used.|
+|Check if window|N/A|Is open, Isn't open, Is focused, Isn't focused|Is open|The state of the window to be checked|
+
+
+##### Variables Produced
+- This action doesn't produce any variables
+
+##### Exceptions
+- This action doesn't include any exceptions
+
+
+### Wait for window
+Suspends the execution or the process until a specific window opens, closes, get or loses the focus
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Find window|N/A|By window UI element, By window instance/handle, By title and/or class|By window UI element|Specify whether to look for the window using a UI element or a combination of window title/class|
+|Window title|Yes|Text value||The window title. Wildcards can be used, like '?' or '*'.|
+|Window|No|UIControl||The window UI element|
+|Window instance|No|Numeric value||The instance or handle of the window to check|
+|Window class|Yes|Text value||If there are two windows with the same title, window class may help differentiate between them. In this case, enter the class of the window to be used|
+|Wait for window to|N/A|Open, Close, Become focused, Lose focus|Open|Whether to wait for a specific window to open, close, become focused (i.e become the foreground window), or lose focus (i.e stop being the foreground window).|
+|Focus window after it opens|N/A|Boolean value|False|Bring the window to the front after it opens, so later actions are directed at this window|
+
+
+##### Variables Produced
+- This action doesn't produce any variables
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Can't focus window|Indicates a problem focusing the specified window|
+|Wait for window failed|Indicates that the wait operation failed|
+|Can't perform window-related action in non interactive mode|Indicates a problem performing window-related action in non-interactive mode|
+
[!INCLUDE[footer-include](../../includes/footer-banner.md)]
\ No newline at end of file
diff --git a/articles/desktop-flows/actions-reference/variables.md b/articles/desktop-flows/actions-reference/variables.md
index fe6e0b76d..0d7234faa 100644
--- a/articles/desktop-flows/actions-reference/variables.md
+++ b/articles/desktop-flows/actions-reference/variables.md
@@ -3,7 +3,7 @@ title: Variables | Microsoft Docs
description: Variables Actions Reference
author: mariosleon
ms.service: power-automate
-ms.subservice: desktop-flow
+ms.subservice: desktop-flow
ms.topic: article
ms.date: 12/02/2020
ms.author: marleon
@@ -53,7 +53,7 @@ To increase or decrease the numeric value of a variable, use the **Increase vari
![Screenshot of increase variable action properties.](\media\variables\increase-var-action-properties.png)
-Most actions output their result into a variable. For example, create a blank list-type variable with the **New list** action. The **Generate random number** action outputs the random number to a variable. Select **Generate multiple numbers** to create a list-type variable with multiple random numbers.
+Most actions output their result into a variable. For example, create a blank list-type variable with the **Create new list** action. The **Generate random number** action outputs the random number to a variable. Select **Generate multiple numbers** to create a list-type variable with multiple random numbers.
![Screenshot of generate random number action properties.](\media\variables\generate-random-num-action-properties.png)
diff --git a/articles/desktop-flows/actions-reference/wait.md b/articles/desktop-flows/actions-reference/wait.md
deleted file mode 100644
index 2f11f971c..000000000
--- a/articles/desktop-flows/actions-reference/wait.md
+++ /dev/null
@@ -1,284 +0,0 @@
----
-title: Wait | Microsoft Docs
-description: Wait Actions Reference
-author: mariosleon
-ms.service: power-automate
-ms.subservice: desktop-flow
-ms.topic: article
-ms.date: 12/02/2020
-ms.author: marleon
-ms.reviewer:
-search.app:
- - Flow
-search.audienceType:
- - flowmaker
- - enduser
----
-
-# Wait
-
-
-
-Set rules for the flow to wait before specific events occur
-
-| |
-|-----|
-|[Wait for file](#waitforfileaction)|
-|[Wait for process](#waitprocessaction)|
-|[Wait for service](#waitforserviceaction)|
-|[Wait for text on screen (OCR)](#waittextonscreenaction)|
-|[Wait for web page content](#waitforwebpagecontentaction)|
-|[Wait for window content](#waitforwindowcontentaction)|
-|[Wait for image](#waitforimageaction)|
-|[Wait for window](#waitforwindowaction)|
-|[Wait for mouse](#waitformouseaction)|
-|[Wait](#wait)|
-
-## Getting started with wait actions
-
-Use wait actions to delay running subsequent actions in the flow until a certain event occurs.
-
-To create a delay before the next action, use a **Wait** action. This action sets a timer and resumes the flow when the time elapses.
-
-To create a delay until a specific file appears, use the **Wait for file** action. This action requires the path, filename of the expected file. In the example below, the action is set to fail with a timeout error if the specified file does not appear in the specified directory for 300 seconds.
-
-![Screenshot of wait for file action properties.](\media\wait\wait-for-file-example.png)
-
-When working with UI elements, create a delay until a specific element appears with the **Wait for window content** action. In the figure below, the action waits until a selected UI element **Start button** appears in its disabled (inactive) state.
-
-![Screenshot of wait for window content action properties.](\media\wait\wait-for-window-content-example.png)
-
-This action works similarly to the **Wait for web page content** action, where a UI element is expected to appear on or disappear from a webpage instead.
-
-> [!NOTE]
-> Wait actions do not pause the flow, they simply do not move on to the next action until the specified number of seconds in the action properties elapses.
-
-## Wait actions
-
-### Wait for file
-Suspend the execution of the automation until a file is created or deleted
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Wait for file to be|N/A|Created, Deleted|Created|Specifies whether to pause the flow on the creation or deletion of a certain file|
-|File path|No|File||The full path to look for the file|
-
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-- This action doesn't include any exceptions
-### Wait for process
-Suspends the execution until a process starts or stops
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Process name|No|Text value||The name of the process to check|
-|Wait for process to|N/A|Start, Stop|Start|Whether to wait until a certain process starts or stops|
-
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Can't retrieve list of processes|Indicates a problem retrieving the list of processes|
-
-### Wait for service
-Suspend the execution of the automation until a service is running, paused or stopped on the computer
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Wait for service to|N/A|Stop, Start, Pause|Start|Specifies whether the flow pauses until a certain service starts, stops or pauses|
-|Service name|No|Text value||The name of the service to check|
-
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Service not found|Indicates that the service can't be found|
-|Can't retrieve status for service|Indicates that there is a problem retrieving the status of the service|
-
-### Wait for text on screen (OCR)
-Wait until a specific text appears/disappears on the screen, on the foreground window, or relative to an image on the screen or foreground window using OCR
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Wait for text to|N/A|Appear, Disappear|Appear|Specifies whether to wait for the text to appear or disappear|
-|OCR engine type|No|OCR engine variable, Tesseract engine|OCR engine variable|The OCR engine type to use. Select a peconfigured OCR engine or set up a new one.|
-|OCR engine variable|No|OCREngineObject||The engine to use for the OCR operation|
-|Text to find|No|Text value||The text to search for in the specified source|
-|Is regular expression|N/A|Boolean value|False|Specifies whether to use a regular expression to find the specified text|
-|Search for text on|N/A|Entire screen, Foreground window|Entire screen|Specifies whether to search for the specified text on the entine visible screen or just the foreground window|
-|Search mode|N/A|Whole of specified source, Specific subregion only, Subregion relative to image|Whole of specified source|Specifies whether to scan the entire screen (or window) or a narrowed down subregion of it|
-|Image(s)|No|List of Image||The image(s) specifying the subregion (relative to the top left corner of the image) to scan for the supplied text|
-|X1|Yes|Numeric value||The start X coordinate of the subregion to scan for the supplied text|
-|Tolerance|Yes|Numeric value|10|Specifies how much the image(s) searched for can differ from the originally chosen image|
-|Y1|Yes|Numeric value||The start Y coordinate of the subregion to scan for the supplied text|
-|X1|Yes|Numeric value||The start X coordinate of the subregion relative to the specified image to scan for the supplied text|
-|X2|Yes|Numeric value||The end X coordinate of the subregion to scan for the supplied text|
-|Y1|Yes|Numeric value||The start Y coordinate of the subregion relative to the specified image to scan for the supplied text|
-|Y2|Yes|Numeric value||The end Y coordinate of the subregion to scan for the supplied text|
-|X2|Yes|Numeric value||The end X coordinate of the subregion relative to the specified image to scan for the supplied text|
-|Y2|Yes|Numeric value||The end Y coordinate of the subregion relative to the specified image to scan for the supplied text|
-
-> [!NOTE]
-> Power Automate's regular expression engine is .NET. You can find more information in [Regular Expression Language - Quick Reference](https://docs.microsoft.com/dotnet/standard/base-types/regular-expression-language-quick-reference).
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|LocationOfTextFoundX|Numeric value|The X coordinate of the point where the text appears on the screen. If the search is performed in the foreground window, the coordinate returned is relative to the top left corner of the window|
-|LocationOfTextFoundY|Numeric value|The X coordinate of the point where the text appears on the screen. If the search is performed in the foreground window, the coordinate returned is relative to the top left corner of the window|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Can't check if text exists in non interactive mode|Indicates that it isn't possible to check for the text on the screen when in non-interactive mode|
-|Invalid subregion coordinates|Indicates that the specified subregion coordinates are invalid|
-|Failed to analyze text with OCR|Indicates an error occured while trying to analyze the text using OCR|
-|OCR engine not alive|Indicates that the OCR engine isn't alive|
-
-### Wait for web page content
-Suspend the flow until a specific piece of text or web page element appears or disappears from a web page
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Web browser instance|No|Web browser instance||Enter or choose the variable that contains the web browser instance to work with|
-|Wait for web page to|N/A|Contain element, Not contain element, Contain text, Not contain text|Contain element|Specify whether to wait for a specific text or web page element to (dis)appear in a web page|
-|UI element|No|WebControl||Select the UI element on web page to check for|
-|Text|No|Text value||Enter the text on web page to check for|
-
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Wait for web page content failed|Indicates that the wait operation failed|
-
-### Wait for window content
-Suspends the execution of the automation until a specific piece of text or UI element appears or disappears from a Window
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Wait until window|N/A|Contains UI element, Doesn't contain UI element, Contains text, Doesn't contain text|Contains UI element|Whether to wait for a specific text or UI element to appear in a window|
-|Check UI element state|N/A|Boolean value|False|Check whether a specific UI element is enabled or disabled|
-|Text|No|Text value||The text to check for|
-|UI element|No|UIControl||The UI element to check for|
-|Window|No|UIControl||The window to check if the text exists on|
-|State|N/A|Enabled, Disabled|Enabled|The UI element state to check for|
-
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Wait for window content failed|Indicates that the wait operation failed|
-
-### Wait for image
-This action waits until a specific image appears on the screen or on the foreground window
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Wait for image to|N/A|Appear, Disappear|Appear|Check whether to wait for the image(s) to appear or disappear|
-|Image to wait for|No|List of Image||The image/s that the action will check if it/they exist|
-|Search for image on|N/A|Entire screen, Foreground window only|Entire screen|Whether to look for the specified image in the foremost window only or the entire visible screen. Neither choice will find the image if it isn't clearly visible on the screen|
-|Search Mode|N/A|Search whole screen or foreground window, Search on specified subregion of screen or foreground window|Search whole screen or foreground window|Whether to scan the entire screen (or window) to find the supplied text or only a narrowed down subregion of it|
-|Wait for all images|N/A|Boolean value|False|Whether to wait for all the images on the list to appear(disappear), or just one of them|
-|X1|Yes|Numeric value||The start X coordinate of the subregion to scan for the supplied text|
-|X2|Yes|Numeric value||The end X coordinate of the subregion to scan for the supplied text|
-|Y1|Yes|Numeric value||The start Y coordinate of the subregion to scan for the supplied text|
-|Y2|Yes|Numeric value||The end Y coordinate of the subregion to scan for the supplied text|
-|Tolerance|Yes|Numeric value|10|Specify how much the image(s) searched for can differ from the originally chosen image|
-
-
-##### Variables Produced
-|Argument|Type|Description|
-|-----|-----|-----|
-|X|Numeric value|The X coordinate of the point where the text was found on the screen. If the text has been search in the foreground window this is relative to the top left corner of the window.|
-|Y|Numeric value|The Y coordinate of the point where the text was found on the screen. If the text has been search in the foreground window this is relative to the top left corner of the window.|
-
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Wait for image failed|Indicates that the wait operation failed|
-|Can't check image in non interactive mode|Indicates that an image can't be identified in non-interactive mode|
-|Invalid subregion coordinates|Indicates that the coordinates of the given subregion were invalid|
-
-### Wait for window
-Suspends the execution or the process until a specific window opens, closes, get or loses the focus
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Find window|N/A|By window UI element, By window instance/handle, By title and/or class|By window UI element|Specify whether to look for the window using a UI element or a combination of window title/class|
-|Window title|Yes|Text value||The window title. Wildcards can be used, like '?' or '*'.|
-|Window|No|UIControl||The window UI element|
-|Window instance|No|Numeric value||The instance or handle of the window to check|
-|Window class|Yes|Text value||If there are two windows with the same title, window class may help differentiate between them. In this case, enter the class of the window to be used|
-|Wait for window to|N/A|Open, Close, Become focused, Lose focus|Open|Whether to wait for a specific window to open, close, become focused (i.e become the foreground window), or lose focus (i.e stop being the foreground window).|
-|Focus window after it opens|N/A|Boolean value|False|Bring the window to the front after it opens, so later actions are directed at this window|
-
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-|Exception|Description|
-|-----|-----|
-|Can't focus window|Indicates a problem focusing the specified window|
-|Wait for window failed|Indicates that the wait operation failed|
-|Can't perform window-related action in non interactive mode|Indicates a problem performing window-related action in non-interactive mode|
-
-### Wait for mouse
-Suspends the execution of the flow until the mouse pointer changes, usually to or from the 'wait cursor' or hourglass
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Wait for mouse pointer to|N/A|Become, Become not|Become|Choose what action of the mouse cursor to wait for.|
-|Mouse pointer|N/A|Arrow, App starting, Cross, Hand, Help, IBeam, Wait cursor|Arrow|Specify the mouse pointer state.|
-
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-- This action doesn't include any exceptions
-### Wait
-Suspends the execution of the flow for a specified amount of seconds
-
-##### Input Parameters
-|Argument|Optional|Accepts|Default Value|Description|
-|-----|-----|-----|-----|-----|
-|Duration|No|Numeric value||Time duration in seconds|
-
-
-##### Variables Produced
-- This action doesn't produce any variables
-
-##### Exceptions
-- This action doesn't include any exceptions
-
-
-
-[!INCLUDE[footer-include](../../includes/footer-banner.md)]
\ No newline at end of file
diff --git a/articles/desktop-flows/actions-reference/web.md b/articles/desktop-flows/actions-reference/web.md
index cd5a90499..a838af85e 100644
--- a/articles/desktop-flows/actions-reference/web.md
+++ b/articles/desktop-flows/actions-reference/web.md
@@ -1,6 +1,6 @@
---
-title: Web | Microsoft Docs
-description: Web Actions Reference
+title: HTTP | Microsoft Docs
+description: HTTP Actions Reference
author: mariosleon
ms.service: power-automate
ms.subservice: desktop-flow
@@ -15,7 +15,7 @@ search.audienceType:
- enduser
---
-# Web
+# HTTP
Communicate with web applications and services directly
@@ -30,7 +30,7 @@ You can find more information on how to use the web actions [here](../automation
## Getting started with web actions
-Web actions enable users to interact with APIs and send web requests that perform various operations, such as uploading and downloading data and files.
+HTTP actions enable users to interact with APIs and send web requests that perform various operations, such as uploading and downloading data and files.
To send an API request, like POST, GET, PUT, or DELETE, you can use the **Invoke web service** action.
@@ -57,9 +57,9 @@ If the webserver requires authentication, you can populate your credentials in t
The downloaded text is stored in a variable named **WebPageText**. If you use the action to download files, you can select to save them locally on your desktop.
> [!NOTE]
-> Apart from the web actions, Power Automate enables users to interact with web application through the web automation actions. You can find more information about web automation actions in [Web automation](webautomation.md).
+> Apart from the HTTP actions, Power Automate enables users to interact with web application through the browser automation actions. You can find more information about browser automation actions in [Browser automation](webautomation.md).
-## Web actions
+## HTTP actions
### Download from web
Downloads text or a file from the web and stores it
diff --git a/articles/desktop-flows/actions-reference/webautomation.md b/articles/desktop-flows/actions-reference/webautomation.md
index a5c4dfe3a..698ae6a99 100644
--- a/articles/desktop-flows/actions-reference/webautomation.md
+++ b/articles/desktop-flows/actions-reference/webautomation.md
@@ -1,6 +1,6 @@
---
-title: Web automation | Microsoft Docs
-description: Web automation Actions Reference
+title: Browser automation | Microsoft Docs
+description: Browser automation Actions Reference
author: mariosleon
ms.service: power-automate
ms.subservice: desktop-flow
@@ -15,11 +15,11 @@ search.audienceType:
- enduser
---
-# Web automation
+# Browser automation
Start and manage web applications on browsers
-You can find more information on how to use the web automation actions [here](../automation-web.md)
+You can find more information on how to use the browser automation actions [here](../automation-web.md)
| |
|-----|
@@ -33,10 +33,12 @@ You can find more information on how to use the web automation actions [here](..
|[Select radio button on web page](#selectradiobuttonbase)|
|[Set drop-down list value on web page](#setdropdownlistvaluebase)|
|[Press button on web page](#pressbuttonbase)|
+|[If web page contains](#ifwebpagecontainsaction)|
+|[Wait for web page content](#waitforwebpagecontentaction)|
|[Launch new Internet Explorer](#launchinternetexplorerbase)|
|[Launch new Firefox](#launchfirefoxbase)|
|[Launch new Chrome](#launchchromebase)|
-|[Launch new Edge](#launchedgebase)|
+|[Launch new Microsoft Edge](#launchedgebase)|
|[Create new tab](#createnewtabbase)|
|[Go to web page](#gotowebpagebase)|
|[Click link on web page](#clickbase)|
@@ -45,11 +47,11 @@ You can find more information on how to use the web automation actions [here](..
|[Hover mouse over element on web page](#hoveroverelement)|
|[Close web browser](#closewebbrowser)|
-## Getting started with web automation
+## Getting started with browser automation
-Web automation actions enable users to interact with web applications and components through UI elements. UI elements describe uniquely the web components that the action is going to handle.
+Browser automation actions enable users to interact with web applications and components through UI elements. UI elements describe uniquely the web components that the action is going to handle.
-To add a new UI element, select **Add UI element** through the deployed web automation action or the **UI elements** tab of the flow designer.
+To add a new UI element, select **Add UI element** through the deployed browser automation action or the **UI elements** tab of the flow designer.
![Screenshot of the options to create a new UI element.](\media\webautomation\create-ui-element.png)
@@ -66,7 +68,7 @@ To develop more dynamic web flows, replace the **Equals to** operators with othe
>[!NOTE]
> You can find more information about developing web flows and creating custom selectors in [Automate web flows](../automation-web.md) and [Build a custom selector](../build-custom-selectors.md), respectively.
-## Web automation actions
+## Browser automation actions
## Web data extraction
Extract data from web applications, from a single value up to tables or custom multiple pieces of data
@@ -313,6 +315,49 @@ Press a web page button
|Element with specified CSS selector not found|Indicates that a web page element with the specified CSS selector was not found|
|Failed to click on web page button|Indicates a problem clicking the specified web page button|
+
+### If web page contains
+Mark the beginning of a conditional block of actions, depending on whether a specific piece of text or element exists in a web page
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Web browser instance|No|Web browser instance||Enter or choose the variable that contains the web browser instance to work with|
+|Check if web page|N/A|Contains element, Doesn't contain element, Contains text, Doesn't contain text|Contains element|Check whether a specific text or web page element exists in a web page|
+|UI element|No|WebControl||Select the UI element on web page to check for|
+|Text|No|Text value||Enter the text on web page to check for|
+
+
+##### Variables Produced
+- This action doesn't produce any variables
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Failed to communicate with the browser|Indicates that an error with the browser occured|
+
+### Wait for web page content
+Suspend the flow until a specific piece of text or web page element appears or disappears from a web page
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Web browser instance|No|Web browser instance||Enter or choose the variable that contains the web browser instance to work with|
+|Wait for web page to|N/A|Contain element, Not contain element, Contain text, Not contain text|Contain element|Specify whether to wait for a specific text or web page element to (dis)appear in a web page|
+|UI element|No|WebControl||Select the UI element on web page to check for|
+|Text|No|Text value||Enter the text on web page to check for|
+
+
+##### Variables Produced
+- This action doesn't produce any variables
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Wait for web page content failed|Indicates that the wait operation failed|
+
+
+
### Launch new Internet Explorer
Launch a new instance or attach to a running instance of Internet Explorer for automating web sites and web applications
@@ -338,7 +383,7 @@ Launch a new instance or attach to a running instance of Internet Explorer for a
##### Variables Produced
|Argument|Type|Description|
|-----|-----|-----|
-|InternetExplorer|Web browser instance|The Internet Explorer instance to use with web automation actions|
+|InternetExplorer|Web browser instance|The Internet Explorer instance to use with browser automation actions|
##### Exceptions
@@ -369,7 +414,7 @@ Launch a new instance or attach to a running instance of Firefox for automating
##### Variables Produced
|Argument|Type|Description|
|-----|-----|-----|
-|Browser|Web browser instance|The Firefox instance to use with web automation actions|
+|Browser|Web browser instance|The Firefox instance to use with browser automation actions|
##### Exceptions
@@ -400,7 +445,7 @@ Launch a new instance or attach to a running instance of Chrome for automating w
##### Variables Produced
|Argument|Type|Description|
|-----|-----|-----|
-|Browser|Web browser instance|The Chrome instance to use with web automation actions|
+|Browser|Web browser instance|The Chrome instance to use with browser automation actions|
##### Exceptions
@@ -431,7 +476,7 @@ Launch a new instance or attach to a running instance of Edge for automating web
##### Variables Produced
|Argument|Type|Description|
|-----|-----|-----|
-|Browser|Web browser instance|The Edge instance to use with web automation actions|
+|Browser|Web browser instance|The Edge instance to use with browser automation actions|
##### Exceptions
@@ -456,7 +501,7 @@ Create a new tab and navigate to the given URL (supported in Edge, Chrome and Fi
##### Variables Produced
|Argument|Type|Description|
|-----|-----|-----|
-|NewBrowser|Web browser instance|The new web browser instance to use with web automation actions|
+|NewBrowser|Web browser instance|The new web browser instance to use with browser automation actions|
##### Exceptions
diff --git a/articles/desktop-flows/actions-reference/workstation.md b/articles/desktop-flows/actions-reference/workstation.md
new file mode 100644
index 000000000..b603d029e
--- /dev/null
+++ b/articles/desktop-flows/actions-reference/workstation.md
@@ -0,0 +1,292 @@
+---
+title: Workstation | Microsoft Docs
+description: Workstation Actions Reference
+author: mariosleon
+ms.service: power-automate
+ms.subservice: desktop-flow
+ms.topic: article
+ms.date: 12/02/2020
+ms.author: marleon
+ms.reviewer:
+search.app:
+ - Flow
+search.audienceType:
+ - flowmaker
+ - enduser
+---
+
+# Workstation
+
+Perform a variety of tasks on the workstation
+
+| |
+|-----|
+|[Print document](#printdocument)|
+|[Get default printer](#getdefaultprinter)|
+|[Set default printer](#setdefaultprinter)|
+|[Log off user](#logoffuser)|
+|[Shutdown computer](#shutdowncomputer)|
+|[Show desktop](#showdesktop)|
+|[Lock workstation](#lockworkstation)|
+|[Play sound](#playsoundbase)|
+|[Empty recycle bin](#emptyrecyclebin)|
+|[Take screenshot](#takescreenshotbase)|
+|[Control screen saver](#controlscreensaver)|
+|[Get screen resolution](#getscreenresolution)|
+|[Set screen resolution](#setscreenresolution)|
+
+## Getting started with workstation actions
+
+The workstation group of actions provides a collection of actions that automate some essential functionalities of your workstation.
+
+To print a document, deploy the **Print document** action and populate the path of the file you want to print.
+
+![screenshot of the Print document action.](\media\workstation\print-document-action.png)
+
+To change the default printer of the workstation, use the **Set default printer** action. To check which is the current default printer, use the **Get default printer** action.
+
+If you want to sign out of your Windows account, use the **Log off user** action. Additionally, you can use the **Shutdown computer** and **Lock workstation** actions to shut down or lock your workstation, respectively.
+
+To change the resolution of any of your screens, use the **Set screen resolution**. The action requires you to populate the ID number of the screen, the width and height, the bit count, and the frequency. You can click the **Available screen resolutions** button to see all the available resolutions for each screen. Also, you can retrieve the current values of the mentioned attributes with the **Get screen resolution** action.
+
+![screenshot of the Set screen resolution action.](\media\workstation\set-screen-resolution-action.png)
+
+## Workstation actions
+
+
+### Print document
+Prints a document on the default printer
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Document to print|No|File||The path of the document to print|
+
+
+##### Variables Produced
+- This action doesn't produce any variables
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Document not found|Indicates that the specified document was not found|
+|Access denied for document|Indicates that access was denied for the provided document|
+|Can't print document|Indicates a problem printing the specified document|
+
+### Get default printer
+Gets the name of the default printer
+
+##### Input Parameters
+- This action doesn't require any input
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|PrinterName|Text value|The name of the default printer|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Can't get default printer|Indicates a problem getting the default printer|
+
+### Set default printer
+Sets a printer as the default printer
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Printer name|No|Text value||The name of the printer to set as default|
+
+
+##### Variables Produced
+- This action doesn't produce any variables
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Can't set default printer|Indicates a problem setting the default printer|
+
+
+### Log off user
+Logs off the current user
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Force log off|N/A|Boolean value|False|Specify whether to force the user account to log off, regardless of unsaved files or programs that won't close|
+
+
+##### Variables Produced
+- This action doesn't produce any variables
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Can't log off user in non interactive mode|Indicates a problem logging off the user in non-interactive mode|
+|Can't log off the current user|Indicates a problem logging off the current user|
+
+### Shutdown computer
+Shuts down the computer
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Action to perform|N/A|Shutdown, Restart, Suspend, Hibernate|Shutdown|Specify which shutdown option the computer will perform|
+|Force|N/A|Boolean value|False|Specify whether to force the computer to shut down, regardless of unsaved files or programs that won't close|
+
+
+##### Variables Produced
+- This action doesn't produce any variables
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Can't shut down the computer|Indicates a problem shutting down the computer|
+
+### Show desktop
+Shows the desktop
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Operation|N/A|Minimize all windows (show desktop), Restore all windows (undo show desktop)|Minimize all windows (show desktop)|Specify whether to minimize all windows to reveal the desktop or restore all windows to their original respective states|
+
+
+##### Variables Produced
+- This action doesn't produce any variables
+
+##### Exceptions
+- This action doesn't include any exceptions
+### Lock workstation
+Locks the workstation's display to protect it from unauthorized use
+
+##### Input Parameters
+- This action doesn't require any input
+
+##### Variables Produced
+- This action doesn't produce any variables
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Can't lock the computer in non interactive mode|Indicates a problem locking the computer in non interactive mode|
+|Can't lock the computer|Indicates a problem locking the computer in non-interactive mode|
+
+### Play sound
+Plays a system sound or a wav file
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Play sound from|N/A|System, WAV file|System|The type of sound to play|
+|Sound to play|N/A|Asterisk, Beep, Exclamation, Hand, Question|Asterisk|The specific sound to play|
+|File to play|No|File||The full path of the specific WAV file to play|
+
+
+##### Variables Produced
+- This action doesn't produce any variables
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Can't find sound file|Indicates that the sound file could not be found|
+|Invalid sound file|Indicates an invalid sound file|
+
+### Empty recycle bin
+Deletes all files from the windows recycle bin
+
+##### Input Parameters
+- This action doesn't require any input
+
+##### Variables Produced
+- This action doesn't produce any variables
+
+##### Exceptions
+- This action doesn't include any exceptions
+### Take screenshot
+Takes a screenshot of the foreground window or the specified screen and saves the image in a file or to the clipboard
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Capture|N/A|All screens, Primary screen, Select screen, Foreground window|All screens|The area to capture|
+|Screen to capture|No|Numeric value||Specify which screen to capture|
+|Save screenshot to|N/A|Clipboard, File|Clipboard|The location to save the screenshot to|
+|Image file|No|File||The full path of the file name where the captured image will be saved|
+|Image format|N/A|BMP, EMF, EXIF, GIF, JPG, PNG, TIFF, WMF|BMP|The format for the image file to save|
+
+
+##### Variables Produced
+- This action doesn't produce any variables
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Failed to take screenshot|Indicates a problem taking the screenshot|
+|Failed to save screenshot to file|Indicates a problem saving the screenshot to a file|
+|Failed to set screenshot to clipboard|Indicates a problem setting the screenshot to the clipboard|
+|Failed to get specified screen|Indicates a problem getting the specified screen|
+
+### Control screen saver
+Enables, disables, starts or stops the screensaver
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Screen saver action|N/A|Enable, Disable, Start, Stop|Enable|The function of the screensaver|
+
+
+##### Variables Produced
+- This action doesn't produce any variables
+
+##### Exceptions
+- This action doesn't include any exceptions
+-
+-
+### Get screen resolution
+Gets the width, height, bit count and frequency of a selected monitor
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Monitor number|No|Numeric value||The number of the monitor to get the resolution of|
+
+
+##### Variables Produced
+|Argument|Type|Description|
+|-----|-----|-----|
+|MonitorWidth|Numeric value|The width of the monitor|
+|MonitorHeight|Numeric value|The height of the monitor|
+|MonitorBitCount|Numeric value|The monitor bit count|
+|MonitorFrequency|Numeric value|The monitor frequency|
+
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Failed to get the screen's resolution|Indicates a problem getting the screen's resolution|
+
+### Set screen resolution
+Sets the width, height, bit count and frequency of a selected monitor during an attended desktop flow run.
+
+> [!Important]
+>To use the **Set screen resolution** action in flows triggered through the Power Automate portal, you have to be connected to the console session of your machine, where you can manually change the screen resolution. For example, you can use your machine's physical screen to connect to the machine. In remote sessions, such as unattended scenarios that use remote desktop clients, the action has no effect, as users can't manually change the resolution.
+
+##### Input Parameters
+|Argument|Optional|Accepts|Default Value|Description|
+|-----|-----|-----|-----|-----|
+|Monitor number|No|Numeric value||The number of monitor to set the resolution of|
+|Monitor width|No|Numeric value||The value to set the monitor width to|
+|Monitor height|No|Numeric value||The value to set the monitor height to|
+|Monitor bit count|No|Numeric value||The value to set the monitor bit count to|
+|Monitor frequency|No|Numeric value||The value to set the monitor frequency to|
+
+
+##### Variables Produced
+- This action doesn't produce any variables
+
+##### Exceptions
+|Exception|Description|
+|-----|-----|
+|Failed to set the screen's resolution|Indicates a problem setting the screen's resolution|
\ No newline at end of file
diff --git a/articles/desktop-flows/automation-web.md b/articles/desktop-flows/automation-web.md
index cc689c9b1..1d77b5677 100644
--- a/articles/desktop-flows/automation-web.md
+++ b/articles/desktop-flows/automation-web.md
@@ -18,7 +18,7 @@ search.audienceType:
-The flow designer includes a number of actions under the **Web automation** category, each of them corresponding to an interaction between a user and a web browser.
+The flow designer includes a number of actions under the **Browser automation** category, each of them corresponding to an interaction between a user and a web browser.
Four web browsers are currently supported:
@@ -27,20 +27,20 @@ Four web browsers are currently supported:
* Firefox
* Chrome
-Web automation is achieved by launching, or attaching to, one of the aforementioned browsers, then performing web automation actions on them. Development may be performed manually, or through the use of the web recorder.
+Browser automation is achieved by launching, or attaching to, one of the aforementioned browsers, then performing browser automation actions on them. Development may be performed manually, or through the use of the web recorder.
-## Building a web automation flow
+## Building a browser automation flow
-To begin a web automation flow, use one of the Launch web browser actions (**Launch new Internet Explorer**, **Launch new Edge**, **Launch new Firefox**, or **Launch new Chrome**) to start a new browser session, or attach to an already existing one:
+To begin a browser automation flow, use one of the Launch web browser actions (**Launch new Internet Explorer**, **Launch new Edge**, **Launch new Firefox**, or **Launch new Chrome**) to start a new browser session, or attach to an already existing one:
![Launch web browser.](.\media\web-automation\launch-web-browser-action.png)
> [!NOTE]
> Some browsers may require configuration before they can be used in Power Automate. Refer to the [relevant article](using-browsers.md) for more information.
-After the browser session is stored in a variable, add other web automation actions to interact with the browser's content. The **Web form filling** action group focuses on providing input to web pages, while **Web data extraction** actions draw data from web pages, to be used in the flow.
+After the browser session is stored in a variable, add other browser automation actions to interact with the browser's content. The **Web form filling** action group focuses on providing input to web pages, while **Web data extraction** actions draw data from web pages, to be used in the flow.
-Most web automation actions require a browser instance as input, as well as a web element with which to interact:
+Most browser automation actions require a browser instance as input, as well as a web element with which to interact:
![Web action inputs.](.\media\web-automation\web-action-inputs.png)
@@ -79,7 +79,7 @@ To extract larger amounts of data, use the **Extract data from web page** action
![Extracting data table from web page.](.\media\web-automation\extracting-data-table-from-web-page.png)
-You'll find the list of web automation actions available in the [Actions reference](actions-reference/webautomation.md).
+You'll find the list of browser automation actions available in the [Actions reference](actions-reference/webautomation.md).
## Interacting with the web and web services
diff --git a/articles/desktop-flows/build-custom-selectors.md b/articles/desktop-flows/build-custom-selectors.md
index bff7c53bb..2e227cbea 100644
--- a/articles/desktop-flows/build-custom-selectors.md
+++ b/articles/desktop-flows/build-custom-selectors.md
@@ -59,7 +59,7 @@ Assume that you want to edit the selector to work with a Notepad window named **
In the previous example, the selector located a Notepad window with a specific title. To make the selector more dynamic, replace the **Equals to** operator with other operators or regular expressions.
> [!Note]
-> Power Automate's regular expression engine is .NET. You can find more information in [Regular Expression Language - Quick Reference](https://docs.microsoft.com/dotnet/standard/base-types/regular-expression-language-quick-reference).
+> Power Automate's regular expression engine is .NET. You can find more information in [Regular Expression Language - Quick Reference](/dotnet/standard/base-types/regular-expression-language-quick-reference).
![All the available selector operators.](media/build-custom-selectors/selector-operators.png)
diff --git a/articles/desktop-flows/create-processes.md b/articles/desktop-flows/create-processes.md
index c4578237f..6abd209f1 100644
--- a/articles/desktop-flows/create-processes.md
+++ b/articles/desktop-flows/create-processes.md
@@ -87,7 +87,7 @@ You need to have a Power Automate *Per user plan with attended RPA* to use Pow
1. Once signed in, you will see the WinAutomation console with a few example
Processes. To get started, go to **Options** \> **Help** \> **Getting Started**, and then go through a few
- examples of creating simple Processes or check out information from [WinAutomation docs: Building a Simple Process](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/process-development-tips/building-a-simple-process/how-to-create-a-simple-process). You can learn more from [WinAutomation getting started tutorials](https://www.winautomation.com/support/tutorials/).
+ examples of creating simple Processes or check out information from [WinAutomation docs: Building a Simple Process](/previous-versions/troubleshoot/winautomation/process-development-tips/building-a-simple-process/how-to-create-a-simple-process). You can learn more from [WinAutomation getting started tutorials](https://www.winautomation.com/support/tutorials/).
You can now create your own WinAutomation Processes and test them locally.
@@ -140,7 +140,7 @@ You can now create your own WinAutomation Processes and test them locally.
1. If you want WinAutomation to capture a screenshot when a Process fails, do the following:
-1. From the WinAutomation Console, right click on a Process, select "Edit Process's Properties". Go to the "Error Handling" tab and choose "Override Default Options". Click "Add screenshot to logs" and save. Now if a Process fails, you can view the screenshot captured at runtime from the Windows recorder (V1) flow run details. For more information on Process properties, see [WinAutomation docs: Process Properties](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/product-documentation/winautomation-console/winautomation-process-properties).
+1. From the WinAutomation Console, right click on a Process, select "Edit Process's Properties". Go to the "Error Handling" tab and choose "Override Default Options". Click "Add screenshot to logs" and save. Now if a Process fails, you can view the screenshot captured at runtime from the Windows recorder (V1) flow run details. For more information on Process properties, see [WinAutomation docs: Process Properties](/previous-versions/troubleshoot/winautomation/product-documentation/winautomation-console/winautomation-process-properties).
![Process properties screen.](../media/create-processes/process-properties.png)
@@ -190,28 +190,28 @@ To reset the license information stored by WinAutomation, you can delete the fol
Follow the links in this section to troubleshooting issues you may experience.
WinAutomation
-- [Installation errors](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/support-tips/winautomation-installation-errors/how-to-uninstall-winautomation)
-- [Console](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/support-tips/winautomation-console/backup-winautomation-processes-database)
-- [Process errors](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/support-tips/winautomation-process-errors/additional-autologin-settings)
-- [Web automation](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/support-tips/web-automation/browser-unavailable)
-- [UI automation](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/support-tips/ui-automation/cannot-add-control-of-java-elements)
-- [Excel automation](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/support-tips/excel-automation/excel-launch-error-800700c1-is-not-valid-win32-application)
-- [Image Processing](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/support-tips/image-processing/capturefast-failed-to-upload-document)
-- [Email automation](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/support-tips/email-automation/connect-to-exchange-server-using-exchange-server-address)
-- [Databases](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/support-tips/databases/ace-oledb-12-0-provider-not-registered-on-local-machine)
+- [Installation errors](/previous-versions/troubleshoot/winautomation/support-tips/winautomation-installation-errors/how-to-uninstall-winautomation)
+- [Console](/previous-versions/troubleshoot/winautomation/support-tips/winautomation-console/backup-winautomation-processes-database)
+- [Process errors](/previous-versions/troubleshoot/winautomation/support-tips/winautomation-process-errors/additional-autologin-settings)
+- [Web automation](/previous-versions/troubleshoot/winautomation/support-tips/web-automation/browser-unavailable)
+- [UI automation](/previous-versions/troubleshoot/winautomation/support-tips/ui-automation/cannot-add-control-of-java-elements)
+- [Excel automation](/previous-versions/troubleshoot/winautomation/support-tips/excel-automation/excel-launch-error-800700c1-is-not-valid-win32-application)
+- [Image Processing](/previous-versions/troubleshoot/winautomation/support-tips/image-processing/capturefast-failed-to-upload-document)
+- [Email automation](/previous-versions/troubleshoot/winautomation/support-tips/email-automation/connect-to-exchange-server-using-exchange-server-address)
+- [Databases](/previous-versions/troubleshoot/winautomation/support-tips/databases/ace-oledb-12-0-provider-not-registered-on-local-machine)
ProcessRobot
-- [Control Desk](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/support-tips/processrobot-control-desk/avconv-exe-has-stopped-working)
-- [Process Studio](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/support-tips/processrobot-process-studio/cannot-edit-import-export-compare-versions-of-process)
-- [ProcessRobot database](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/support-tips/processrobot-database/connect-processrobot-server-to-sql-database-with-windows-authentication)
-- [Robot errors](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/support-tips/processrobot-robot-errors/cjjc01-janitor-error)
-- [Process errors](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/support-tips/processrobot-process-errors/botstack-high-density-tips-and-problems)
-- [Web automation](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/support-tips/web-automation/browser-unavailable)
-- [UI automation](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/support-tips/ui-automation/cannot-add-control-of-java-elements)
-- [Excel automation](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/support-tips/excel-automation/excel-launch-error-800700c1-is-not-valid-win32-application)
-- [Image Processing](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/support-tips/image-processing/capturefast-failed-to-upload-document)
-- [Email automation](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/support-tips/email-automation/connect-to-exchange-server-using-exchange-server-address)
-- [Databases](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/support-tips/databases/ace-oledb-12-0-provider-not-registered-on-local-machine)
+- [Control Desk](/previous-versions/troubleshoot/winautomation/support-tips/processrobot-control-desk/avconv-exe-has-stopped-working)
+- [Process Studio](/previous-versions/troubleshoot/winautomation/support-tips/processrobot-process-studio/cannot-edit-import-export-compare-versions-of-process)
+- [ProcessRobot database](/previous-versions/troubleshoot/winautomation/support-tips/processrobot-database/connect-processrobot-server-to-sql-database-with-windows-authentication)
+- [Robot errors](/previous-versions/troubleshoot/winautomation/support-tips/processrobot-robot-errors/cjjc01-janitor-error)
+- [Process errors](/previous-versions/troubleshoot/winautomation/support-tips/processrobot-process-errors/botstack-high-density-tips-and-problems)
+- [Web automation](/previous-versions/troubleshoot/winautomation/support-tips/web-automation/browser-unavailable)
+- [UI automation](/previous-versions/troubleshoot/winautomation/support-tips/ui-automation/cannot-add-control-of-java-elements)
+- [Excel automation](/previous-versions/troubleshoot/winautomation/support-tips/excel-automation/excel-launch-error-800700c1-is-not-valid-win32-application)
+- [Image Processing](/previous-versions/troubleshoot/winautomation/support-tips/image-processing/capturefast-failed-to-upload-document)
+- [Email automation](/previous-versions/troubleshoot/winautomation/support-tips/email-automation/connect-to-exchange-server-using-exchange-server-address)
+- [Databases](/previous-versions/troubleshoot/winautomation/support-tips/databases/ace-oledb-12-0-provider-not-registered-on-local-machine)
## Best practices for creating processes
@@ -221,38 +221,38 @@ Here are some tips for you to consider when you create processes.
WinAutomation
-- [Triggers](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/product-documentation/winautomation-console/winautomation-triggers)
-- [Web Automation](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/process-development-tips/web-automation/alternative-way-to-extract-data-from-web)
-- [UI Automation](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/process-development-tips/ui-automation/active-directory-actions-and-dsquery-command)
-- [Excel Automation](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/process-development-tips/excel-automation/autofit-excel-columns-using-vbscript)
-- [Text Manipulation](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/process-development-tips/text-manipulation/convert-datetime-to-text-custom-date-formats)
-- [Image Processing](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/process-development-tips/image-processing/how-to-print-images)
-- [Email Automation](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/process-development-tips/email-automation/how-to-embed-images-to-email-body)
-- [Databases](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/process-development-tips/databases/connection-strings-and-drivers)
-- [Mathematical Operations](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/process-development-tips/mathematical-operations/basic-calculations)
-- [Variables](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/process-development-tips/variables/check-if-a-variable-is-null)
+- [Triggers](/previous-versions/troubleshoot/winautomation/product-documentation/winautomation-console/winautomation-triggers)
+- [Web Automation](/previous-versions/troubleshoot/winautomation/process-development-tips/web-automation/alternative-way-to-extract-data-from-web)
+- [UI Automation](/previous-versions/troubleshoot/winautomation/process-development-tips/ui-automation/active-directory-actions-and-dsquery-command)
+- [Excel Automation](/previous-versions/troubleshoot/winautomation/process-development-tips/excel-automation/autofit-excel-columns-using-vbscript)
+- [Text Manipulation](/previous-versions/troubleshoot/winautomation/process-development-tips/text-manipulation/convert-datetime-to-text-custom-date-formats)
+- [Image Processing](/previous-versions/troubleshoot/winautomation/process-development-tips/image-processing/how-to-print-images)
+- [Email Automation](/previous-versions/troubleshoot/winautomation/process-development-tips/email-automation/how-to-embed-images-to-email-body)
+- [Databases](/previous-versions/troubleshoot/winautomation/process-development-tips/databases/connection-strings-and-drivers)
+- [Mathematical Operations](/previous-versions/troubleshoot/winautomation/process-development-tips/mathematical-operations/basic-calculations)
+- [Variables](/previous-versions/troubleshoot/winautomation/process-development-tips/variables/check-if-a-variable-is-null)
ProcessRobot
-- [Control Desk](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/support-tips/processrobot-control-desk/avconv-exe-has-stopped-working)
-- [Dashboards](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/support-tips/processrobot-dashboards/dashboard-designer-tips)
-- [Triggers](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/product-documentation/winautomation-console/winautomation-triggers)
-- [Web Automation](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/process-development-tips/web-automation/alternative-way-to-extract-data-from-web)
-- [UI Automation](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/process-development-tips/ui-automation/active-directory-actions-and-dsquery-command)
-- [Excel Automation](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/process-development-tips/excel-automation/autofit-excel-columns-using-vbscript)
-- [Text Manipulation](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/process-development-tips/text-manipulation/convert-datetime-to-text-custom-date-formats)
-- [Image Processing](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/process-development-tips/image-processing/how-to-print-images)
-- [Email Automation](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/process-development-tips/email-automation/how-to-embed-images-to-email-body)
-- [Databases](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/process-development-tips/databases/connection-strings-and-drivers)
-- [Mathematical Operations](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/process-development-tips/mathematical-operations/basic-calculations)
-- [Variables](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/process-development-tips/variables/check-if-a-variable-is-null)
+- [Control Desk](/previous-versions/troubleshoot/winautomation/support-tips/processrobot-control-desk/avconv-exe-has-stopped-working)
+- [Dashboards](/previous-versions/troubleshoot/winautomation/support-tips/processrobot-dashboards/dashboard-designer-tips)
+- [Triggers](/previous-versions/troubleshoot/winautomation/product-documentation/winautomation-console/winautomation-triggers)
+- [Web Automation](/previous-versions/troubleshoot/winautomation/process-development-tips/web-automation/alternative-way-to-extract-data-from-web)
+- [UI Automation](/previous-versions/troubleshoot/winautomation/process-development-tips/ui-automation/active-directory-actions-and-dsquery-command)
+- [Excel Automation](/previous-versions/troubleshoot/winautomation/process-development-tips/excel-automation/autofit-excel-columns-using-vbscript)
+- [Text Manipulation](/previous-versions/troubleshoot/winautomation/process-development-tips/text-manipulation/convert-datetime-to-text-custom-date-formats)
+- [Image Processing](/previous-versions/troubleshoot/winautomation/process-development-tips/image-processing/how-to-print-images)
+- [Email Automation](/previous-versions/troubleshoot/winautomation/process-development-tips/email-automation/how-to-embed-images-to-email-body)
+- [Databases](/previous-versions/troubleshoot/winautomation/process-development-tips/databases/connection-strings-and-drivers)
+- [Mathematical Operations](/previous-versions/troubleshoot/winautomation/process-development-tips/mathematical-operations/basic-calculations)
+- [Variables](/previous-versions/troubleshoot/winautomation/process-development-tips/variables/check-if-a-variable-is-null)
## Learn more
- Read about the [WinAutomation acquisition](https://flow.microsoft.com/blog/microsoft-acquires-softomotive-to-expand-low-code-robotic-process-automation-capabilities-in-microsoft-power-automate/).
-- Read more at [WinAutomation docs](https://docs.microsoft.com/previous-versions/troubleshoot/winautomation/).
-- Learn more at [WinAutomation Academy](https://docs.microsoft.com/learn/browse/?terms=WinAutomation).
+- Read more at [WinAutomation docs](/previous-versions/troubleshoot/winautomation/).
+- Learn more at [WinAutomation Academy](/learn/browse/?terms=WinAutomation).
- Get a head start with [WinAutomation tutorials](https://www.winautomation.com/support/tutorials/).
- Learn to [create Windows recorder (V1) flows](./create-desktop.md).
- Learn how to [run desktop flows](./run-desktop-flow.md).
diff --git a/articles/desktop-flows/data-loss-prevention.md b/articles/desktop-flows/data-loss-prevention.md
new file mode 100644
index 000000000..5be98c163
--- /dev/null
+++ b/articles/desktop-flows/data-loss-prevention.md
@@ -0,0 +1,58 @@
+---
+title: Data loss prevention (DLP) policies (preview) | Microsoft Docs
+description: Data loss prevention (DLP) policies (preview)
+author: mariosleon
+ms.service: power-automate
+ms.subservice: desktop-flow
+ms.topic: article
+ms.date: 10/26/2021
+ms.author: marleon
+ms.reviewer:
+search.app:
+ - Flow
+search.audienceType:
+ - flowmaker
+ - enduser
+---
+# Data loss prevention (DLP) policies (preview)
+[!INCLUDE [cc-beta-prerelease-disclaimer](../includes/cc-beta-prerelease-disclaimer.md)]
+
+Power Automate offers to administrators the option to create and enforce policies that classify desktop flows action groups as business or non-business and mark actions or action groups as blocked. That way a non-business action can't be combined with an action that has been marked as business so that to avoid data exposure outside the organization. For more details on how to form a data loss prevention (DLP) policy policy, visit the [respective topic](/power-platform/admin/create-dlp-policy) under the Administer Power Platform documentation.
+
+
+## Troubleshoot data loss prevention (DLP) policies violations
+
+While saving a desktop flow you will be notified about the data loss prevention violations the flow includes. The same will occur while attempting to run the flow from the designer and the console. A desktop flow that violates a data loss prevention (DLP) policy will be marked as suspended and the run option will be disabled.
+
+ ![Console with a suspended flow](./media/dlp/dlpsuspended.png)
+
+To resolve a violation navigate to the designer and delete or disable the actions causing this error.
+
+## Business vs non-business data loss prevention policy
+
+The business vs non-business data loss prevention policy, prevents users to use actions from the two categories on the same flow.
+
+For example, the flow that appears below contains the **Open SQL connection**, **Execute SQL statement** and **Close SQL connection** actions which belong to the Database actions group and the **Launch Excel**, **Write to Excel** and **Close Excel** actions that belongs to the Excel actions group. Thus it receives an error as the Database group of actions are marked as business while the Excel group is marked as non-business.
+
+To resolve this data loss prevention policy (DLP) violation, delete or disable actions from one of the two groups.
+
+ ![DLP business - non business](./media/dlp/dlpbusiness-nonbusiness.png)
+
+## Blocked actions and action groups data loss prevention policy
+
+Apart from marking action groups as business and non-business, the administrator can mark action groups or particular actions as blocked. In this case these actions can't be used at all in the flow.
+
+In the example shown below the Email group of actions and the Send email through Outlook actions are marked as blocked.
+
+To resolve this data loss prevention policy (DLP) violation, delete or disable all actions that are marked as blocked.
+
+
+ ![DLP blocked](./media/dlp/dlpblocked.png)
+
+
+>[!NOTE]
+>- In case a flow calls other flows using the **Run desktop flow** action, the dependent flows are not being evaluated for data loss prevention (DLP) violations.
+>- If the suspended desktop flow was used in a cloud flow, this cloud flow will be also marked as suspended. Once you have fixed the violations on your desktop flow, make sure that all your cloud flows appear on again.
+
+>[!IMPORTANT]
+>For cases that a desktop flow is suspended, it won't be able to run it. Similarly, a cloud flow using a suspend desktop flow won't be able to run either.
diff --git a/articles/desktop-flows/dynamics365-cs-rpa.md b/articles/desktop-flows/dynamics365-cs-rpa.md
index 53709525d..471e22710 100644
--- a/articles/desktop-flows/dynamics365-cs-rpa.md
+++ b/articles/desktop-flows/dynamics365-cs-rpa.md
@@ -40,7 +40,7 @@ Here's what you need to prepare your environment.
Install the following:
-- Dynamics 365 Omnichannel for Customer Service.
+- Dynamics 365 for Customer Service.
- Power Automate for desktop. Power Automate for desktop will carry out the steps in Dynamics 365 as if a human were doing it in front of their computer.
@@ -53,8 +53,8 @@ Use these recommended security roles.
| **Application** | **Security role** | **Link to documentation** |
|----------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| Power Platform | Option 1: Environment admin Option 2: Environment maker (if the environment already has Dataverse and unattended license needed) | |
-| Dynamic 365 Omnichannel for Customer Service | D365 Customer Service administrator | [Enable users for Omnichannel for Customer Service and assign roles \| Microsoft Docs](https://docs.microsoft.com/dynamics365/customer-service/add-users-assign-roles) |
+| Power Platform | Option 1: Environment admin
Option 2: Environment maker (if the environment already has Dataverse and unattended license needed) | |
+| Dynamics 365 for Customer Service | D365 Customer Service administrator | [Enable users for Customer Service and assign roles](/dynamics365/customer-service/add-users-assign-roles) |
### Licenses
@@ -81,16 +81,12 @@ Use these recommended security roles.
1. Get a trial license for the Dynamics 365 Customer Service app.
-1. To get started with [Dynamics 365 Omnichannel for Customer Service](https://dynamics.microsoft.com/get-started/free-trial/?appname=customerservice) and automate the customer validation process.
+1. To get started with [Dynamics 365 for Customer Service](https://dynamics.microsoft.com/get-started/free-trial/?appname=customerservice) and automate the customer validation process.
## Set up your device
Now that prerequisites are set, we are on our way to get these free solutions that automate the processes.
-### Install OmniChannel
-
-1. Install [OmniChannel](https://docs.microsoft.com/dynamics365/customer-service/omnichannel-provision-license) in your environment.
-
### Get the latest updates for your environment
1. Go to [Power Platform admin center](https://admin.powerplatform.microsoft.com), select the environment in which you are interested, and then select **Dynamics 365 apps** at the right side.
@@ -184,7 +180,7 @@ Now that prerequisites are set, we are on our way to get these free solutions th
![Case agent script with automation.](./media/dynamics365-cs-rpa/case-entity-session.png)
- Learn more about [session templates](https://docs.microsoft.com/dynamics365/app-profile-manager/session-templates).
+ Learn more about [session templates](/dynamics365/app-profile-manager/session-templates).
3. From the Dynamics 365 Customer Service app, login to Power Automate.
@@ -226,13 +222,13 @@ Now that prerequisites are set, we are on our way to get these free solutions th
1. Now you can save the cloud flow. Go back to D365 portal and trigger the agent script action to test. You will see your customization automation start to run.
-1. Once you finished testing, you can share the cloud flow with everyone in the organization with run-only mode (click [here](run-pad-flow.md#unattended-mode) to learn more) and switch it to run unattended way (click [here](run-pad-flow.md#unattended-mode) to learn more). So that every agent will be able to reuse the same automation. License wise, the cloud flow should be put under a per flow plan (click [here](https://docs.microsoft.com/power-platform-release-plan/2019wave2/power-automate/new-licensing-options-power-automate-standalone-paid-plans#allocating-the-per-flow-plan-in-the-admin-center) to learn more)
+1. Once you finished testing, you can share the cloud flow with everyone in the organization with run-only mode (click [here](run-pad-flow.md#unattended-mode) to learn more) and switch it to run unattended way (click [here](run-pad-flow.md#unattended-mode) to learn more). So that every agent will be able to reuse the same automation. License wise, the cloud flow should be put under a per flow plan (click [here](/power-platform-release-plan/2019wave2/power-automate/new-licensing-options-power-automate-standalone-paid-plans#allocating-the-per-flow-plan-in-the-admin-center) to learn more)
## Troubleshooting and known issues
| Known issue | Workaround |
|--------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| Did not see the productivity tools panel from D365 customer service | Before 7/2/2021, you need to install Omni Channel to your environment. Productivity tools don’t show on home session. You need create a new session (Shift-click on case link) to see it. Producitivity tools runtime initialization is async. Please wait 1 – 2 seconds on home session before create new sessions. |
+| Did not see the productivity tools panel from D365 customer service | Productivity tools don’t show on home session. You need create a new session (Shift-click on case link) to see it. Producitivity tools runtime initialization is async. Please wait 1 – 2 seconds on home session before create new sessions. |
| Agent can’t see the flow | Every agent needs to login flow from D365 widget for the first time |
| During install, you will be prompted multiple times for the same confirmation to install. | Confirm with “yes I am sure to install” every time prompted |
| The agent script isn’t added to current session template automatically after import the demo solution. | Manually add the agent script to case session template. |
diff --git a/articles/desktop-flows/dynamics365-scm-rpa.md b/articles/desktop-flows/dynamics365-scm-rpa.md
index fb4b119b9..6c50ec16e 100644
--- a/articles/desktop-flows/dynamics365-scm-rpa.md
+++ b/articles/desktop-flows/dynamics365-scm-rpa.md
@@ -84,7 +84,7 @@ As an admin, you can get an RPA unattended add-on and assign it to your environm
#### Get a trial license for Power Apps
-Please follow the instructions in this PowerApps guide before moving on to the last step! [https://docs.microsoft.com/en-us/powerapps/maker/signup-for-powerapps#get-a-license-from-scratch](https://docs.microsoft.com/powerapps/maker/signup-for-powerapps)
+Please follow the instructions in this PowerApps guide before moving on to the last step! [/en-us/powerapps/maker/signup-for-powerapps#get-a-license-from-scratch](/powerapps/maker/signup-for-powerapps)
#### Get a trial license for the Dynamics 365 applications you wish to automate
diff --git a/articles/desktop-flows/how-to/automate-browser-prompts.md b/articles/desktop-flows/how-to/automate-browser-prompts.md
index 4490c1cd0..f4747c670 100644
--- a/articles/desktop-flows/how-to/automate-browser-prompts.md
+++ b/articles/desktop-flows/how-to/automate-browser-prompts.md
@@ -19,7 +19,7 @@ search.audienceType:
Many web pages display **Save as**, **Open**, and **Upload** dialogs to prompt users to select destination folders and files, respectively.
-These dialogs aren't part of the web page, but they're handled by the web browser application or Windows File Explorer. As a result, you can't use the web recorder or the web automation actions to automate them.
+These dialogs aren't part of the web page, but they're handled by the web browser application or Windows File Explorer. As a result, you can't use the web recorder or the browser automation actions to automate them.
To automate these dialogs, use either the [desktop recorder](../recording-flow.md#desktop-recorder) or the [UI automation group of actions](../actions-reference/uiautomation.md).
diff --git a/articles/desktop-flows/how-to/automate-emails-accounts-two-step-verification.md b/articles/desktop-flows/how-to/automate-emails-accounts-two-step-verification.md
index f2dfb8b50..8e57f16b0 100644
--- a/articles/desktop-flows/how-to/automate-emails-accounts-two-step-verification.md
+++ b/articles/desktop-flows/how-to/automate-emails-accounts-two-step-verification.md
@@ -21,7 +21,7 @@ To automate an email account protected with two-step verification, you need to c
App passwords are randomly generated passwords that can be used only once when you sign in to an application or device that doesn't support two-step verification.
-To create app passwords for Microsoft personal or organizational accounts, follow the instructions in [Create new app passwords](https://docs.microsoft.com/azure/active-directory/user-help/multi-factor-authentication-end-user-app-passwords#create-new-app-passwords). To create app passwords for other webmail services, search for information on their help page or community site.
+To create app passwords for Microsoft personal or organizational accounts, follow the instructions in [Create new app passwords](/azure/active-directory/user-help/multi-factor-authentication-end-user-app-passwords#create-new-app-passwords). To create app passwords for other webmail services, search for information on their help page or community site.
After creating an app password, populate it in the **Password** field of the **IMAP server** or **SMTP server** section of the email actions.
diff --git a/articles/desktop-flows/how-to/click-elements-list-links.md b/articles/desktop-flows/how-to/click-elements-list-links.md
index a9c8c974e..b698c19a7 100644
--- a/articles/desktop-flows/how-to/click-elements-list-links.md
+++ b/articles/desktop-flows/how-to/click-elements-list-links.md
@@ -17,7 +17,7 @@ search.audienceType:
# Click all the elements in a list of links
-In web automation, it's common to meet scenarios that require you to click all the elements in a list of links.
+In browser automation, it's common to meet scenarios that require you to click all the elements in a list of links.
To automate these scenarios, use the **Extract data from web page** action and extract a random value from two consecutive links. Power Automate will automatically extract the respective value from all the links in the list.
diff --git a/articles/desktop-flows/how-to/convert-base64-hexadecimal-format.md b/articles/desktop-flows/how-to/convert-base64-hexadecimal-format.md
index b55933d2b..cd7ad2419 100644
--- a/articles/desktop-flows/how-to/convert-base64-hexadecimal-format.md
+++ b/articles/desktop-flows/how-to/convert-base64-hexadecimal-format.md
@@ -26,7 +26,7 @@ To convert the Base64 text to hexadecimal format, use the **Run PowerShell scrip
```
> [!NOTE]
-> You can find more information regarding PowerShell utility cmdlets in [this article](https://docs.microsoft.com/powershell/module/microsoft.powershell.utility).
+> You can find more information regarding PowerShell utility cmdlets in [this article](/powershell/module/microsoft.powershell.utility).
The action produces the PowershellOutput variable that stores the encrypted or hashed value in hexadecimal format.
diff --git a/articles/desktop-flows/how-to/convert-file-base64-format.md b/articles/desktop-flows/how-to/convert-file-base64-format.md
index da41fdf69..4ba07a358 100644
--- a/articles/desktop-flows/how-to/convert-file-base64-format.md
+++ b/articles/desktop-flows/how-to/convert-file-base64-format.md
@@ -26,7 +26,7 @@ To convert a file to this format, use the **Run PowerShell script** action and p
```
> [!NOTE]
-> You can find more information regarding PowerShell utility cmdlets in [this article](https://docs.microsoft.com/powershell/module/microsoft.powershell.utility).
+> You can find more information regarding PowerShell utility cmdlets in [this article](/powershell/module/microsoft.powershell.utility).
The action produces the **PowershellOutput** variable that stores a text value representing the contents of the specified file in Base64 format.
diff --git a/articles/desktop-flows/how-to/handle-iframes.md b/articles/desktop-flows/how-to/handle-iframes.md
index 79e364018..a5f384ddb 100644
--- a/articles/desktop-flows/how-to/handle-iframes.md
+++ b/articles/desktop-flows/how-to/handle-iframes.md
@@ -19,14 +19,14 @@ search.audienceType:
Iframes are HTML documents embedded inside other HTML documents. These elements are often used to insert content from external sources into web pages.
-When an iframe belongs to the same domain as the original page, you can use the web automation actions to automate it. You can find more information about web automation in [Automate web flows](..\automation-web.md).
+When an iframe belongs to the same domain as the original page, you can use the browser automation actions to automate it. You can find more information about browser automation in [Automate web flows](..\automation-web.md).
-If the web automation actions don't work correctly with a particular iframe, you can use the UI automation actions to handle it. You can find more information about UI automation in [Automate desktop flows](..\desktop-automation.md).
+If the browser automation actions don't work correctly with a particular iframe, you can use the UI automation actions to handle it. You can find more information about UI automation in [Automate desktop flows](..\desktop-automation.md).
If an iframe is cross-domain, deploy the **Get details of element on web page** to retrieve the **Source Link** attribute of the element.
![The Get details of element on web page action.](media/handle-iframes/get-details-element-web=page-action.png)
-Next, use the **Go to web page** action or the **Create new tab** action to navigate to the retrieved source. Now, you can use the web automation actions to interact with the iframe.
+Next, use the **Go to web page** action or the **Create new tab** action to navigate to the retrieved source. Now, you can use the browser automation actions to interact with the iframe.
![The Go to web page action.](media/handle-iframes/go-web-page-action.png)
\ No newline at end of file
diff --git a/articles/desktop-flows/how-to/java.md b/articles/desktop-flows/how-to/java.md
new file mode 100644
index 000000000..e592edb1b
--- /dev/null
+++ b/articles/desktop-flows/how-to/java.md
@@ -0,0 +1,85 @@
+---
+title: Automate Java applications | Microsoft Docs
+description: Automate Java applications
+author: mariosleon
+ms.service: power-automate
+ms.subservice: desktop-flow
+ms.topic: article
+ms.date: 10/08/2021
+ms.author: marleon
+ms.reviewer:
+search.app:
+ - Flow
+search.audienceType:
+ - flowmaker
+ - enduser
+---
+# Automate Java applications
+
+In order to automate Java applications, particular settings must be in place.
+
+To install the Java configuration manually, after Power Automate gets installed, navigate to the installation folder (e.g. ‘C:\Program Files (x86)\Power Automate’) and run the ‘PAD.Java.Installer.exe’ as an administrator.
+
+User can uninstall the Java configuration (revert all changes applied to the machine with the Java installer.
+
+Open Command Line tool (cmd)
+
+Execute following command:
+
+PAD.Java.Installer.exe -u
+
+Logs for Java automation with PAD can be found at: ‘%temp%/ java_automation_log’ folder (e.g. ‘C:\Users\username\AppData\Local\Temp\java_automation_log’)
+
+
+
+Troubleshooting
+
+Make sure you have Java installed in your machine. You may check this by:
+
+First, let's open a command window or terminal and enter: > java –version
+
+If Java is not installed in your machine, then you will receive an error message as:
+
+'java' is not recognized as an internal or external command, operable program or batch file.
+
+Java Access Bridge from Control Panel should be disabled
+
+Go to ‘Control Panel->Ease of Access->Optimize visual display->Java Access Bridge fromOracle, Inc. Providing Assistive Technology access to Java applications’ and disable (uncheck) the ‘Enable Java Access Bridge’ option.
+
+Specific files have to exist in the Java folder(s) of the machine after the PAD installation.
+
+You may check the installed Java version and installation path in your machine by:
+
+Type ‘Configure Java’ in the Search bar of Windows
+
+Open Java control panel
+
+Go to ‘Java’ tab
+
+Click on ‘View’
+
+Check values in ‘Path’ column. Row with ‘Architecture’ equal to x86 refers to 32-bit Java installation, while the row with value ‘x86x64’ refers to 64-bit Java installation.
+
+You may check the below files:
+
+For 64-bit Java installation:
+
+File ‘Microsoft.Flow.RPA.Desktop.UIAutomation.Java.Bridge.Native.dll’ should have been replaced in folder ‘C:\Program Files\Java\jre1.8.0_271\bin’. (jre1.8.0_271 could be replaced with your machine’s Java installation)
+
+File ‘accessibility.properties’ should have been replaced in folder ‘C:\Program Files\Java\jre1.8.0_271\lib’. (jre1.8.0_271 could be replaced with your machine’s Java installation)
+
+If you edit the file with a notepad, it should have the following value: “assistive_technologies=com.sun.java.accessibility.AccessBridge, microsoft.flows.rpa.desktop.uiautomation.JavaBridge”
+
+File ‘PAD.JavaBridge.jar’ should have been inserted in folder ‘C:\Program Files\Java\jre1.8.0_271\lib\ext’. (jre1.8.0_271 could be replaced with your machine’s Java installation)
+
+For 32-bit Java installation:
+
+Same actions for the same files as above but in folder path ‘C:\Program Files (x86) \Java…’
+
+Make sure there isn't an '.accessibility.properties' file present in your user folder.
+
+Check ‘C:\Users\user’ if a file with name ‘.accessibility.properties’ is present. If yes, then please rename it.
+
+Ensure that 'VC_redist.x64.exe' and/or 'VC_redist.x86.exe' have been executed.
+
+
\ No newline at end of file
diff --git a/articles/desktop-flows/how-to/media/automate-save-open-upload-dialogs/save-as-dialog.png b/articles/desktop-flows/how-to/media/automate-save-open-upload-dialogs/save-as-dialog.png
index 0a539d751..bd14df3b9 100644
Binary files a/articles/desktop-flows/how-to/media/automate-save-open-upload-dialogs/save-as-dialog.png and b/articles/desktop-flows/how-to/media/automate-save-open-upload-dialogs/save-as-dialog.png differ
diff --git a/articles/desktop-flows/how-to/media/run-macros-excel/assign-macro-excel-button.png b/articles/desktop-flows/how-to/media/run-macros-excel/assign-macro-excel-button.png
index e64dfa9f9..3874cde3c 100644
Binary files a/articles/desktop-flows/how-to/media/run-macros-excel/assign-macro-excel-button.png and b/articles/desktop-flows/how-to/media/run-macros-excel/assign-macro-excel-button.png differ
diff --git a/articles/desktop-flows/how-to/media/run-macros-excel/excel-developer-macros-option.png b/articles/desktop-flows/how-to/media/run-macros-excel/excel-developer-macros-option.png
index f1a742528..fe9956178 100644
Binary files a/articles/desktop-flows/how-to/media/run-macros-excel/excel-developer-macros-option.png and b/articles/desktop-flows/how-to/media/run-macros-excel/excel-developer-macros-option.png differ
diff --git a/articles/desktop-flows/how-to/media/sql-queries-microsoft-access/data-source-connection-string-builder.png b/articles/desktop-flows/how-to/media/sql-queries-microsoft-access/data-source-connection-string-builder.png
index a25edd0fb..979759f0d 100644
Binary files a/articles/desktop-flows/how-to/media/sql-queries-microsoft-access/data-source-connection-string-builder.png and b/articles/desktop-flows/how-to/media/sql-queries-microsoft-access/data-source-connection-string-builder.png differ
diff --git a/articles/desktop-flows/how-to/media/sql-queries-microsoft-access/provider-connection-string-builder.png b/articles/desktop-flows/how-to/media/sql-queries-microsoft-access/provider-connection-string-builder.png
index a2090138b..bf34bb758 100644
Binary files a/articles/desktop-flows/how-to/media/sql-queries-microsoft-access/provider-connection-string-builder.png and b/articles/desktop-flows/how-to/media/sql-queries-microsoft-access/provider-connection-string-builder.png differ
diff --git a/articles/desktop-flows/how-to/populate-text-fields-click-links-javascript.md b/articles/desktop-flows/how-to/populate-text-fields-click-links-javascript.md
index 42d7b76c0..e239e6661 100644
--- a/articles/desktop-flows/how-to/populate-text-fields-click-links-javascript.md
+++ b/articles/desktop-flows/how-to/populate-text-fields-click-links-javascript.md
@@ -17,7 +17,7 @@ search.audienceType:
# Populate text fields and click on links using JavaScript
-Some web applications may have design constraints that don't allow web automation actions to populate text fields or click on links and buttons.
+Some web applications may have design constraints that don't allow browser automation actions to populate text fields or click on links and buttons.
An alternative approach to automate these web applications is the use of the **Run JavaScript function on web page** action, which allows you to run JavaScript code on web pages.
diff --git a/articles/desktop-flows/how-to/scroll-web-page.md b/articles/desktop-flows/how-to/scroll-web-page.md
index eeab66260..635710f09 100644
--- a/articles/desktop-flows/how-to/scroll-web-page.md
+++ b/articles/desktop-flows/how-to/scroll-web-page.md
@@ -17,7 +17,7 @@ search.audienceType:
# Scroll on a web page
-In some web automation flows, you may need to scroll on web pages to make specific elements visible on the screen.
+In some browser automation flows, you may need to scroll on web pages to make specific elements visible on the screen.
Power Automate allows scrolling on web pages through two different approaches. The first one requires the **Focus text field on web page** action, while the second requires JavaScript scripting.
diff --git a/articles/desktop-flows/images.md b/articles/desktop-flows/images.md
index 9a884ab13..85a098572 100644
--- a/articles/desktop-flows/images.md
+++ b/articles/desktop-flows/images.md
@@ -24,7 +24,7 @@ Select **Capture image**, and click and drag the cursor on the area you want to
![The Capture image option in the Images tab.](\media\images\capture-image.png)
-Alternatively, select the arrow on the **Capture image** button to capture images on a timer. Select the number of seconds and press **Capture image with delay**.
+Alternatively, select the arrow on the **Capture image** button to capture images on a timer. Then, choose one of the suggested time options or **Capture image with custom delay** to set a custom delay time.
![The Capture image with delay option in the images tab.](\media\images\delay-capture.png)
diff --git a/articles/desktop-flows/install.md b/articles/desktop-flows/install.md
index f2d8d049a..7ae61a2da 100644
--- a/articles/desktop-flows/install.md
+++ b/articles/desktop-flows/install.md
@@ -86,7 +86,7 @@ After the installation completes, you will need to install and enable the extens
![Installation success image.](../media/desktop-flows-setup/screen.png)
-Select one of the links displayed in the installer. For example, if you want to record your web automations on Microsoft Edge, select the **Microsoft Edge** link.
+Select one of the links displayed in the installer. For example, if you want to record your browser automations on Microsoft Edge, select the **Microsoft Edge** link.
The store for your browser opens directly to the public page for the extension.
diff --git a/articles/desktop-flows/link-pad-flow-portal.md b/articles/desktop-flows/link-pad-flow-portal.md
index 0ae8fd36c..b9efce01e 100644
--- a/articles/desktop-flows/link-pad-flow-portal.md
+++ b/articles/desktop-flows/link-pad-flow-portal.md
@@ -78,6 +78,7 @@ search.audienceType:
* Data type—the type of the variable (integer, string, datetime, and so on.)
* External name—the name used outside flow designer. This name appears in Power Automate.
* Description—a description of the variable. This mandatory field appears in Power Automate
+ * Mark as sensitive-enable this option to set the variable as sensitive and hide its content in the flow designer and the Power Automate logs.
![add new input var.](\media\link-pad-flow-portal\add-new-input-var.png)
diff --git a/articles/desktop-flows/machines-silent-registration.md b/articles/desktop-flows/machines-silent-registration.md
index 44f8f90bc..4210c7b00 100644
--- a/articles/desktop-flows/machines-silent-registration.md
+++ b/articles/desktop-flows/machines-silent-registration.md
@@ -50,7 +50,7 @@ To silently register your machine and join a group, we recommend you to use a se
c. Select **Flow.Read.All**
-1. [Create an application user](https://docs.microsoft.com/power-platform/admin/manage-application-users#create-an-application-user).
+1. [Create an application user](/power-platform/admin/manage-application-users#create-an-application-user).
>[!NOTE]
>Regarding their security roles, the user need to grant at least Environment Maker (or Desktop Flows Machine Owner) to be able to register a machine and join a group.
diff --git a/articles/desktop-flows/manage-variables.md b/articles/desktop-flows/manage-variables.md
index 6856c09dd..c31b7c5f2 100644
--- a/articles/desktop-flows/manage-variables.md
+++ b/articles/desktop-flows/manage-variables.md
@@ -21,7 +21,7 @@ search.audienceType:
The variables pane shows the input and output variables passed to and from Power Automate. It also displays all the variables used in the current flow under **Flow variables**.
-![The Variables pane.](media\variables-pane\variables-pane.png)
+![Screenshot of the Variables pane.](media\variables-pane\variables-pane.png)
Through the **Variables** pane, you can search for variables, rename them, find their usages and filter them by type.
@@ -29,25 +29,25 @@ Through the **Variables** pane, you can search for variables, rename them, find
When the flow runs, the current value of each variable is shown next to its name. Variables of disabled actions are omitted. To clear the values of all variables, select the eraser icon at the bottom of the pane.
-![The current variables' values displayed in the variables pane.](media\variables-pane\current-variable-values.png)
+![Screenshot of the current variables' values displayed in the variables pane.](media\variables-pane\current-variable-values.png)
To view the value of a variable in more detail, double-click on the variable. The **variable value viewer** shows the data type of the variable, and expands any datarows or datatables to show their contents.
-![The current variables' values displayed in detail in the variable value viewer.](media\variables-pane\variable-viewer.png)
+![Screenshot of the current variables' values displayed in detail in the variable value viewer.](media\variables-pane\variable-viewer.png)
Certain data types may contain nested elements. For example, a custom object type variable may contain another custom object in its properties. The figure below shows the variable **CustomerObject** which contains **Company**, another custom object. To view the properties of the nested element, select **More**.
-![Parent custom object example.](media\variables-pane\custom-object-parent.png)
+![Screenshot of a parent custom object example.](media\variables-pane\custom-object-parent.png)
The variable value viewer displays the properties of the child custom object. To go back to the parent custom object, select the arrow.
-![Child custom object example.](media\variables-pane\custom-object-child.png)
+![Screenshot of a child custom object example.](media\variables-pane\custom-object-child.png)
## Renaming a desktop variable
To rename a desktop flow variable, make a right-click on its name in the **Variables** pane and select **Rename**. The name of the variable will be updated in all its occurrences.
-![The Rename option for flow variables.](media\renaming-variables\rename-flow-variable.png)
+![Screenshot of the Rename option for flow variables.](media\renaming-variables\rename-flow-variable.png)
Although you can update variables' names manually through actions, the name will be changed only in these specific actions, not globally.
@@ -66,7 +66,7 @@ To create an input variable:
1. Select the (**+**) button in the variables pane and then **Input**.
- ![The plus button in the variables pane to create a new input variable.](media\input-output-variables\create-input-variable.png)
+ ![Screenshot of the plus button in the variables pane that creates a new input variable.](media\input-output-variables\create-input-variable.png)
1. When the **Add a new input variable** dialog is appeared, populate the following fields:
@@ -80,11 +80,11 @@ To create an input variable:
> [!NOTE]
> The **Variable type**, **Variable name**, **Data type**, and **External name** fields are required to create an input variable.
- ![The Add a new input variable dialog box.](media\input-output-variables\Add-new-input-variable-dialog.png)
+ ![Screenshot of the Add a new input variable dialog box.](media\input-output-variables\Add-new-input-variable-dialog.png)
If you run a flow containing input variables through the console, the **Flow inputs** dialog will prompt you to set their values manually. You can find more information about running flows in [Run attended and unattended desktop flows](run-pad-flow.md).
- ![The Flow inputs dialog.](media\input-output-variables\flow-input-dialog.png)
+ ![Screenshot of the Flow inputs dialog.](media\input-output-variables\flow-input-dialog.png)
### Create an output variable
@@ -92,7 +92,7 @@ To create an output variable:
1. Select the (**+**) button in the variables pane and then **Output**.
- ![The plus button in the variables pane to create a new output variable.](media\input-output-variables\create-output-variable.png)
+ ![Screnshot of the plus button in the variables pane that creates a new output variable.](media\input-output-variables\create-output-variable.png)
1. When the **Add a new output variable** dialog is appeared, populate the following fields:
@@ -104,13 +104,13 @@ To create an output variable:
> [!NOTE]
> The **Variable type**, **Variable name**, and **External name** fields are required to create an output variable.
- ![The Add a new output variable dialog box.](media\input-output-variables\Add-new-output-variable-dialog.png)
+ ![Screenshot of the Add a new output variable dialog box.](media\input-output-variables\Add-new-output-variable-dialog.png)
### Manage input and output variables
All the created input and output variables are displayed in the appropriate section of the variables pane.
-![The input output variables section of the variables pane.](media\input-output-variables\variables-pane-input-output-variables.png)
+![Screenshot of the input output variables section of the variables pane.](media\input-output-variables\variables-pane-input-output-variables.png)
Through this pane, you can rename, update, delete, and find the usages of each input/output variable.
@@ -118,44 +118,51 @@ To update an input/output variable:
1. Right-click on its name in the variables pane and select **Edit**.
- ![The Edit option for input/output variables.](media\renaming-variables\rename-input-variable.png)
+ ![Screenshot of the Edit option for input/output variables.](media\renaming-variables\rename-input-variable.png)
2. In the **Edit variable** dialog, update the desired fields and select **Update** to apply the changes.
- ![The Edit variable dialog box.](media\renaming-variables\edit-variable-dialog.png)
+ ![Screenshot of the Edit variable dialog box.](media\renaming-variables\edit-variable-dialog.png)
-
-
+- **Issue:** Renaming a input or output variable that is marked as sensitive shows error 'Variable(s): [Variable name] aren't defined'.
+- **Workarounds:** Mark the variable as not sensitive before renaming it.
[!INCLUDE[footer-include](../includes/footer-banner.md)]
\ No newline at end of file
diff --git a/articles/desktop-flows/media/design-flow/edit-variable-input.png b/articles/desktop-flows/media/design-flow/edit-variable-input.png
index 3752bd67a..c4ba1fc3c 100644
Binary files a/articles/desktop-flows/media/design-flow/edit-variable-input.png and b/articles/desktop-flows/media/design-flow/edit-variable-input.png differ
diff --git a/articles/desktop-flows/media/design-flow/new-output-variable-2.png b/articles/desktop-flows/media/design-flow/new-output-variable-2.png
index 5d4bacaba..2c8544d1a 100644
Binary files a/articles/desktop-flows/media/design-flow/new-output-variable-2.png and b/articles/desktop-flows/media/design-flow/new-output-variable-2.png differ
diff --git a/articles/desktop-flows/media/design-flow/new-output-variable.png b/articles/desktop-flows/media/design-flow/new-output-variable.png
index 06ed5aa27..91c081693 100644
Binary files a/articles/desktop-flows/media/design-flow/new-output-variable.png and b/articles/desktop-flows/media/design-flow/new-output-variable.png differ
diff --git a/articles/desktop-flows/media/dlp/dlpblocked.png b/articles/desktop-flows/media/dlp/dlpblocked.png
new file mode 100644
index 000000000..737386e97
Binary files /dev/null and b/articles/desktop-flows/media/dlp/dlpblocked.png differ
diff --git a/articles/desktop-flows/media/dlp/dlpbusiness-nonbusiness.png b/articles/desktop-flows/media/dlp/dlpbusiness-nonbusiness.png
new file mode 100644
index 000000000..69b35080e
Binary files /dev/null and b/articles/desktop-flows/media/dlp/dlpbusiness-nonbusiness.png differ
diff --git a/articles/desktop-flows/media/dlp/dlpsuspended.png b/articles/desktop-flows/media/dlp/dlpsuspended.png
new file mode 100644
index 000000000..cf2e82f5b
Binary files /dev/null and b/articles/desktop-flows/media/dlp/dlpsuspended.png differ
diff --git a/articles/desktop-flows/media/getting-started-freeorg/getting-started-freeorg-console.png b/articles/desktop-flows/media/getting-started-freeorg/getting-started-freeorg-console.png
index 35ea1cc57..457a9462f 100644
Binary files a/articles/desktop-flows/media/getting-started-freeorg/getting-started-freeorg-console.png and b/articles/desktop-flows/media/getting-started-freeorg/getting-started-freeorg-console.png differ
diff --git a/articles/desktop-flows/media/getting-started-msa/console-new-flow.png b/articles/desktop-flows/media/getting-started-msa/console-new-flow.png
index 9895d0f80..dd513b66f 100644
Binary files a/articles/desktop-flows/media/getting-started-msa/console-new-flow.png and b/articles/desktop-flows/media/getting-started-msa/console-new-flow.png differ
diff --git a/articles/desktop-flows/media/images/delay-capture.png b/articles/desktop-flows/media/images/delay-capture.png
index 22dc622eb..d13229145 100644
Binary files a/articles/desktop-flows/media/images/delay-capture.png and b/articles/desktop-flows/media/images/delay-capture.png differ
diff --git a/articles/desktop-flows/media/images/images-pane.png b/articles/desktop-flows/media/images/images-pane.png
index 7fd43ec16..7fde57af0 100644
Binary files a/articles/desktop-flows/media/images/images-pane.png and b/articles/desktop-flows/media/images/images-pane.png differ
diff --git a/articles/desktop-flows/media/input-output-variables/Add-new-input-variable-dialog.png b/articles/desktop-flows/media/input-output-variables/Add-new-input-variable-dialog.png
index 41a8378df..f4f5952d7 100644
Binary files a/articles/desktop-flows/media/input-output-variables/Add-new-input-variable-dialog.png and b/articles/desktop-flows/media/input-output-variables/Add-new-input-variable-dialog.png differ
diff --git a/articles/desktop-flows/media/input-output-variables/Add-new-output-variable-dialog.png b/articles/desktop-flows/media/input-output-variables/Add-new-output-variable-dialog.png
index 09e8065ed..bf273f4db 100644
Binary files a/articles/desktop-flows/media/input-output-variables/Add-new-output-variable-dialog.png and b/articles/desktop-flows/media/input-output-variables/Add-new-output-variable-dialog.png differ
diff --git a/articles/desktop-flows/media/input-output-variables/create-input-variable.png b/articles/desktop-flows/media/input-output-variables/create-input-variable.png
index bf6ba3a5c..cd5f140fd 100644
Binary files a/articles/desktop-flows/media/input-output-variables/create-input-variable.png and b/articles/desktop-flows/media/input-output-variables/create-input-variable.png differ
diff --git a/articles/desktop-flows/media/input-output-variables/create-output-variable.png b/articles/desktop-flows/media/input-output-variables/create-output-variable.png
index ece0cb6c6..96fbaa078 100644
Binary files a/articles/desktop-flows/media/input-output-variables/create-output-variable.png and b/articles/desktop-flows/media/input-output-variables/create-output-variable.png differ
diff --git a/articles/desktop-flows/media/input-output-variables/variables-pane-input-output-variables.png b/articles/desktop-flows/media/input-output-variables/variables-pane-input-output-variables.png
index fe078f2cc..06d35964b 100644
Binary files a/articles/desktop-flows/media/input-output-variables/variables-pane-input-output-variables.png and b/articles/desktop-flows/media/input-output-variables/variables-pane-input-output-variables.png differ
diff --git a/articles/desktop-flows/media/link-pad-flow-portal/add-new-input-var.png b/articles/desktop-flows/media/link-pad-flow-portal/add-new-input-var.png
index a4a12502b..bd30a1f29 100644
Binary files a/articles/desktop-flows/media/link-pad-flow-portal/add-new-input-var.png and b/articles/desktop-flows/media/link-pad-flow-portal/add-new-input-var.png differ
diff --git a/articles/desktop-flows/media/recording-flow/add-text-with-ime-dialog.png b/articles/desktop-flows/media/recording-flow/add-text-with-ime-dialog.png
index 140e09b65..3602e3252 100644
Binary files a/articles/desktop-flows/media/recording-flow/add-text-with-ime-dialog.png and b/articles/desktop-flows/media/recording-flow/add-text-with-ime-dialog.png differ
diff --git a/articles/desktop-flows/media/recording-flow/add-text-with-ime-option.png b/articles/desktop-flows/media/recording-flow/add-text-with-ime-option.png
index a32b70112..3c16ea258 100644
Binary files a/articles/desktop-flows/media/recording-flow/add-text-with-ime-option.png and b/articles/desktop-flows/media/recording-flow/add-text-with-ime-option.png differ
diff --git a/articles/desktop-flows/media/recording-flow/anchor-area-message.png b/articles/desktop-flows/media/recording-flow/anchor-area-message.png
index 39ac8a6a0..b3ecfc7c3 100644
Binary files a/articles/desktop-flows/media/recording-flow/anchor-area-message.png and b/articles/desktop-flows/media/recording-flow/anchor-area-message.png differ
diff --git a/articles/desktop-flows/media/recording-flow/anchor-area.png b/articles/desktop-flows/media/recording-flow/anchor-area.png
index 1c06949c8..9a43b8244 100644
Binary files a/articles/desktop-flows/media/recording-flow/anchor-area.png and b/articles/desktop-flows/media/recording-flow/anchor-area.png differ
diff --git a/articles/desktop-flows/media/recording-flow/extract-text-from-image-option.png b/articles/desktop-flows/media/recording-flow/extract-text-from-image-option.png
index 430c27c9d..019d3179e 100644
Binary files a/articles/desktop-flows/media/recording-flow/extract-text-from-image-option.png and b/articles/desktop-flows/media/recording-flow/extract-text-from-image-option.png differ
diff --git a/articles/desktop-flows/media/recording-flow/text-area-message.png b/articles/desktop-flows/media/recording-flow/text-area-message.png
index cf26b8a1b..8bb4380c1 100644
Binary files a/articles/desktop-flows/media/recording-flow/text-area-message.png and b/articles/desktop-flows/media/recording-flow/text-area-message.png differ
diff --git a/articles/desktop-flows/media/recording-flow/text-area.png b/articles/desktop-flows/media/recording-flow/text-area.png
index 41cd366bd..036f9e86e 100644
Binary files a/articles/desktop-flows/media/recording-flow/text-area.png and b/articles/desktop-flows/media/recording-flow/text-area.png differ
diff --git a/articles/desktop-flows/media/renaming-variables/edit-variable-dialog.png b/articles/desktop-flows/media/renaming-variables/edit-variable-dialog.png
index 427cf7104..6effe2699 100644
Binary files a/articles/desktop-flows/media/renaming-variables/edit-variable-dialog.png and b/articles/desktop-flows/media/renaming-variables/edit-variable-dialog.png differ
diff --git a/articles/desktop-flows/media/renaming-variables/rename-flow-variable.png b/articles/desktop-flows/media/renaming-variables/rename-flow-variable.png
index 4085eb167..ea0f43e14 100644
Binary files a/articles/desktop-flows/media/renaming-variables/rename-flow-variable.png and b/articles/desktop-flows/media/renaming-variables/rename-flow-variable.png differ
diff --git a/articles/desktop-flows/media/renaming-variables/rename-input-variable.png b/articles/desktop-flows/media/renaming-variables/rename-input-variable.png
index 8a7d68916..0d12a65ca 100644
Binary files a/articles/desktop-flows/media/renaming-variables/rename-input-variable.png and b/articles/desktop-flows/media/renaming-variables/rename-input-variable.png differ
diff --git a/articles/desktop-flows/media/sensitive-variables/create-sensitive-input-variable.png b/articles/desktop-flows/media/sensitive-variables/create-sensitive-input-variable.png
new file mode 100644
index 000000000..c4dcc55c5
Binary files /dev/null and b/articles/desktop-flows/media/sensitive-variables/create-sensitive-input-variable.png differ
diff --git a/articles/desktop-flows/media/sensitive-variables/flow-inputs-dialog-sensitive-variable.png b/articles/desktop-flows/media/sensitive-variables/flow-inputs-dialog-sensitive-variable.png
new file mode 100644
index 000000000..d66f3f37d
Binary files /dev/null and b/articles/desktop-flows/media/sensitive-variables/flow-inputs-dialog-sensitive-variable.png differ
diff --git a/articles/desktop-flows/media/sensitive-variables/mark-as-sensitive-icon.png b/articles/desktop-flows/media/sensitive-variables/mark-as-sensitive-icon.png
new file mode 100644
index 000000000..e93894af9
Binary files /dev/null and b/articles/desktop-flows/media/sensitive-variables/mark-as-sensitive-icon.png differ
diff --git a/articles/desktop-flows/media/sensitive-variables/mark-as-sensitive-option.png b/articles/desktop-flows/media/sensitive-variables/mark-as-sensitive-option.png
new file mode 100644
index 000000000..dab784c58
Binary files /dev/null and b/articles/desktop-flows/media/sensitive-variables/mark-as-sensitive-option.png differ
diff --git a/articles/desktop-flows/media/ui-automation/capturing-new-ui-elements.png b/articles/desktop-flows/media/ui-automation/capturing-new-ui-elements.png
index 53a4c7b87..aff653564 100644
Binary files a/articles/desktop-flows/media/ui-automation/capturing-new-ui-elements.png and b/articles/desktop-flows/media/ui-automation/capturing-new-ui-elements.png differ
diff --git a/articles/desktop-flows/media/ui-elements/capturing-ui-elements.png b/articles/desktop-flows/media/ui-elements/capturing-ui-elements.png
index 414902603..813d43aab 100644
Binary files a/articles/desktop-flows/media/ui-elements/capturing-ui-elements.png and b/articles/desktop-flows/media/ui-elements/capturing-ui-elements.png differ
diff --git a/articles/desktop-flows/media/variables-pane/current-variable-values.png b/articles/desktop-flows/media/variables-pane/current-variable-values.png
index 4d39da675..7d7c03a83 100644
Binary files a/articles/desktop-flows/media/variables-pane/current-variable-values.png and b/articles/desktop-flows/media/variables-pane/current-variable-values.png differ
diff --git a/articles/desktop-flows/media/variables-pane/variables-pane.png b/articles/desktop-flows/media/variables-pane/variables-pane.png
index 8f9f0b541..0b1a1b743 100644
Binary files a/articles/desktop-flows/media/variables-pane/variables-pane.png and b/articles/desktop-flows/media/variables-pane/variables-pane.png differ
diff --git a/articles/desktop-flows/monitor-desktop-flow-queues.md b/articles/desktop-flows/monitor-desktop-flow-queues.md
index dec26866e..69b50c308 100644
--- a/articles/desktop-flows/monitor-desktop-flow-queues.md
+++ b/articles/desktop-flows/monitor-desktop-flow-queues.md
@@ -54,7 +54,7 @@ In order to see runs in this list, one of the following must be true:
- You have [permission](/power-platform/admin/database-security) to see view all data in the environment
> [!TIP]
-> To enable a user to view all the desktop flow runs in the current environment, ensure they have been assigned at least a System Administrator or Environment Admin security role for that environment. Learn more about configuring user security to resources in [Configure user security to resources in an environment](https://docs.microsoft.com/power-platform/admin/database-security#assign-security-roles-to-users-in-an-environment-that-has-a-dataverse-database).
+> To enable a user to view all the desktop flow runs in the current environment, ensure they have been assigned at least a System Administrator or Environment Admin security role for that environment. Learn more about configuring user security to resources in [Configure user security to resources in an environment](/power-platform/admin/database-security#assign-security-roles-to-users-in-an-environment-that-has-a-dataverse-database).
## Queue Status
diff --git a/articles/desktop-flows/pad-architecture.md b/articles/desktop-flows/pad-architecture.md
index 8502915fb..b8ca83f60 100644
--- a/articles/desktop-flows/pad-architecture.md
+++ b/articles/desktop-flows/pad-architecture.md
@@ -30,7 +30,7 @@ The **UIFlowService** is a Windows service that is installed with Power Automate
Azure Relay is a service that facilitates communication channels that are established entirely by making outgoing requests to the service. It achieves this functionality either by establishing a WebSocket connection or using HTTP long-polling, if necessary.
> [!NOTE]
-> The Azure Relay and Power Automate cloud services are both cloud resources in Azure. You can find more information about Azure Relays in [What is Azure Relay](https://docs.microsoft.com/azure/azure-relay/relay-what-is-it).
+> The Azure Relay and Power Automate cloud services are both cloud resources in Azure. You can find more information about Azure Relays in [What is Azure Relay](/azure/azure-relay/relay-what-is-it).
The outgoing web requests from the **UIFlowService** on the desktop machine to the Azure Relay in the cloud use HTTPS to make requests to FQDN **\*.servicebus.windows.net** over port 443.
@@ -41,7 +41,7 @@ Destination IP addresses for the Azure Relay can be found [here](https://www.mic
> [!NOTE]
> Power Automate now offers direct connectivity to the cloud without the use of on-premises data gateways. You can find more information in [Attended/Unattended desktop direct connectivity to the cloud service](pad-architecture.md#attendedunattended-desktop-direct-connectivity-to-the-cloud-service).
-The **UIFlowService** is a Windows service that is installed with Power Automate on the desktop machine. The [on-premises data gateway](https://docs.microsoft.com/data-integration/gateway/service-gateway-onprem) Windows service is a separately installed component that acts as a communications gateway between the **UIFlowService** and the Azure Relay.
+The **UIFlowService** is a Windows service that is installed with Power Automate on the desktop machine. The [on-premises data gateway](/data-integration/gateway/service-gateway-onprem) Windows service is a separately installed component that acts as a communications gateway between the **UIFlowService** and the Azure Relay.
![Desktop connectivity using the on-premises data gateway diagram.](media/pad-architecture/pad-on-premises-data-gateway.png)
@@ -50,9 +50,9 @@ By default, the data gateway service is set to start automatically and runs as t
Azure Relay is a service that facilitates communication channels that are established entirely by making outgoing requests to the service. It achieves this functionality either by establishing a WebSocket connection or using HTTP long-polling, if necessary.
> [!NOTE]
-> The Azure Relay and Power Automate cloud services are both cloud resources in Azure. You can find more information about Azure Relays in [What is Azure Relay](https://docs.microsoft.com/azure/azure-relay/relay-what-is-it).
+> The Azure Relay and Power Automate cloud services are both cloud resources in Azure. You can find more information about Azure Relays in [What is Azure Relay](/azure/azure-relay/relay-what-is-it).
-The details about this data flow are documented in [Adjust communication settings](https://docs.microsoft.com/data-integration/gateway/service-gateway-communication). The firewall requirements for execution are exactly the same as the direct connectivity option, but a different service and user account will be making the outgoing requests.
+The details about this data flow are documented in [Adjust communication settings](/data-integration/gateway/service-gateway-communication). The firewall requirements for execution are exactly the same as the direct connectivity option, but a different service and user account will be making the outgoing requests.
## Other Power Automate outgoing web requests
diff --git a/articles/desktop-flows/run-desktop-flow.md b/articles/desktop-flows/run-desktop-flow.md
index 53315938a..58940e807 100644
--- a/articles/desktop-flows/run-desktop-flow.md
+++ b/articles/desktop-flows/run-desktop-flow.md
@@ -23,7 +23,7 @@ search.audienceType:
- enduser
---
-# Run attended and unattended desktop flows
+# Run attended or unattended desktop flows
After you've created and tested a Windows recorder (V1) flow, you can run it from an event, schedule, or button. To make this possible, add your Windows recorder (V1) flow to an [Automated flow](../get-started-logic-flow.md), a [Button flow](../introduction-to-button-flows.md), a [Scheduled flow](../run-scheduled-tasks.md), or a [business process flow](../business-process-flows-overview.md).
diff --git a/articles/desktop-flows/softomotive-migrator.md b/articles/desktop-flows/softomotive-migrator.md
index e253be884..8f4580a0b 100644
--- a/articles/desktop-flows/softomotive-migrator.md
+++ b/articles/desktop-flows/softomotive-migrator.md
@@ -160,9 +160,9 @@ Power Automate and ProcessRobot behave differently at their core, so there will
The Power Platform Admin Center (PPAC) by default contains information related to your RPA environment that admins are accustomed to seeing in Control Desk, including cloud flow activity, desktop flow run activity, desktop flow queue monitoring and more. PPAC also enables users to create cloud flows that can incorporate schedules, triggers, run desktop flows and reach all other Power Automate components you have access to.
-If you are new to the Power Platform, it is recommended that administrators complete the [Admin In A Day](https://github.com/microsoft/powerapps-tools/tree/master/Administration/AdminInADay) workshop to better understand PPAC in addition to the [ALM hands on lab](https://docs.microsoft.com/powerapps/developer/common-data-service/build-tools-tutorial-faq%20%20) since this is the current recommended approach to manage desktop flow versions and application lifecycle management. Citizen Devs are encouraged to participate in the [RPA In a Day](https://flow.microsoft.com/blog/announcing-microsoft-rpa-in-a-day-version-2/) tutorials that help build a solid foundation across the entire stack.
+If you are new to the Power Platform, it is recommended that administrators complete the [Admin In A Day](https://github.com/microsoft/powerapps-tools/tree/master/Administration/AdminInADay) workshop to better understand PPAC in addition to the [ALM hands on lab](/powerapps/developer/common-data-service/build-tools-tutorial-faq%20%20) since this is the current recommended approach to manage desktop flow versions and application lifecycle management. Citizen Devs are encouraged to participate in the [RPA In a Day](https://flow.microsoft.com/blog/announcing-microsoft-rpa-in-a-day-version-2/) tutorials that help build a solid foundation across the entire stack.
-Apart from the extensive set of features preconfigured into PPAC – the [CoE Power BI Dashboard](https://docs.microsoft.com/power-platform/guidance/coe/power-bi) far exceeds the capability of ProcessRobot Dashboards and the [core components of the CoE](https://docs.microsoft.com/power-platform/guidance/coe/setup-core-components) are available for all Power Automate users. The CoE starter kit provides a solid foundation to build insightful dashboards that can be modified to your organizations needs throughout their RPA journey.
+Apart from the extensive set of features preconfigured into PPAC – the [CoE Power BI Dashboard](/power-platform/guidance/coe/power-bi) far exceeds the capability of ProcessRobot Dashboards and the [core components of the CoE](/power-platform/guidance/coe/setup-core-components) are available for all Power Automate users. The CoE starter kit provides a solid foundation to build insightful dashboards that can be modified to your organizations needs throughout their RPA journey.
### Workarounds for unsupported ProcessRobot Process Studio features
@@ -192,7 +192,7 @@ Not supported by the migration tool. Administrators can apply a workaround in t
**Get Global Variable / Set Global Variable**
-Not supported by the migration tool. Possible workarounds include the ability to [create and manage tables in Dataverse](https://docs.microsoft.com/learn/modules/create-manage-entities/) create a cloud flow that calls for a global variable (Get Global Variable), passes it to a desktop flow for consumption, then have an output variable from the desktop flow passed back to the Dataverse table if needed (Set Global Variable).
+Not supported by the migration tool. Possible workarounds include the ability to [create and manage tables in Dataverse](/learn/modules/create-manage-entities/) create a cloud flow that calls for a global variable (Get Global Variable), passes it to a desktop flow for consumption, then have an output variable from the desktop flow passed back to the Dataverse table if needed (Set Global Variable).
**Enter Locked Region**
@@ -204,11 +204,11 @@ Not supported by the migration tool.
**Add Queue Item in Queue**
-Not supported by migration tool. Review [Monitor desktop flow queues](monitor-desktop-flow-queues.md) for information on queue functionality in Power Automate. Other possible workarounds include the ability to [create and manage tables in Dataverse](https://docs.microsoft.com/learn/modules/create-manage-entities/) where cloud flow monitors, schedules, or triggers can be used to load data.
+Not supported by migration tool. Review [Monitor desktop flow queues](monitor-desktop-flow-queues.md) for information on queue functionality in Power Automate. Other possible workarounds include the ability to [create and manage tables in Dataverse](/learn/modules/create-manage-entities/) where cloud flow monitors, schedules, or triggers can be used to load data.
**Get Queue Item in Queue**
-Not supported in migration. Possible workarounds include creating a Cloud Flow to trigger an event [when a row is added, modified, or deleted](https://docs.microsoft.com/connectors/commondataserviceforapps/#when-a-row-is-added%2c-modified-or-deleted) in a Dataverse table.
+Not supported in migration. Possible workarounds include creating a Cloud Flow to trigger an event [when a row is added, modified, or deleted](/connectors/commondataserviceforapps/#when-a-row-is-added%2c-modified-or-deleted) in a Dataverse table.
**Get Credential**
@@ -216,7 +216,7 @@ Not supported in migration. Workarounds include [using sensitive text in power
**Update Credential**
-Not supported in migration. Workarounds include [updating a secret using an API](https://docs.microsoft.com/rest/api/keyvault/UpdateSecret/UpdateSecret).
+Not supported in migration. Workarounds include [updating a secret using an API](/rest/api/keyvault/UpdateSecret/UpdateSecret).
**Display Notification**
diff --git a/articles/desktop-flows/troubleshoot.md b/articles/desktop-flows/troubleshoot.md
index ec2603d84..1541090ba 100644
--- a/articles/desktop-flows/troubleshoot.md
+++ b/articles/desktop-flows/troubleshoot.md
@@ -58,7 +58,7 @@ To identify whether another process is indeed the issue:
- Close Power Automate and use the Windows Task Manager to ensure that its process isn't still running.
-- Download the [Sysinternals Suite](https://docs.microsoft.com/sysinternals/downloads/sysinternals-suite).
+- Download the [Sysinternals Suite](/sysinternals/downloads/sysinternals-suite).
- Extract the zip file to a folder on your desktop.
diff --git a/articles/desktop-flows/ui-elements.md b/articles/desktop-flows/ui-elements.md
index c07dbd818..af79f3317 100644
--- a/articles/desktop-flows/ui-elements.md
+++ b/articles/desktop-flows/ui-elements.md
@@ -51,7 +51,7 @@ To find where the element is being used in the flow, right-click the element and
Captured elements are divided into two main categories, based on the type of application they were captured from: **UI controls** and **Web controls**.
-Any captured elements that are part of a web page displayed in a compatible web browser (Internet Explorer, Microsoft Edge, Firefox, Google Chrome) are automatically saved as web controls, and may be used as input to **Web automation** actions. All other elements are considered UI controls, and may be used in the respective actions.
+Any captured elements that are part of a web page displayed in a compatible web browser (Internet Explorer, Microsoft Edge, Firefox, Google Chrome) are automatically saved as web controls, and may be used as input to **Browser automation** actions. All other elements are considered UI controls, and may be used in the respective actions.
## Element properties
diff --git a/articles/guidance/planning/determine-automation-methods.md b/articles/guidance/planning/determine-automation-methods.md
index 2b1eafb45..86a31bce6 100644
--- a/articles/guidance/planning/determine-automation-methods.md
+++ b/articles/guidance/planning/determine-automation-methods.md
@@ -38,7 +38,7 @@ connectors—your next-best method is to use an HTTP connector. More informa
- **Create a web browser automation**: If you can't find a connector, and if the system is a web browser–based
application or a website, you should consider web browser automation.
-Web browser automation mimics keyboard inputs and mouse movements as if a human were using the browser. You can [build a web automation](../../desktop-flows/actions-reference/webautomation.md) process with Power Automate Desktop.
+Web browser automation mimics keyboard inputs and mouse movements as if a human were using the browser. You can [build a browser automation](../../desktop-flows/actions-reference/webautomation.md) process with Power Automate Desktop.
- **Create a desktop application automation**: If you can't find a connector, and if the system is a desktop application on
a PC, this is the automation method to use. Power Automate has capabilities that mimic human keyboard inputs and mouse movements. For desktop application automation, you [create a new Power Automate Desktop process](../../desktop-flows/create-flow.md) with Power Automate Desktop.
diff --git a/articles/us-govt.md b/articles/us-govt.md
index 7236732dc..ce8266a95 100644
--- a/articles/us-govt.md
+++ b/articles/us-govt.md
@@ -8,7 +8,7 @@ ms.service: power-automate
ms.devlang: na
ms.subservice: cloud-flow
ms.topic: article
-ms.date: 09/09/2021
+ms.date: 10/27/2021
ms.author: deonhe
search.app:
- Flow
@@ -271,6 +271,7 @@ Microsoft is investigating the data loss prevention (DLP) feature, considering t
- [Power BI](/connectors/powerbi/) – Power Automate US Government doesn’t support Power BI.
- [Power Platform admin center](/power-platform/admin/admin-documentation) – You can use the admin center to [open support tickets](/power-platform/admin/get-help-support), but other functionality is currently not available in US Government tenants.
+- [Desktop flows](./desktop-flows/overview.md) - To install the on-premises data gateway in DoD, go to **Data > Gateways** in the left navigation, and then select **New gateay**.
### See also
diff --git a/articles/whats-new.md b/articles/whats-new.md
index a8192ddfd..75c93d569 100644
--- a/articles/whats-new.md
+++ b/articles/whats-new.md
@@ -6,7 +6,7 @@ manager: kvivek
ms.service: power-automate
ms.subservice: cloud-flow
ms.topic: conceptual
-ms.date: 09/14/2021
+ms.date: 10/06/2021
ms.author: deonhe
search.app:
- Flow
@@ -21,7 +21,7 @@ This article provides resources that you can use to learn about the features tha
## Weekly releases
-For information about the new features, fixes, and improvements that were released in the past few weeks, see [Released versions for Microsoft Power Automate](/business-applications-release-notes/powerplatform/released-versions/flow).
+For information about the new features, fixes, and improvements that were released in the past few weeks, see [Released versions for Microsoft Power Automate](/power-platform/released-versions/power-automate).
> [!NOTE]
> Releases are rolled out over several days. New or updated functionality might not appear immediately.