
Quizás si ya has hecho diferentes automatizaciones te has enfrentado al caso donde requieres automatizar un proceso donde su disparador es un correo electrónico, para realizar esto, una alternativa es crear u disparador desde Power Automate de Microsoft si usas un correo de la suite de Microsoft, esta alternativa es muy útil si tu orquestador esta expuesto a internet, ya sea que ese desplegado en aws, Azure u otro servicio.
En esta oportunidad quiero explicar como conectarnos a nuestro orquestador y disparar un proceso mediante una macro, esta macro se puede desplegar en Outlook para ser ejecutada mediante una regla. Esta utilidad sirve tanto si tienes un orquestador expuesto a Internet como si se encuentra dentro de una red privada, teniendo en cuenta que el equipo donde despliegues la maro tenga alcance al orquestador si este se encuentra en una red interna.
Para realizar este proceso debemos tener Outlook instalado sincronizado al menos con una cuenta de correo.
Para comenzar accedemos al panel de macros en Outlook, para ellos estando sobre la aplicación Outlook presionas Alt F11.
Sub LanzarJob()
' Autenticación
Dim xmlhttp As Object
Set xmlhttp = CreateObject("MSXML2.serverXMLHTTP")
Dim body As String
body = "{ ""tenancyName"" : ""Default"", ""usernameOrEmailAddress"" : ""User"", ""password"" : ""password""}"
Dim myurl As String
myurl = "https://orquestador.com/api/Account/Authenticate"
xmlhttp.Open "POST", myurl, False
xmlhttp.setRequestHeader "Content-type", "application/json"
xmlhttp.Send body
MsgBox (xmlhttp.responseText)
Dim Json As Object
Set Json = JsonConverter.ParseJson(xmlhttp.responseText)
Dim token As String
token = "Bearer " + Json("result")
'-------------------------------------------------------------------------------
' Consultar Reles ???
' - Json
' https://orquestador.com/odata/Releases/?$filter=Name%20eq%20%27Robot_Environment%27
' Metodo Lanzar Job
Set xmlhttp = CreateObject("MSXML2.serverXMLHTTP")
myurl = "https://orquestador.com/odata/Jobs/UiPath.Server.Configuration.OData.StartJobs"
body = "{ ""startInfo"": { ""ReleaseKey"": ""3j8fh148-2ghz-546g-5c82-1h2f056f16g4"", ""RobotIds"": [], ""JobsCount"": 0, ""Strategy"": ""All"", ""InputArguments"": ""{\""Value2\"":20,\""Value1\"":33}"" }}"
xmlhttp.Open "POST", myurl, False
xmlhttp.setRequestHeader "Content-type", "application/json"
xmlhttp.setRequestHeader "Authorization", token
xmlhttp.Send body
MsgBox (xmlhttp.responseText)
End Sub
Quiero recomendar las paginas donde me apoye para construir este script.
https://github.com/VBA-tools/VBA-JSON