ALVAO (Preview)

Alvao enables you automate actions in Alvao Service Desk and Asset Management and integrate with other applications.

This connector is available in the following products and regions:

Service Class Regions
Logic Apps Standard All Logic Apps regions except the following:
     -   Azure Government regions
     -   Azure China regions
     -   US Department of Defense (DoD)
Power Automate Premium All Power Automate regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Power Apps Premium All Power Apps regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Contact
Name ALVAO Support
URL https://www.alvao.com/en/support-and-services
Email support@alvao.com
Connector Metadata
Publisher ALVAO
Website https://www.alvao.com
Privacy policy https://www.alvao.com/en/privacystatement
Categories Collaboration;IT Operations

With this connector, you can use Power Automate, Power Apps, or Azure Logic Apps to automate actions in Alvao or to integrate Alvao with other applications. The connector allows you to start automations tied not only to the workflow of tickets in the Service Desk, but also to the lifecycle of assets registered in the Asset Management. Connector actions then allow you to move the ticket workflow or manage the asset lifecycle.

Prerequisites

You will need to be an ALVAO customer (SaaS or On-prem) with a version of ALVAO at least 11.1 and have REST API available from the internet.

How to get credentials

  1. Create an application account in Alvao WebApp - Administration - Users.
  2. Set at least the Name and Surname, User name and enable the option Application account - Other applications.
  3. Set a password to this account.
  4. Set the appropriate permissions for the account to work with tickets or assets.
  5. Use the User name and Password of this account to create a connection to this connector.

Note: You will also need the URL to your Alvao REST API which you can find in Alvao WebApp - Administration - Settings - Web services.

Get started with your connector

After creating the connection, you can use various triggers or actions.

For example, grant permission to read a folder on SharePoint using an automated flow based on the approval of a ticket in the Alvao Service Desk:

  1. Use the When a ticket transitions to a status trigger and specify the name of the process and the state in which to trigger the flow.
  2. Then add the Get Ticket action and as input enter the Ticket ID available from the trigger.
  3. Then, use for example the requester's email you got from the action, and use it for finding the user in M365 and assigning him appropriate permissions.

Other actions can also help you with automations in Asset Management. E.g. actions for creating an asset, changing the values of its properties or moving it within the registry. If you need to regularly import assets from another system, you can use the action Import objects from CSV.

Known issues and limitations

  • All triggers are only available in ALVAO 11.2 or higher.
  • These actions are only available in ALVAO 11.2 or higher:
    • Create object
    • Get object
    • Get objects
    • Update object properties
    • Move objects
    • Get users
    • Import objects from CSV
  • Some actions require an entity ID as input, which must exist within Alvao. These IDs are usually found in the Alvao WebApp at the end of the URL on their detail or edit pages.

Common errors and remedies

  • 403 Forbidden - Check whether the used application account has all the necessary permissions to perform the action. Also check the credentials used in the connection.
  • 404 Not found - Check that all input parameters are correct and the REST API URL is correct in the connection. Check whether the action is available in your version of ALVAO.

FAQ

Custom fields

The connector also supports reading and writing values from/to ticket custom fields. Custom fields can't be described in the general connector definition, so you need to use the following techniques for processing them.

To read a value of a ticket’s custom field, use expressions in the Get ticket action. E.g., to read the value of the TicketCategory field, use the expression:

outputs('Get_request')?['body/customItems/TicketCategory/value']

To write a value in a ticket’s custom field, use the Update ticket action with a custom JSON specification. E.g., to write the "monitor failure" value in the TicketCategory field, use this specification in the Custom Items field:

{
  "TicketCategory": {
    "@@odata.type": "#Alvao.Rest.Api.Models.SD.CustomItem",
    "name": "TicketCategory",
    "value": "monitor failure"
  }
}

Note: The character "@" is doubled because of escaping.

Creating a connection

The connector supports the following authentication types:

Default Parameters for creating connection. All regions Not shareable

Default

Applicable: All regions

Parameters for creating connection.

This is not shareable connection. If the power app is shared with another user, another user will be prompted to create new connection explicitly.

