Uipath bot scheduling in orchestrator - uipath-robot

I need to schedule the execution of two bots running on two different robots in the UiPath orchestrator. I want the second bot to start executing when first bot execution has completed.
For example, I have 2 bots A and B.. Bot B will be scheduled at 6pm every day, So at 5:45pm bot A has to execute (i.e. 15 minutes prior to Bot B Bot A has to be executed) and if the result of Bot A is false then it should not execute bot B. If bot A result is true then it should execute Bot B.
*Note: Bot A response will be either TRUE or FALSE. (Based on it Bot B has to execute)
Please help me out if you have any solution for the above issue.
Thanks in advance.

There are two ways to achieve this.
The first way is simpler, but you don't have much control here. Within Process A (executed by Bot A), you can have an "If" activity that triggers the start of Process B (executed by Bot B):
This is simple, but doesn't give you much control over which robot is allocated to perform job B if multiple robots are available. You can limit this by assigning only one bot (Bot B) to the environment of Process B.
If you wish to control which specific bot is triggered, you can do that using the orchestrator API. You can configure the API by navigating to your orchestrator tenant's swagger site. The URL for this site looks like this...
https://platform.uipath.com/[AccountLogicalName]/[TenantLogicalName]/swagger/ui/index#/
... for an enterprise orchestrator.
and like this...
https://cloud.uipath.com/[AccountLogicalName]/[TenantLogicalName]/orchestrator_/swagger/index.html#
... for a community orchestrator.
In the swagger link, navigate to Jobs to configure your trigger.
Important: For executing either approach, you need to enable the Robot role on orchestrator to have the following permissions:
Create and Edit rights on jobs, as well as View on processes and environments.

Related

Microsoft Teams - Power Automate - Bot replies to older messages

I’m having a problem with a bot that has to reply automatically when a message is posted in a Teams channel. When it is activated, it also responds to messages that were posted prior to its activation. How can i avoid this ?
Thanks for your help
I'm assuming you're running a flow with a Microsoft Teams trigger.
I can see two possible causes of this.
This first is that Microsoft's Team trigger doesn't work very well and is firing for previous posts while the Flow is disabled. Very plausible
If that's the case you need to make a Condition to check if the post date is greater than the current time minus say 10 minutes, AddMins(UtcNow(),-10). If successful, continue, if not, terminate.
Hopefully, you can pull the post date directly from the Teams trigger, but if not you'll have to use a Teams action to look up information about the given post id provided by the trigger.
The second possibility is that you're not taking the ID from the trigger which will tell you what post to respond to, and accidentally doing some kind of reply to all posts in the channel.

Can Logic Apps Monitor a large number of calendars effectively?

PROBLEM
We want to track changes in user calendars, but are concerned with how often we'd need to check 2000+ user calendars (Outlook).
Would the process of monitoring over 2000 user calendars present a problem for our network?
WORKFLOW
Trigger (Check for calendar change) -> ACTION (Http: update a DB)
The Trigger below checks a calendar every 2 seconds. Is there a trigger that behaves like a "subscription" object where it simply handles a change notification?
For the question about how often to check the calendar events, it depends on your requirement. In my opinion, if you set check event every 2 seconds(it's a little bit more frequent), you'd better check if your logic app set as run in parallel. You can click the ... button of the trigger and click "Settings". Then check if it is same to below screenshot.
For your question about is there a trigger that behaves like a "subscription". I'm afraid it doesn't exist a trigger which can implement this requirement in logic app. We can also check if any backend api can implement it, we can see the graph api document.
The example in above screenshot is for mailFolders, but it's same with events. We can see it is necessary to specify a user(like me) or a group before the /events. So I don't think we can monitor the subscription events. You can raise a post on Azure feedback page to suggest developer add this feature.

Configure a default scenario in MS Health Bot Service

I am using Microsoft's Health Bot Service to create a healthcare bot.
I have created 2 scenarios and I want one of them to be the one that will kick off when starting a new conversation.
I failed to find anywhere in the Health Bot Service portal how to configure this.
If you want the bot to start the scenario before the user has interacted with it, that feature isn't currently available since "before triggering a scenario, the bot waits for initial input from the end user."
As the Health Bot was just made available to the general public in the last week, that feature may be added in the future, but I'm not sure.
Currently, if a user has initiated a conversation with the bot previously, you can send proactive messages.
Otherwise, I'd suggest doing the following to get close to what you're looking for:
In Configuration > Conversation > Interactions, change the Automatic welcome to something like, "Say "start scenario" to get started." Obviously, change "start scenario" to whatever makes the most sense for your use case.
Step:
Result:
Go to Scenarios > Manage and create your "Kick off" scenario
Step:
Go to Language > Models and make a new model. Use LUIS or RegEx, but make sure that the expression it looks for is the one you told the user to use in step 1. Then, for Intent Mapping, point it to the scenario you created in step 2.
Step:
Result:

IMapTrigger for Azure web jobs

I want to run a web job if a specific email is received. Currently, I use a TimerTrigger and create an ImapClient which reads the unread emails and scans for one with the appropriate content. This works fine but there is a delay of whatever duration I set my timer to. Ideally, I would like an IMapTrigger (if such a thing exists) which would fire whenever a new email appears.
Does a) such a thing exist, b) is it worth writing one?

How to invoke Azure Scheduled Job by a webrequest

How do i invoke a Microsoft Azure Scheduled Job from my serverside code?
I have a running Scheduled Job, that calls an endpoint, to send out some emails and sync some data.
I have a system, where users can send emails out to lists of emails. So instead of the user waiting xx minutes for a response from the web server, after it is done sending out emails, I would like to just call my Scheduled Job, so that the user can initiate the email sendout, but doesnt have to wait for it to finish. Sort of "Fire and forget" for the user.
How do i go around to do this? I haven't been able to find any info on how to achieve it.
Thanks in advance.
Update:
I found this documentation right after posting:
https://learn.microsoft.com/en-us/rest/api/scheduler/jobs/run
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}/run?api-version=2016-03-01
I am however not able to find info on how to authenticate against this endpoint. But it seems like its definetly possible to do.
I'll leave the question/answer be, in case it can help anyone.
It turned out that using the azure endpoint for a Post call to invoke the scheduled job, was a good solution.
After setting the resource group and jobcollection up correctly, I got it working.
https://learn.microsoft.com/en-us/rest/api/scheduler/jobs/run
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Scheduler/jobCollections/{jobCollectionName}/jobs/{jobName}/run?api-version=2016-03-01

Resources