Name Type Description Required
Host string Specify the host URL of your ALVAO REST API True
Username string The username for ALVAO application account True
Password securestring The password for ALVAO application account True

Throttling Limits

Name Calls Renewal Period
API calls per connection 100 60 seconds

Actions

Assign ticket to solver or solver team

Assigns ticket to solver or solver team.

Change ticket state

Changes ticket state. It can be used also for resolving or reopening the ticket. Either State ID or State Name is required.

Create object

Creates a new object from specified template under specified object.

Create record in ticket log

Creates record in ticket log.

Create ticket

Creates new ticket.

Get object

Returns object with its properties.

Get objects

Returns objects with its properties according to OData parameters.

Get ticket

Returns ticket properties.

Get users

Returns users and their properties according to OData parameters.

Import objects from CSV

Imports objects provided in CSV format. Similar functionality to ImportUtil utility.

Move object

Moves an object to a specified destination.

Move ticket to another service

Moves ticket to another service. Either Service ID or Service Name is required.

Update object properties

Updates object properties.

Update ticket

Updates ticket columns. Set only properties to change. To change SLA set either slaId or slaName. To change requester set either Requester ID only or all data in requester (unregistered user).

Assign ticket to solver or solver team

Assigns ticket to solver or solver team.

Parameters

Name Key Required Type Description
Ticket ID
ticketId True integer

Specify the ID of the ticket (tHdTicket.iHdTicketId).

Solver ID
solverId integer

New solver ID (tPerson.iPersonId).

Solver Team ID
solverTeamId integer

New solver team ID (tRole.iPersonId).

Message
messageForSolverHtml string

Message for solver and/or for solver team in HTML.

Content Bytes
contentBytes string

Content encoded in Base64.

Content Type
contentType string

Content type, e.g. image/png.

Content Name
name string

Content name.

Returns

response
string

Change ticket state

Changes ticket state. It can be used also for resolving or reopening the ticket. Either State ID or State Name is required.

Parameters

Name Key Required Type Description
Ticket ID
ticketId True integer

Specify the ID of the ticket (tHdTicket.iHdTicketId).

State ID
stateId integer

New state ID (TicketState.id).

State Name
stateName string

New state name.

Comment
commentHtml string

Comment in HTML.

Comment For Approvers
commentForApprovers string

Comment for approvers in HTML.

Comment For requesters
commentForRequesters string

Comment for requesters in HTML.

Content Bytes
contentBytes string

Content encoded in Base64.

Content Type
contentType string

Content type, e.g. image/png.

Content Name
name string

Content name.

Returns

response
string

Create object

Creates a new object from specified template under specified object.

Parameters

Name Key Required Type Description
Template
templateObjectId True integer

Select the object template or enter its ID (tblNode.intNodeId).

Parent Object
parentObjectId integer

Select the parent object or enter its ID (tblNode.intNodeId).

Returns

Body
AM.Object

Create record in ticket log

Creates record in ticket log.

Parameters

Name Key Required Type Description
Ticket ID
ticketId True integer

Specify the ID of the ticket (tHdTicket.iHdTicketId).

Subject
subject True string

Subject of the record.

Html Content
contentHtml string

Content of the record in Html.

Plain Text Content
contentPlain string

Content of the record in plain text.

Kind
kind True string

Kind of the record.

From Name
from string

Name of the sender.

From E-mail
emailFrom string

E-mail of the sender.

To
emailTo string

Recipients of the message separated by a semicolon.

Copy
emailCc string

Recipients of the message separated by a semicolon.

From Person ID
fromPersonId integer

Person ID of the author (tPerson.iPersonId).

To Person ID
toPersonId integer

Person ID of the receiver (tPerson.iPersonId).

Created Date
created string

Date and time in which should be the record created. Leave empty for current.

Show To Requester
showToRequester boolean

Decide whether the requester should see the record.

Content Bytes
contentBytes string

Content encoded in Base64.

Content Type
contentType string

Content type, e.g. image/png.

Content Name
name string

Content name.

Returns

Name Path Type Description
Record ID
id integer

Log record ID (tAct.iActId).

Subject
subject string

Log record subject.

Html Content
contentHtml string

Log record content in HTML.

Plain Text Content
contentPlain string

Log record content in plain text.

Created Date
created string

Log record created date.

Kind
kind string

Log record kind.

From Name
from string

Log record author name.

From E-mail
emailFrom string

Log record author e-mail.

To
emailTo string

Log record receivers e-mails.

Copy
emailCc string

Log record receivers e-mails.

From Person ID
fromPersonId integer

Log record sender ID (tPerson.iPersonId).

To Person ID
toPersonId integer

Log record receiver ID (tPerson.iPersonId).

Message ID
messageId string

Log record message ID.

Attachments
attachments array of object

Log record attachments.

Attachment Name
attachments.name string

Attachment name.

Attachment ID
attachments.id integer

Attachment ID (tDocument.iDocumentId).

Attachment Link
attachments.link string

Link to the attachment.

Create ticket

Creates new ticket.

Parameters

Name Key Required Type Description
Service ID
serviceId True integer

Ticket service ID (tHdSection.iHdSectionId).

Name
name True string

Ticket name.

Description
descriptionHtml string

Ticket description in HTML.

SLA ID
slaId integer

Ticket SLA ID (tSla.iSlaId).

Priority
priority string

Ticket priority.

Impact
impact string

Ticket impact.

Urgency
urgency string

Ticket urgency.

Device Number
deviceNumber string

Ticket device number.

Related Organization
relatedOrganization string

Ticket related organization name.

Requested For Person ID
requestedForPersonId integer

Requested for person ID (tPerson.iPersonId).

ID
id integer

Requester ID (tPerson.iPersonId).

Name
name string

Requester name.

E-mail
email string

Requester e-mail.

E-mail 2
email2 string

Requester e-mail 2.

Phone
phone string

Requester phone.

Phone 2
phone2 string

Requester phone 2.

Mobile Phone
mobilePhone string

Requester mobile phone.

Department
department string

Requester department.

Office
office string

Requester office.

Work Position
workPosition string

Requester work position.

Organization
organization string

Requester organization.

Other Contacts
otherContacts string

Requester other contacts.

Objects
objects array of integer

Links to objects.

Content Bytes
contentBytes string

Content encoded in Base64.

Content Type
contentType string

Content type, e.g. image/png.

Content Name
name string

Content name.

Custom Items
customItems object

Ticket custom items (tHdTicketCust).

Returns

Body
SD.Ticket

Get object

Returns object with its properties.

Parameters

Name Key Required Type Description
Object
objectId True integer

Select the object or enter its ID (tblNode.intNodeId).

Returns

Get objects

Returns objects with its properties according to OData parameters.

Parameters

Name Key Required Type Description
Top
$top integer

Specify the number of objects you want to return.

Search
$search string

Specify the fulltext search condition. OData $search.

Filter
$filter string

Specify the filter, e.g. Name eq ‘Milk’. OData $filter.

Order By
$orderBy string

Specify the order. OData $orderBy.

Returns

Get ticket

Returns ticket properties.

Parameters

Name Key Required Type Description
Ticket ID
ticketId True integer

Specify the ID of the ticket (tHdTicket.iHdTicketId).

Returns

Body
SD.Ticket

Get users

Returns users and their properties according to OData parameters.

Parameters

Name Key Required Type Description
Top
$top integer

Specify the number of objects you want to return.

Search
$search string

Specify the fulltext search condition. OData $search.

Filter
$filter string

Specify the filter, e.g. Email eq ‘james.smith@contoso.com’. OData $filter.

Order By
$orderBy string

Specify the order. OData $orderBy.

Returns

Import objects from CSV

Imports objects provided in CSV format. Similar functionality to ImportUtil utility.

Parameters

Name Key Required Type Description
CSV
contentCsv True string

CSV content to import.

Object Type
objectTypeId integer

The type of imported objects.

Datetime Format
dateTimeFormat string

Datetime format in text strings (e.g. dd/MM/yyyy).

Separator
separator string

The column separator used in the imported CSV.

Skip Errors
skipErrors boolean

If enabled, data is imported even if there is an error in one of the entries.

Key Properties
keyFields string

Key fields used to identify and update existing objects (e.g. Serial number, Model).

Parent Object
createUnderObjectId integer

Parent object for creating new objects.

Update Discarded Objects
updateDiscardedObjects boolean

If enabled, discarded objects are also searched for and updated on import.

Returns

Move object

Moves an object to a specified destination.

Parameters

Name Key Required Type Description
Object
objectId True integer

Select the object or enter its ID (tblNode.intNodeId).

Destination Object
parentObjectId integer

Select the destination object or enter its ID (tblNode.intNodeId).

Move ticket to another service

Moves ticket to another service. Either Service ID or Service Name is required.

Parameters

Name Key Required Type Description
Ticket ID
ticketId True integer

Specify the ID of the ticket (tHdTicket.iHdTicketId).

Service ID
serviceId integer

New service ID (tHdSection.iHdSectionId).

Service Name
serviceName string

New service name.

Solver ID
newSolverId integer

New solver ID (tPerson.iPersonId).

Solver Team ID
newSolverTeamId integer

New solver team ID (tRole.iPersonId).

Comment
commentHtml string

Comment in HTML.

Content Bytes
contentBytes string

Content encoded in Base64.

Content Type
contentType string

Content type, e.g. image/png.

Content Name
name string

Content name.

Returns

response
string

Update object properties

Updates object properties.

Parameters

Name Key Required Type Description
Object
objectId True integer

Select the object or enter its ID (tblNode.intNodeId).

Name
name string

Select the property of the object.

Value
value string

Specify the value of the property.

Update ticket

Updates ticket columns. Set only properties to change. To change SLA set either slaId or slaName. To change requester set either Requester ID only or all data in requester (unregistered user).

Parameters

Name Key Required Type Description
Ticket ID
ticketId True integer

Specify the ID of the ticket (tHdTicket.iHdTicketId).

Name
name string

Ticket name.

Priority
priority string

Ticket priority.

Impact
impact string

Ticket impact.

Urgency
urgency string

Ticket urgency.

SLA ID
slaId integer

Ticket SLA ID (tSla.iSlaId).

SLA Name
slaName string

Ticket SLA name.

Device Number
deviceNumber string

Ticket device number.

Related Organization
relatedOrganization string

Ticket related organization name.

Internal Target Date
internalTargetDate date-time

Ticket internal target date.

Internal Target
internalTarget string

Ticket internal target.

Name
name string

Requester name.

E-mail
email string

Requester email.

E-mail 2
email2 string

Requester e-mail 2.

Phone
phone string

Requester phone.

Phone 2
phone2 string

Requester phone 2.

Mobile phone
mobilePhone string

Requester mobile phone.

Department
department string

Requester department.

Office
office string

Requester office.

Work Position
workPosition string

Requester work position.

Organization
organization string

Requester organization.

Other contacts
otherContacts string

Requester's other contacts.

Custom Items
customItems object

Ticket custom items (tHdTicketCust).

Triggers

When a ticket field value is changed

This operation is triggered when a certain ticket field value is changed.

When a ticket transitions to a status

This operation is triggered when a ticket transitions to a certain status.

When a value of an object property is changed

This operation is triggered when a value of a certain object property is changed.

When an object is created

This operation is triggered when an object of a certain kind is created.

When an object is moved

This operation is triggered when an object of a certain kind is moved to a different position in the object tree.

When a ticket field value is changed

This operation is triggered when a certain ticket field value is changed.

Parameters

Name Key Required Type Description
Field
fieldId True integer

Select a ticket field.

Process
process string

Enter the name of the process for which you want to trigger this flow.

Service
service string

Enter the name of the service for which you want to trigger this flow.

Returns

When a ticket transitions to a status

This operation is triggered when a ticket transitions to a certain status.

Parameters

Name Key Required Type Description
Process
process True string

Enter the name of the process for which you want to trigger this flow.

Ticket status
status True string

Enter the name of the ticket status. Ticket transition to this status will trigger this flow.

Service
service string

Enter the name of the service for which you want to trigger this flow.

Returns

When a value of an object property is changed

This operation is triggered when a value of a certain object property is changed.

Parameters

Name Key Required Type Description
Property
propertyKindId integer

Select the property of the object for which you want to trigger this flow.

New Value
newValue string

Enter the new value of the property for which you want to trigger this flow. E.g. PC123, 1.45, 14. 4. 2024.

Object Kind
kindId integer

Select the kind of the object for which you want to trigger this flow.

Parent Object
parentObjectId integer

Select the parent object for whose subtree you want to trigger this flow.

Returns

Name Path Type Description
Object ID
objectId integer

Object ID (tblNode.intNodeId).

Property ID
propertyId integer

Changed Property ID (tblProperty.intPropertyId).

When an object is created

This operation is triggered when an object of a certain kind is created.

Parameters

Name Key Required Type Description
Kind
kindId integer

Select the kind of the object for which you want to trigger this flow.

Parent Object
parentObjectId integer

Select the parent object for whose subtree you want to trigger this flow.

Returns

Name Path Type Description
Object ID
objectId integer

Object ID (tblNode.intNodeId).

When an object is moved

This operation is triggered when an object of a certain kind is moved to a different position in the object tree.

Parameters

Name Key Required Type Description
Kind
kindId integer

Select the kind of the object for which you want to trigger this flow.

Moved From
fromObjectId integer

Select the source object for whose subtree you want to trigger this flow.

Moved To
toObjectId integer

Select the destination object for whose subtree you want to trigger this flow.

Returns

Name Path Type Description
Object ID
objectId integer

Object ID (tblNode.intNodeId).

Old Parent Object ID
oldParentObjectId integer

Old Parent Object ID (tblNode.intNodeId).

Definitions

SD.Ticket

Name Path Type Description
ID
id integer

Ticket ID (tHdTicket.iHdTicketId).

Name
name string

Ticket name.

Message Tag
messageTag string

Ticket message tag.

SLA ID
slaId integer

SLA ID (tSla.iSlaId).

SLA Name
slaName string

SLA name.

Priority
priority string

Ticket priority.

Impact
impact string

Ticket impact.

Urgency
urgency string

Ticket urgency.

Device Number
deviceNumber string

Ticket device number.

Related Organization
relatedOrganization string

Ticket related organization name.

Internal Target Date
internalTargetDate date-time

Ticket internal target date.

Internal Target
internalTarget string

Ticket internal target.

Requester ID
requesterId integer

Requester ID (tPerson.iPersonId).

Requester Name
requesterName string

Requester name.

Requested For ID
requestedForId integer

Requested for ID (tPerson.iPersonId).

Requested For Name
requestedForName string

Requested for name.

Solver ID
solverId integer

Ticket solver ID (tPerson.iPersonId).

Solver Name
solverName string

Ticket solver name.

Solver Team ID
solverTeamId integer

Ticket solver team ID (tRole.iRoleId).

Solver Team Name
solverTeamName string

Ticket solver team name.

Service ID
serviceId integer

Ticket service id (tHdSection.iHdSectionId).

Service Name
serviceName string

Ticket service name.

Process Name
processName string

Service process name.

Status ID
stateId integer

Ticket status ID (TicketState.id).

Status Name
stateName string

Ticket status name.

Created Date
createdDate date-time

Date of ticket creation.

Resolved Date
resolvedDate date-time

Date of ticket resolution.

Closed Date
closedDate date-time

Date of ticket closing.

Initial Act ID
initialActId integer

Initial act ID (tAct.iActId).

Removed Date
removedDate date-time

Date of ticket removing.

In Approval
inApproval boolean

Whether the ticket is in approval process.

Due Date
dueDate date-time

Due date of the ticket.

Objects
objects array of object

Links to objects.

ID
objects.objectId integer

Object ID (tblNode.intNodeId).

Custom Items
customItems object

Ticket custom items (tHdTicketCust).

Webhook.UpdatedTicket

Name Path Type Description
Ticket ID
requestId integer

ID of the ticket (tHdTicket.iHdTicketId).

Person ID
personId integer

ID of the person who made the change (tPerson.iPersonId).

AM.Object

Name Path Type Description
ID
id integer

Object ID (tblNode.intNodeId).

Name
name string

Object name.

Path
path string

Object path in the tree.

Full Name
fullName string

Object name with path in the tree.

Kind ID
kindId integer

Object kind ID (tblKind.intKindId).

Kind Name
kindName string

Object kind name.

Hidden
hidden boolean

Whether the object is hidden.

Parent Object ID
parentObjectId integer

Parent object ID (tblNode.intNodeId).

AM.ObjectExpanded

Name Path Type Description
ID
id integer

Object ID (tblNode.intNodeId).

Name
name string

Object name.

Path
path string

Object path in the tree.

Full Name
fullName string

Object name with path in the tree.

Kind ID
kindId integer

Object kind ID (tblKind.intKindId).

Kind Name
kindName string

Object kind name.

Hidden
hidden boolean

Whether the object is hidden.

Parent Object ID
parentObjectId integer

Parent object ID (tblNode.intNodeId).

Properties
properties array of object

Properties of the object.

ID
properties.id integer

Property ID (tblProperty.intPropertyId).

Name
properties.name string

Property name.

Value
properties.value string

Property value.

Name Order
properties.nameOrder integer

Property name order.

AM.ObjectsExpandedApiResponse

Name Path Type Description
value
value array of AM.ObjectExpanded

AM.ImportCsvResponse

Name Path Type Description
Total Records Count
recordsTotalCount integer

Total count of records in CSV.

Processed Records Count
recordsProcessedCount integer

Count of processed records.

Skipped Records Count
recordsSkippedCount integer

Count of skipped records.

Failed Records Count
recordsFailedCount integer

Count of failed records.

Created Objects Count
objectsCreatedCount integer

Count of created objects.

Updated Objects Count
objectsUpdatedCount integer

Count of updated objects.

Log
log string

Import log containing detailed information.

Common.Person

Name Path Type Description
Name
name string

User name and surname.

E-mail
email string

User e-mail.

E-mail 2
email2 string

User e-mail 2.

Work Phone
phone string

User work phone.

Work Phone 2
phone2 string

User work phone 2.

Mobile Phone
mobilePhone string

User mobile phone.

Department
department string

User department.

Office
office string

User office.

Position
workPosition string

User work position.

Organization
organization string

User organization.

Other Contacts
otherContacts string

User other contacts.

User ID
id integer

User ID (tPerson.iPersonId).

Username (for older systems)
sAMAccountName string

User username that supports previous version of Windows.

Username
login string

User username.

Created
createdDate date-time

User created date.

Is System
isSystem boolean

Whether user is the Alvao System.

Is Hidden
isHidden boolean

Whether user is hidden in menus.

Is Shared
isShared boolean

Whether user is a shared account.

Is Disabled
isDisabled boolean

Whether user is a disabled account.

Is Guest
isGuest boolean

Whether user is the Guest user.

Is App
isApp boolean

Whether user is an application account.

Removed
removedDate date-time

User removed date.

Manager ID
managerId integer

User manager ID (tPerson.iPersonId).

Substitute ID
substituteId integer

User substitute ID (tPerson.iPersonId).

Personal Number
personalNumber string

User personal number.

Preferred Language ID
localeId integer

User preferred language ID.

Time Zone
timezone string

User time zone.

Custom Items
customItems object

User custom items (tPersonCust).

AD GUID
adGuid string

User AD GUID.

First Name
firstName string

User first name.

Last Name
lastName string

User last name.

SID
sid string

User SID.

AD Path
adPath string

User AD path.

Azure ID
azureAdObjectId string

User Azure ID

Common.UsersApiResponse

Name Path Type Description
value
value array of Common.Person

string

This is the basic data type 'string'.