Limited support

 

This version of the product is in limited support. However, the documentation is available for your convenience. You will not be able to leave comments. Click here to view the documentation for the current version.

Microsoft Office 365 connector

Microsoft Office 365 connector is used for connecting  BMC Digital Workplace Catalog with the Office 365 Microsoft third-party system, and performing some actions in the Microsoft Office 365.

This topic describes the capabilities of Microsoft Office 365 connector, how to configure this connector, and provides a reference for how to use the Microsoft Office 365 workflow actions.


External account requirements

Before you start building workflows that use Office 365 actions, you must meet the following conditions:

  1. You must have a registered account in Microsoft Azure.To register for an account, go to the  Microsoft Azure signup page Open link
  2. You must have a registered account in Microsoft Office 365. To register for an account, go to the   Create Microsoft 365 account Open link
  3. You must have your Microsoft Azure account associated with the Microsoft Office 365 account. For details about how to associate these accounts, see  To associate an existing Azure subscription with the Office 365 account Open link
  4. You must set up the following permissions in Office 365 Exchange Online:

    Office 365 Exchange Online (full_access_as_user)

    Delegated

    Read user mail

    Delegated
    Read and write user mailDelegated
    Send mail as a userDelegated
    Read user calendarsDelegated
    Read and write user calendars Delegated
    Read user contactsDelegated
    Read and write user contactsDelegated
    Read all groups (preview) Delegated
    Read and write all groups (preview)Delegated
    Read user profilesDelegated
    Read and write user profiles Delegated
    Read all users' basic profilesDelegated
    Read users' relevant people lists (preview)Delegated
    Read and write users' relevant people lists (preview)Delegated
    Manage Exchange configurationDelegated
    Read user tasksDelegated
    Create, read, update and delete user tasksDelegated
    Read and write user mailbox settingsDelegated
    Read and write user and shared contactsDelegated
    Read user and shared contactsDelegated
    Read and write user and shared calendarsDelegated
    Read user and shared calendars Delegated
    Send mail on behalf of othersDelegated
    Read and write user and shared mailDelegated
    Read user and shared mailDelegated
    Use Exchange Web Services with full access to all mailboxesApplication
    Read and write mail in all mailboxes Application
    Read and write all user mailbox settingsApplication
    Read calendars in all mailboxesApplication
    Read and write contacts in all mailboxesApplication
    Read mail in all mailboxesApplication
    Read and write calendars in all mailboxesApplication
    Send mail as any user Application
    Read contacts in all mailboxes Application
  5. You must set up the following permissions in Windows Azure Active Directory:

    Read and write directory dataDelegated
    Read directory dataDelegated
    Sign in and read user profileDelegated
    Read all users' basic profilesDelegated
    Read all users' full profilesDelegated
    Read all groupsDelegated
    Read and write all groupsDelegated
    Access the directory as the signed-in userDelegated
    Read hidden membershipsDelegated
    Read and write devicesApplication
    Read directory dataApplication
    Read all hidden membershipsApplication
    Read and write directory dataApplication
    Read and write domainsApplication

Configuration parameters for the Microsoft Office 365 connector

Before you can use the Microsoft Office 365 connector to import the catalog, resource mapping, or in workflows, you must configure a connection, as described in Configuring service connectors.  The following table describes the parameters required to create a connection:

ParameterExamplesDescription
Client ID

9c6ef4a4-045f-4124-afbb-5aefyfc45eb1

This value is generated by your Azure account.
Client Secret5sFUedFu3rM+OfBDg3TKLHcYOC8OMwOuxRvuHb9XfbIThis value is generated by your Azure account.
Username

<userName>@<domainName>

This value is the name of a registered Office 365 user account.
Password<userPassword>This value is the name of a registered Office 365 user account.

Authentication Code (Optional)

Not applicable

This parameter is used only for versions earlier than 3.3.00.001, or if the connection cannot be configured successfully by using the Username and Password options. 

For details about how to generate the authentication code, see Troubleshooting connector configuration problems.

Tenant<domainName>

This value is a domain of the email address. 

Redirect URLhttp://<autoGeneratedValue>This value is generated by your Azure account.
Trust Self-Signed Certificates
  • False
  • True

Not applicable.

Catalog import capabilities 

With the Microsoft Office 365 connector, you can import services from Microsoft Office 365 as services in BMC Digital Workplace Catalog. For details about how to import the catalog, see Importing service catalog items.

You must import Microsoft Office 365 catalog to the BMC Digital Workplace Catalog  so that you can build workflows that include any of the following actions:

  • Create Office 365 User
  • Is Office 365 License Available
  • Get Office 365 Available License Count.

Resource mapping capabilities 

You can map data sets to populate a list of answers in the service questionnaire with a data set. For more information, see Creating selection menus for question responses.

Currently, you can map data only from the Country Codes data set. This data set is required for use with the Usage Location parameter that is mandatory for Create Office 365 User action.

Workflow actions available through the Office 365 connector 

The following table provides an overview of all Office 365 connector actions:

Action categoryAction DescriptionInput parametersPossible output
Actions with accounts


Create Office 365 User

Creates an Office 365 user account.

Notes:

  1. The workflow that uses this action must to be attached to the Create Office User 365 User [Microsoft Office Developer] imported service.

  2. The questionnaire attached to the service that uses this workflow must contain a question that uses data from the Country Codes data set.
Create Office 365 User input parametersCreate Office 365 User output parameters

Is Office 365 License Available

Checks if Office 365 license is available for a selected account.

Note:

The workflow that uses this action must to be attached to the Create Office User 365 User [Microsoft Office Developer] imported service.

Is Office 365 License Available input parameters
  • True
  • False

Get Office 365 Available License Count

Returns a count of available Office 365 licenses for a selected account.

Note:

The workflow that uses this action must to be attached to the Create Office User 365 User [Microsoft Office Developer] imported service.

Get Office 365 Available License Count input parametersNumber of available licenses

Delete Office 365 User

Deletes an existing Office 365 user account.


Delete Office 365 User

No output

Note:

If the queried user is not found, no exception is thrown.

Office 365 Users With Licences Report

Returns a list of users with an Office 365 license.Office 365 Users With License Report input parameters

Office 365 Users With License Report output parameters

Office 365 Users Without Licenses Report

Returns a list of users without an Office 365 license.Office 365 Users Without License Report input parametersOffice 365 Users Without License Report output parameters
Actions that send notifications about eventsSend Office 365 Created User Email Notification


Sends an email notification when an Office 365 user account is created.

Use this action to confirm a successful Create Office 365 User operation.

Send Office 365 Created User Email Notification input parametersNo output

Send Azure Storage Creation Email

Sends an email notification when an Azure storage is created.

Use this action in combination with the Create Storage Account Service operation.

Send Azure Storage Creation EmailNo output

Send Keys For Azure Storage Email

Sends an email with keys for Azure generated when the Azure storage account is created.

Use this action in combination with the Create Storage Account Service action.

Send Keys For Azure Storage EmailNo output

Send Regenerated Keys For Azure Storage Email

Sends an email with regenerated keys for Azure storage.

Use this action in combination with the Regenerate Storage Key action.

Send Regenerated Keys for Azure Storage EmailNo output

Send Aws Instance Creation Email

Sends an email notification when Amazon Web Services storage is created.

Use this action in combination with the Launch EC2 Instances action.

Send Aws Instance Creation EmailNo output

Send Virtual Machine Creation Email

Sends an email notification when a virtual machine is created in Microsoft Azure.

Use this action in combination with the Create Vm action.

Send Virtual Machine Creation EmailNo output

Send Status Virtual Machine Email

Sends an email about the status of a virtual machine in Microsoft Azure.

Use this action in combination with the Status Vm action.

Send Status Virtual Machine EmailNo output

Default service actions 

The Microsoft Office 365 connector provides Day 2 predefined service action: Delete Office 365 User. It is available for end users who requested creation of Office 365 user. For more details about Day 2 service actions, see Setting up the My Stuff page.

Example 1: Workflow for a service that generates a report about users with and without licenses

The following workflow generates reports about users with and without licenses. Both of these reports are sent to the Dashboard of the  BMC Digital Workplace Catalog  through  the Send In App Notification action.

{
	"version": null,
	"lastUpdateTime": "2018-01-30T15:12:05.667+0000",
	"lastChangedBy": "hannah_admin",
	"owner": "hannah_admin",
	"name": "myit-sb:Office 365 Users With Licenses Report",
	"tags": null,
	"description": "",
	"overlayGroupId": "TNGADG1AAP0ICAOTTASQOSWU5NGI6P",
	"developerId": null,
	"scope": "BUNDLE",
	"guid": "rx-f84a37fc-dd60-4a06-8fa4-2d75289ee4b6",
	"flowElements": [{
			"resourceType": "com.bmc.arsys.rx.services.process.domain.ServiceTaskDefinition",
			"version": null,
			"lastUpdateTime": "2018-01-30T15:12:05.667+0000",
			"lastChangedBy": "hannah_admin",
			"owner": "hannah_admin",
			"name": "Send In App Notification With Licenses",
			"tags": null,
			"description": "",
			"overlayGroupId": null,
			"developerId": null,
			"guid": "rx-2eb5bc65-d216-4d22-8213-feaca7e259d8",
			"multiInstanceLoopDefinition": null,
			"actionTypeName": "myit-sb:sendInAppNotification",
			"inputMap": [{
					"assignTarget": "receiver",
					"expression": "\"hannah_admin\""
				},
				{
					"assignTarget": "title",
					"expression": "\"Users with licenses report.\""
				},
				{
					"assignTarget": "content",
					"expression": "${activityResults.rx-c8347e62-12d1-43ad-8730-0987e6856e49.output}"
				}
			],
			"outputMap": [],
			"runAsUser": null,
			"label": "Send In App Notification With Licenses "
		},
		{
			"resourceType": "com.bmc.arsys.rx.services.process.domain.SequenceFlowDefinition",
			"version": null,
			"lastUpdateTime": "2018-01-30T15:12:05.667+0000",
			"lastChangedBy": "hannah_admin",
			"owner": "hannah_admin",
			"name": "Sequence Flow",
			"tags": null,
			"description": "",
			"overlayGroupId": null,
			"developerId": null,
			"guid": "rx-0e4e63e5-5657-4c0d-be33-d36d7385e0d4",
			"sourceNode": "rx-6e628b40-39fa-4022-88e9-cba610461348",
			"targetNode": "rx-4923dd2b-3f2f-43bc-95c2-93069e23118f",
			"condition": ""
		},
		{
			"resourceType": "com.bmc.arsys.rx.services.process.domain.EndEventDefinition",
			"version": null,
			"lastUpdateTime": "2018-01-30T15:12:05.667+0000",
			"lastChangedBy": "hannah_admin",
			"owner": "hannah_admin",
			"name": "End",
			"tags": null,
			"description": "",
			"overlayGroupId": null,
			"developerId": null,
			"guid": "rx-4923dd2b-3f2f-43bc-95c2-93069e23118f",
			"event": null,
			"label": ""
		},
		{
			"resourceType": "com.bmc.arsys.rx.services.process.domain.SequenceFlowDefinition",
			"version": null,
			"lastUpdateTime": "2018-01-30T15:12:05.667+0000",
			"lastChangedBy": "hannah_admin",
			"owner": "hannah_admin",
			"name": "Sequence Flow",
			"tags": null,
			"description": "",
			"overlayGroupId": null,
			"developerId": null,
			"guid": "rx-dd3cd28b-1494-44ac-a767-0b8ba52d0086",
			"sourceNode": "rx-2eb5bc65-d216-4d22-8213-feaca7e259d8",
			"targetNode": "rx-b8bb4ff1-4302-4e1e-85a3-4e732d5604b8",
			"condition": ""
		},
		{
			"resourceType": "com.bmc.arsys.rx.services.process.domain.ServiceTaskDefinition",
			"version": null,
			"lastUpdateTime": "2018-01-30T15:12:05.667+0000",
			"lastChangedBy": "hannah_admin",
			"owner": "hannah_admin",
			"name": "Office 365 Users Without Licenses Report",
			"tags": null,
			"description": "",
			"overlayGroupId": null,
			"developerId": null,
			"guid": "rx-b8bb4ff1-4302-4e1e-85a3-4e732d5604b8",
			"multiInstanceLoopDefinition": null,
			"actionTypeName": "com.bmc.myservice.connect.msoffice:Office 365UsersWithoutLicensesReport",
			"inputMap": [{
				"assignTarget": "connectionId",
				"expression": "\"bf09f882-e281-4d57-998d-08a85475a3a0\""
			}],
			"outputMap": [],
			"runAsUser": null,
			"label": "Office 365 Users Without Licenses Report"
		},
		{
			"resourceType": "com.bmc.arsys.rx.services.process.domain.SequenceFlowDefinition",
			"version": null,
			"lastUpdateTime": "2018-01-30T15:12:05.667+0000",
			"lastChangedBy": "hannah_admin",
			"owner": "hannah_admin",
			"name": "Sequence Flow",
			"tags": null,
			"description": "",
			"overlayGroupId": null,
			"developerId": null,
			"guid": "rx-03d70b08-f1d0-44ea-a41c-25a6b16512b5",
			"sourceNode": "rx-c8347e62-12d1-43ad-8730-0987e6856e49",
			"targetNode": "rx-2eb5bc65-d216-4d22-8213-feaca7e259d8",
			"condition": ""
		},
		{
			"resourceType": "com.bmc.arsys.rx.services.process.domain.ServiceTaskDefinition",
			"version": null,
			"lastUpdateTime": "2018-01-30T15:12:05.667+0000",
			"lastChangedBy": "hannah_admin",
			"owner": "hannah_admin",
			"name": "Office 365 Users With Licenses Report",
			"tags": null,
			"description": "",
			"overlayGroupId": null,
			"developerId": null,
			"guid": "rx-c8347e62-12d1-43ad-8730-0987e6856e49",
			"multiInstanceLoopDefinition": null,
			"actionTypeName": "com.bmc.myservice.connect.msoffice:Office 365UsersWithLicensesReport",
			"inputMap": [{
				"assignTarget": "connectionId",
				"expression": "\"bf09f882-e281-4d57-998d-08a85475a3a0\""
			}],
			"outputMap": [],
			"runAsUser": null,
			"label": "Office 365 Users With Licenses Report"
		},
		{
			"resourceType": "com.bmc.arsys.rx.services.process.domain.SequenceFlowDefinition",
			"version": null,
			"lastUpdateTime": "2018-01-30T15:12:05.667+0000",
			"lastChangedBy": "hannah_admin",
			"owner": "hannah_admin",
			"name": "Sequence Flow",
			"tags": null,
			"description": "",
			"overlayGroupId": null,
			"developerId": null,
			"guid": "rx-c37c4145-54ad-4946-8047-b8ccb13fd5e1",
			"sourceNode": "rx-b8bb4ff1-4302-4e1e-85a3-4e732d5604b8",
			"targetNode": "rx-6e628b40-39fa-4022-88e9-cba610461348",
			"condition": ""
		},
		{
			"resourceType": "com.bmc.arsys.rx.services.process.domain.SequenceFlowDefinition",
			"version": null,
			"lastUpdateTime": "2018-01-30T15:12:05.667+0000",
			"lastChangedBy": "hannah_admin",
			"owner": "hannah_admin",
			"name": "Sequence Flow",
			"tags": null,
			"description": "",
			"overlayGroupId": null,
			"developerId": null,
			"guid": "rx-f17ee651-e19c-456a-b6c9-2295157afdb2",
			"sourceNode": "rx-7102c9c5-c81b-435e-872f-4098789ea153",
			"targetNode": "rx-c8347e62-12d1-43ad-8730-0987e6856e49",
			"condition": ""
		},
		{
			"resourceType": "com.bmc.arsys.rx.services.process.domain.StartEventDefinition",
			"version": null,
			"lastUpdateTime": "2018-01-30T15:12:05.667+0000",
			"lastChangedBy": "hannah_admin",
			"owner": "hannah_admin",
			"name": "Start",
			"tags": null,
			"description": "",
			"overlayGroupId": null,
			"developerId": null,
			"guid": "rx-7102c9c5-c81b-435e-872f-4098789ea153",
			"label": ""
		},
		{
			"resourceType": "com.bmc.arsys.rx.services.process.domain.ServiceTaskDefinition",
			"version": null,
			"lastUpdateTime": "2018-01-30T15:12:05.667+0000",
			"lastChangedBy": "hannah_admin",
			"owner": "hannah_admin",
			"name": "Send In App Notification",
			"tags": null,
			"description": "",
			"overlayGroupId": null,
			"developerId": null,
			"guid": "rx-6e628b40-39fa-4022-88e9-cba610461348",
			"multiInstanceLoopDefinition": null,
			"actionTypeName": "myit-sb:sendInAppNotification",
			"inputMap": [{
					"assignTarget": "receiver",
					"expression": "\"hannah_admin\""
				},
				{
					"assignTarget": "title",
					"expression": "\"Users without licenses report.\""
				},
				{
					"assignTarget": "content",
					"expression": "${activityResults.rx-b8bb4ff1-4302-4e1e-85a3-4e732d5604b8.output}"
				}
			],
			"outputMap": [],
			"runAsUser": null,
			"label": "Send In App Notification"
		}
	],
	"inputParams": [],
	"outputParams": [],
	"localVariables": [],
	"contextKeyParam": null,
	"isEnabled": true,
	"permissions": [{
		"ownerId": {
			"value": 1000011,
			"type": "GROUP",
			"name": "sbe-public-computed"
		},
		"type": "EXECUTE"
	}],
	"layout": "{\"cells\":[{\"type\":\"rx.StartEvent\",\"size\":{\"width\":30,\"height\":30},\"eventType\":\"start\",\"position\":{\"x\":50,\"y\":375},\"angle\":0,\"id\":\"7102c9c5-c81b-435e-872f-4098789ea153\",\"z\":1,\"attrs\":{\".label\":{\"text\":\"\"},\".inner\":{\"visibility\":\"hidden\"}}},{\"type\":\"rx.ProcessAction\",\"size\":{\"width\":90,\"height\":60},\"icon\":\"gear\",\"activityType\":\"task\",\"subProcess\":null,\"content\":\"Office 365 Users With Licenses Report\",\"position\":{\"x\":170,\"y\":360},\"angle\":0,\"id\":\"c8347e62-12d1-43ad-8730-0987e6856e49\",\"z\":37,\"attrs\":{\".icon\":{\"ref\":\".outer\",\"ref-dy\":\"\",\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsSAAALEgHS3X78AAAAw0lEQVQoz22SwRGCQAxF3zIUQAnSAXSAHUgHcslZK3CswPu/YAeUQAlQgp3oJThhNTM7s8lPfv783UQWZtYAC4CklOMpNE3AAHTAzfErsAIj0EtaSwcm4ADMGeEj3CegLjwZssaXnxgDwDbQREBSLanOiBqAZGbvUFwltZkJSyQssrUrv7GTVrh1V89P7li0uNsck5TKjLkCZjN7en722rdnGxjD1gq4/JE2Rlt719oGeQB34OhY/33pP99jc66VtDPiA3vHNpWAb5BUAAAAAElFTkSuQmCC\"},\".inner\":{\"visibility\":\"hidden\"},\"text\":{\"ref-y\":0.5},\".content\":{\"html\":\"Office 365 Users With Licenses Report\",\"title\":\"\"},\".fobj\":{\"width\":90,\"height\":60},\"div\":{\"style\":{\"width\":90,\"height\":60}},\".fobj div\":{\"style\":{\"verticalAlign\":\"middle\",\"paddingTop\":0}},\".outer\":{\"stroke-width\":2,\"stroke-dasharray\":\"none\"},\".sub-process\":{\"d\":\"M 0 0 L 30 0 30 30 0 30 z M 15 4 L 15 26 M 4 15 L 26 15\",\"stroke\":\"#000000\",\"fill\":\"transparent\",\"transform\":\"scale(0.3, 0.3) translate(0, 6)\",\"display\":\"none\",\"visibility\":\"hidden\",\"data-sub-process\":\"\"},\".icon-multi-instance-sequential\":{\"width\":10,\"height\":10,\"y\":1,\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACtJREFUeNpilJOTYaAEsADxf0oMYGKgEFBsAMgLjEPfC6OxMBoLFBsAEGAAje8DgZ8/t18AAAAASUVORK5CYII=\",\"display\":\"none\"},\".icon-multi-instance-parallel\":{\"width\":10,\"height\":10,\"y\":1,\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACxJREFUeNpilJOT+c+AAIwPHz5mkJeXBbGJEmdioBCMGjBqwKgBg8UAgAADADERCXj6SL6VAAAAAElFTkSuQmCC\",\"display\":\"none\"},\".rx-icon-container\":{\"ref\":\".body\",\"x-alignment\":\"middle\",\"ref-x\":0.5,\"ref-dy\":-15}}},{\"type\":\"rx.SequenceFlow\",\"router\":{\"name\":\"manhattan\"},\"labels\":[{\"attrs\":{\"text\":{\"text\":\"\"}},\"position\":\"0.5\"}],\"flowType\":\"normal\",\"id\":\"f17ee651-e19c-456a-b6c9-2295157afdb2\",\"source\":{\"id\":\"7102c9c5-c81b-435e-872f-4098789ea153\"},\"target\":{\"id\":\"c8347e62-12d1-43ad-8730-0987e6856e49\"},\"z\":38,\"attrs\":{}},{\"type\":\"rx.ProcessAction\",\"size\":{\"width\":90,\"height\":60},\"icon\":\"gear\",\"activityType\":\"task\",\"subProcess\":null,\"content\":\"Send In App Notification With Licenses \",\"position\":{\"x\":335,\"y\":360},\"angle\":0,\"id\":\"2eb5bc65-d216-4d22-8213-feaca7e259d8\",\"z\":39,\"attrs\":{\".icon\":{\"ref\":\".outer\",\"ref-dy\":\"\",\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsSAAALEgHS3X78AAAAw0lEQVQoz22SwRGCQAxF3zIUQAnSAXSAHUgHcslZK3CswPu/YAeUQAlQgp3oJThhNTM7s8lPfv783UQWZtYAC4CklOMpNE3AAHTAzfErsAIj0EtaSwcm4ADMGeEj3CegLjwZssaXnxgDwDbQREBSLanOiBqAZGbvUFwltZkJSyQssrUrv7GTVrh1V89P7li0uNsck5TKjLkCZjN7en722rdnGxjD1gq4/JE2Rlt719oGeQB34OhY/33pP99jc66VtDPiA3vHNpWAb5BUAAAAAElFTkSuQmCC\"},\".inner\":{\"visibility\":\"hidden\"},\"text\":{\"ref-y\":0.5},\".content\":{\"html\":\"Send In App Notification With Licenses \",\"title\":\"\"},\".fobj\":{\"width\":90,\"height\":60},\"div\":{\"style\":{\"width\":90,\"height\":60}},\".fobj div\":{\"style\":{\"verticalAlign\":\"middle\",\"paddingTop\":0}},\".outer\":{\"stroke-width\":2,\"stroke-dasharray\":\"none\"},\".sub-process\":{\"d\":\"M 0 0 L 30 0 30 30 0 30 z M 15 4 L 15 26 M 4 15 L 26 15\",\"stroke\":\"#000000\",\"fill\":\"transparent\",\"transform\":\"scale(0.3, 0.3) translate(0, 6)\",\"display\":\"none\",\"visibility\":\"hidden\",\"data-sub-process\":\"\"},\".icon-multi-instance-sequential\":{\"width\":10,\"height\":10,\"y\":1,\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACtJREFUeNpilJOTYaAEsADxf0oMYGKgEFBsAMgLjEPfC6OxMBoLFBsAEGAAje8DgZ8/t18AAAAASUVORK5CYII=\",\"display\":\"none\"},\".icon-multi-instance-parallel\":{\"width\":10,\"height\":10,\"y\":1,\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACxJREFUeNpilJOT+c+AAIwPHz5mkJeXBbGJEmdioBCMGjBqwKgBg8UAgAADADERCXj6SL6VAAAAAElFTkSuQmCC\",\"display\":\"none\"},\".rx-icon-container\":{\"ref\":\".body\",\"x-alignment\":\"middle\",\"ref-x\":0.5,\"ref-dy\":-15}}},{\"type\":\"rx.SequenceFlow\",\"router\":{\"name\":\"manhattan\"},\"labels\":[{\"attrs\":{\"text\":{\"text\":\"\"}},\"position\":\"0.5\"}],\"flowType\":\"normal\",\"id\":\"03d70b08-f1d0-44ea-a41c-25a6b16512b5\",\"source\":{\"id\":\"c8347e62-12d1-43ad-8730-0987e6856e49\"},\"target\":{\"id\":\"2eb5bc65-d216-4d22-8213-feaca7e259d8\"},\"z\":40,\"attrs\":{}},{\"type\":\"rx.ProcessAction\",\"size\":{\"width\":90,\"height\":60},\"icon\":\"gear\",\"activityType\":\"task\",\"subProcess\":null,\"content\":\"Office 365 Users Without Licenses Report\",\"position\":{\"x\":480,\"y\":360},\"angle\":0,\"id\":\"b8bb4ff1-4302-4e1e-85a3-4e732d5604b8\",\"z\":41,\"attrs\":{\".icon\":{\"ref\":\".outer\",\"ref-dy\":\"\",\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsSAAALEgHS3X78AAAAw0lEQVQoz22SwRGCQAxF3zIUQAnSAXSAHUgHcslZK3CswPu/YAeUQAlQgp3oJThhNTM7s8lPfv783UQWZtYAC4CklOMpNE3AAHTAzfErsAIj0EtaSwcm4ADMGeEj3CegLjwZssaXnxgDwDbQREBSLanOiBqAZGbvUFwltZkJSyQssrUrv7GTVrh1V89P7li0uNsck5TKjLkCZjN7en722rdnGxjD1gq4/JE2Rlt719oGeQB34OhY/33pP99jc66VtDPiA3vHNpWAb5BUAAAAAElFTkSuQmCC\"},\".inner\":{\"visibility\":\"hidden\"},\"text\":{\"ref-y\":0.5},\".content\":{\"html\":\"Office 365 Users Without Licenses Report\",\"title\":\"\"},\".fobj\":{\"width\":90,\"height\":60},\"div\":{\"style\":{\"width\":90,\"height\":60}},\".fobj div\":{\"style\":{\"verticalAlign\":\"middle\",\"paddingTop\":0}},\".outer\":{\"stroke-width\":2,\"stroke-dasharray\":\"none\"},\".sub-process\":{\"d\":\"M 0 0 L 30 0 30 30 0 30 z M 15 4 L 15 26 M 4 15 L 26 15\",\"stroke\":\"#000000\",\"fill\":\"transparent\",\"transform\":\"scale(0.3, 0.3) translate(0, 6)\",\"display\":\"none\",\"visibility\":\"hidden\",\"data-sub-process\":\"\"},\".icon-multi-instance-sequential\":{\"width\":10,\"height\":10,\"y\":1,\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACtJREFUeNpilJOTYaAEsADxf0oMYGKgEFBsAMgLjEPfC6OxMBoLFBsAEGAAje8DgZ8/t18AAAAASUVORK5CYII=\",\"display\":\"none\"},\".icon-multi-instance-parallel\":{\"width\":10,\"height\":10,\"y\":1,\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACxJREFUeNpilJOT+c+AAIwPHz5mkJeXBbGJEmdioBCMGjBqwKgBg8UAgAADADERCXj6SL6VAAAAAElFTkSuQmCC\",\"display\":\"none\"},\".rx-icon-container\":{\"ref\":\".body\",\"x-alignment\":\"middle\",\"ref-x\":0.5,\"ref-dy\":-15}}},{\"type\":\"rx.SequenceFlow\",\"router\":{\"name\":\"manhattan\"},\"labels\":[{\"attrs\":{\"text\":{\"text\":\"\"}},\"position\":\"0.5\"}],\"flowType\":\"normal\",\"id\":\"dd3cd28b-1494-44ac-a767-0b8ba52d0086\",\"source\":{\"id\":\"2eb5bc65-d216-4d22-8213-feaca7e259d8\"},\"target\":{\"id\":\"b8bb4ff1-4302-4e1e-85a3-4e732d5604b8\"},\"z\":42,\"attrs\":{}},{\"type\":\"rx.ProcessAction\",\"size\":{\"width\":90,\"height\":60},\"icon\":\"gear\",\"activityType\":\"task\",\"subProcess\":null,\"content\":\"Send In App Notification\",\"position\":{\"x\":635,\"y\":360},\"angle\":0,\"id\":\"6e628b40-39fa-4022-88e9-cba610461348\",\"z\":43,\"attrs\":{\".icon\":{\"ref\":\".outer\",\"ref-dy\":\"\",\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsSAAALEgHS3X78AAAAw0lEQVQoz22SwRGCQAxF3zIUQAnSAXSAHUgHcslZK3CswPu/YAeUQAlQgp3oJThhNTM7s8lPfv783UQWZtYAC4CklOMpNE3AAHTAzfErsAIj0EtaSwcm4ADMGeEj3CegLjwZssaXnxgDwDbQREBSLanOiBqAZGbvUFwltZkJSyQssrUrv7GTVrh1V89P7li0uNsck5TKjLkCZjN7en722rdnGxjD1gq4/JE2Rlt719oGeQB34OhY/33pP99jc66VtDPiA3vHNpWAb5BUAAAAAElFTkSuQmCC\"},\".inner\":{\"visibility\":\"hidden\"},\"text\":{\"ref-y\":0.5},\".content\":{\"html\":\"Send In App Notification\",\"title\":\"\"},\".fobj\":{\"width\":90,\"height\":60},\"div\":{\"style\":{\"width\":90,\"height\":60}},\".fobj div\":{\"style\":{\"verticalAlign\":\"middle\",\"paddingTop\":0}},\".outer\":{\"stroke-width\":2,\"stroke-dasharray\":\"none\"},\".sub-process\":{\"d\":\"M 0 0 L 30 0 30 30 0 30 z M 15 4 L 15 26 M 4 15 L 26 15\",\"stroke\":\"#000000\",\"fill\":\"transparent\",\"transform\":\"scale(0.3, 0.3) translate(0, 6)\",\"display\":\"none\",\"visibility\":\"hidden\",\"data-sub-process\":\"\"},\".icon-multi-instance-sequential\":{\"width\":10,\"height\":10,\"y\":1,\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACtJREFUeNpilJOTYaAEsADxf0oMYGKgEFBsAMgLjEPfC6OxMBoLFBsAEGAAje8DgZ8/t18AAAAASUVORK5CYII=\",\"display\":\"none\"},\".icon-multi-instance-parallel\":{\"width\":10,\"height\":10,\"y\":1,\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACxJREFUeNpilJOT+c+AAIwPHz5mkJeXBbGJEmdioBCMGjBqwKgBg8UAgAADADERCXj6SL6VAAAAAElFTkSuQmCC\",\"display\":\"none\"},\".rx-icon-container\":{\"ref\":\".body\",\"x-alignment\":\"middle\",\"ref-x\":0.5,\"ref-dy\":-15}}},{\"type\":\"rx.SequenceFlow\",\"router\":{\"name\":\"manhattan\"},\"labels\":[{\"attrs\":{\"text\":{\"text\":\"\"}},\"position\":\"0.5\"}],\"flowType\":\"normal\",\"id\":\"c37c4145-54ad-4946-8047-b8ccb13fd5e1\",\"source\":{\"id\":\"b8bb4ff1-4302-4e1e-85a3-4e732d5604b8\"},\"target\":{\"id\":\"6e628b40-39fa-4022-88e9-cba610461348\"},\"z\":44,\"attrs\":{}},{\"type\":\"rx.EndEvent\",\"size\":{\"width\":30,\"height\":30},\"eventType\":\"end\",\"position\":{\"x\":815,\"y\":375},\"angle\":0,\"id\":\"4923dd2b-3f2f-43bc-95c2-93069e23118f\",\"z\":45,\"attrs\":{\".label\":{\"text\":\"\"},\".outer\":{\"stroke-width\":5},\".inner\":{\"visibility\":\"hidden\"}}},{\"type\":\"rx.SequenceFlow\",\"router\":{\"name\":\"manhattan\"},\"labels\":[{\"attrs\":{\"text\":{\"text\":\"\"}},\"position\":\"0.5\"}],\"flowType\":\"normal\",\"id\":\"0e4e63e5-5657-4c0d-be33-d36d7385e0d4\",\"source\":{\"id\":\"6e628b40-39fa-4022-88e9-cba610461348\"},\"target\":{\"id\":\"4923dd2b-3f2f-43bc-95c2-93069e23118f\"},\"z\":46,\"attrs\":{}}]}",
	"artifacts": [],
	"runAsUser": false,
	"synchronous": true,
	"overlayDescriptor": null,
	"allowOverlay": false,
	"localizableStrings": {}
}

For configuration details about this service, save the attached Office 365 Users With Licenses Report.zip, and import it to your environment.

Example 2: Building a service that creates an account in Microsoft Office 365

The following video (6:37 min) shows how a catalog administrator builds a service in BMC Digital Workplace Catalog. This service can be requested by end users when they need to create a user account in Microsoft Office 365 external system: 


 https://youtu.be/8f9rLyjZob8

Input and output parameters for actions

Create Office 365 User input parameters 

ValidationParameter nameData typeExampleDescription
RequiredConnection IdStringConnection > Connection IDThe default Connection ID of this connector.
RequiredService IdStringProcess context > Service > External Service IDThe ID of the imported external service request definition.
RequiredDisplay NameString

Process context > Requested By User > Full Name

or

Process context > Requested For User > Full Name

An account name of the user to be created in Microsoft Office 365.

Note:

The account display name must be associated with the requester or requested for user.

RequiredMail NicknameString

Process context > Requested By User > Login Name

or

Process context > Requested For User > Login Name

A mail nickname of the user to be created in Microsoft Office 365.
RequiredPasswordStringProcess input > Text variable

Password of the user to be created in Microsoft Office 365.

Note:

Password must have at least eight characters and contain at least two of the following options: uppercase letters, lowercase letters, numbers, and symbols.

RequiredUsage LocationString

Process input > Text variable

Location parameter of the user to be created in Microsoft Office 365.

The question that you create for the user must be mapped to Country Codes data set that exists in the Microsoft Office 365 connector.

Create Office 365 User output parameters 

The returned object contains the following Output properties that can be used in later workflow steps:

Parameter nameData typeExampleDescription
Assigned LicensesArray
"assignedLicenses": [{
	"disabledPlans": [],
	"skuId": "189a915c-fe4f-4ffa-bde4-85b9628d07a0"
}]
A list of available licenses.
Assigned PlansArray
{
	"assignedPlans": [{
			"service": "To-Do",
			"servicePlanId": "3fb82609-8c27-4f7b-bd51-30634711ee67",
			"capabilityStatus": "Enabled",
			"assignedTimestamp": "2018-01-29T13:40:22.5310464Z"

		},
		{
			"service": "OfficeForms",
			"servicePlanId": "e212cbc7-0961-4c40-9825-01117710dcb1",
			"capabilityStatus": "Enabled",
			"assignedTimestamp": "2018-01-29T13:40:22.5310464Z"

		},
		{
			"service": "MicrosoftStream",
			"servicePlanId": "6c6042f5-6f01-4d67-b8c1-eb99d36eed3e",
			"capabilityStatus": "Enabled",
			"assignedTimestamp": "2018-01-29T13:40:22.5310464Z"

		},
		{
			"service": "ProcessSimple",
			"servicePlanId": "76846ad7-7776-4c40-a281-a386362dd1b9",
			"capabilityStatus": "Enabled",
			"assignedTimestamp": "2018-01-29T13:40:22.5310464Z"

		},
		{
			"service": "PowerAppsService",
			"servicePlanId": "c68f8d98-5534-41c8-bf36-22fa496fa792",
			"capabilityStatus": "Enabled",
			"assignedTimestamp": "2018-01-29T13:40:22.5310464Z"

		},
		{
			"service": "TeamspaceAPI",
			"servicePlanId": "57ff2da0-773e-42df-b2af-ffb7a2317929",
			"capabilityStatus": "Enabled",
			"assignedTimestamp": "2018-01-29T13:40:22.5310464Z"

		},
		{
			"service": "ProjectWorkManagement",
			"servicePlanId": "b737dad2-2f6c-4c65-90e3-ca563267e8b9",
			"capabilityStatus": "Enabled",
			"assignedTimestamp": "2018-01-29T13:40:22.5310464Z"

		},
		{
			"service": "Sway",
			"servicePlanId": "a23b959c-7ce8-4e57-9140-b90eb88a9e97",
			"capabilityStatus": "Enabled",
			"assignedTimestamp": "2018-01-29T13:40:22.5310464Z"

		},
		{
			"service": "MicrosoftOffice",
			"servicePlanId": "43de0ff5-c92c-492b-9116-175376d08c38",
			"capabilityStatus": "Enabled",
			"assignedTimestamp": "2018-01-29T13:40:22.5310464Z"

		},
		{
			"service": "MicrosoftCommunicationsOnline",
			"servicePlanId": "0feaeb32-d00e-4d66-bd5a-43b5b83db82c",
			"capabilityStatus": "Enabled",
			"assignedTimestamp": "2018-01-29T13:40:22.5310464Z"

		},
		{
			"service": "exchange",
			"servicePlanId": "efb87545-963c-4e0d-99df-69c6916d9eb0",
			"capabilityStatus": "Enabled",
			"assignedTimestamp": "2018-01-29T13:40:22.5310464Z"

		},
		{
			"service": "SharePoint",
			"servicePlanId": "527f7cdd-0e86-4c47-b879-f5fd357a3ac6",
			"capabilityStatus": "Enabled",
			"assignedTimestamp": "2018-01-29T13:40:22.5310464Z"

		},
		{
			"service": "SharePoint",
			"servicePlanId": "a361d6e2-509e-4e25-a8ad-950060064ef4",
			"capabilityStatus": "Enabled",
			"assignedTimestamp": "2018-01-29T13:40:22.5310464Z"

		}
	]
A list of available assigned plans that contain with details about a service, such as service name, service plan ID, capability status, and assigned time stamp.
Display NameString
"displayName":"Allen Allbrook"

Account name of the user who was deleted in Microsoft Office 365.
Object IdString
"objectId":"fc3477bc-30f4-4bcf-a39a-0d24165e2376"
ID of the object in Microsoft Office 365.
Provisioned PlansArray
"provisionedPlans":[]
A list of provisioned plans.
Usage LocationString
"usageLocation":"AM"

Location of the user to be created in Microsoft Office Active Directory is the two-letter ISO 3166-1 alpha-2 code of a country.

User Principal Name (UPN)String
"userPrincipalName":"Allen@BMC1016.onmicrosoft.com"
The name of a system user in the following format:
<user name>@<associated domain  name of the user>

Office 365 License input parameters 

The Is Office 365 License Available and Get Office 365 Available License Count actions use the same input parameters described in the following table:

ValidationParameter nameData typeExampleDescription
RequiredConnection IdStringConnection > Connection IDThe default connection ID of this connector.
RequiredService IdStringProcess context > External Service IDID of the imported external service request definition.

Delete Office 365 User input parameters 

ValidationParameter nameData typeExampleDescription
RequiredConnection IdStringConnection > Connection IDThe default connection ID of this connector.
RequiredUser Principal Name (UPN)StringProcess input > Text variableUPN of the user to be deleted.

Office 365 Users Licenses Report input parameters 

Office 365 Users With Licenses Report and Office 365 Users Without Licenses Report actions have a single input parameter described in the following table:

ValidationParameter nameData typeExampleDescription
RequiredConnection IdStringConnection > Connection IDThe default connection ID of this connector.

Office 365 Users Licenses Report output parameters

Office 365 Users With Licenses Report and Office 365 Users Without Licenses Report actions return the same output parameters described in the following table:

Parameter nameData typeDescription
DescriptionStringDescription of the report.
TitleStringTitle of the report.
UsersArrayList of users with licenses or list of users without licenses.

For an example of the notification text, see Licenses report.

Send Office 365 Created User Email Notification input parameters

Validation

Parameter name

Description
RequiredConnection IdConnection ID of the Microsoft Office 365 connector.
RequiredRecipient

User who will be notified that the user was created.

RequiredUser EmailEmail of the created user.

For an example of the notification text, see Create Office 365 User notification.

Send Azure Email input parameters

The Send Azure Storage Creation Email, Send Keys For Azure Storage Email, and Send Regenerated Keys For Azure Storage Email actions have the same  input parameters parameters described in the following table: 

Validation

Parameter name

Description
RequiredConnection IdConnection ID of Microsoft Azure connector.
RequiredRecipientEmail address of the user who will receive the email with the regenerated keys.
RequiredStorage AccountAccount generated for Azure storage.
RequiredKey 1Private access key for Storage Account.
RequiredKey 2Private access key for Storage Account.

Send AWS Instance Creation Email input parameters

Validation

Parameter name

Description
RequiredConnection IdConnection ID of the AWS connector.
RequiredRecipientEmail address of the user who receives the email about the creation of the AWS instance.
RequiredLoginLogin to the AWS instance.
RequiredPrivate KeyGenerated private key attachment.
RequiredConnection detailsConnection details of the AWS instance.

Send Virtual Machine Creation Email input parameters

Validation

Parameter name

Description
RequiredConnection IdConnection ID of the Microsoft Azure connector.
RequiredRecipientEmail address of the user who will receive the email about creation of the virtual machine.
RequiredIpIP address of the virtual machine that was created.
RequiredLoginUser login to the virtual machine.
RequiredPasswordUser password to the virtual machine.

Send Status Virtual Machine Email input parameters

Validation

Input parameter

Description
RequiredConnection IdConnection ID of the Microsoft Azure connector.
RequiredRecipientEmail address of the user who will receive the email about status of the virtual machine.
RequiredIpIP address of the virtual machine.
RequiredStatusStatus the virtual machine that was created.

Reference screenshots

This section includes helpful screenshots about information referenced in this topic.

Country Codes data set 

The following screenshot shows how to map a process input question with the Country Codes data set.  

For more details about how to create selection menus for question responses in the Question Designer, see Creating selection menus for question responses

Create New Office 365 User notification text 

The following screenshot shows the notification text that is sent when a new user is created in the Microsoft Office 365.

Office 365 Users Licenses Report notification text 

The following code blocks show JSON output generated from the Office 365 Users With Licenses Report and Office 365 Users Without Licenses Report actions.

With licenses report
{
	"description": "Shows all users in tenant that have at least one assigned license.",
	"title": "Users with licenses",
	"users": [{
				"displayName": "Demo",
				"email": "Demo@BMC1016.onmicrosoft.com",
				"assignedServicePlans": [{
						"name": "ProcessSimple",
						"status": "Enabled"

					},
					{
						"name": "TeamspaceAPI",
						"status": "Enabled"

					},
					{
						"name": "ProjectWorkManagement",
						"status": "Enabled"

					},
					{
						"name": "SharePoint",
						"status": "Enabled"

					},
					{
						"name": "MicrosoftStream",
						"status": "Enabled"

					},
					{
						"name": "PowerAppsService",
						"status": "Enabled"

					},
					{
						"name": "To-Do",
						"status": "Enabled"

					},
					{
						"name": "MicrosoftOffice",
						"status": "Enabled"

					},
					{
						"name": "SharePoint",
						"status": "Enabled"

					},
					{
						"name": "exchange",
						"status": "Enabled"

					},
					{
						"name": "OfficeForms",
						"status": "Enabled"

					},
					{
						"name": "Sway",
						"status": "Enabled"

					},
					{
						"name": "MicrosoftCommunicationsOnline",
						"status": "Enabled"

					}

				],
				"provisionedServicePlans": [{
						"capabilityStatus": "Enabled",
						"provisioningStatus": "Success",
						"service": "MicrosoftCommunicationsOnline"

					},
					{
						"capabilityStatus": "Enabled",
						"provisioningStatus": "Success",
						"service": "exchange"

					},
					{
						"capabilityStatus": "Enabled",
						"provisioningStatus": "Success",
						"service": "SharePoint"

					},
					{
						"capabilityStatus": "Enabled",
						"provisioningStatus": "Success",
						"service": "SharePoint"
]
				}


Without licenses report
{"description":"Shows all users in tenant that does not have any licenses.",
"title":"Users without licenses",
"users":[]

}

Troubleshooting Office 365 connector configuration 

Issue: Microsoft Office 365 fails to connect, even though you completed all mandatory fields in the connector configuration panel.
 
Workaround:

  1. Copy the following URL into any text editor: https://login.microsoftonline.com/common/oauth2/authorize?response_type=code&client_id=<Client_id>&redirect_uri=<Credirect_uri>, and replace <Client_id> and <Credirect_uri> with values from your Azure account.
  2. Log in to Office 365 with your Office 365 user login and password.
  3. In the address bar of the window in which you are logged in as Office 365 user, delete the URL that is displayed.
  4. Copy the edited string from the text editor, and paste it into the address bar of the window with Office 365. 
    A long string is returned in the browser address bar.
  5. Copy the string from the address bar into a text editor.
  6. Copy the authentication code from the obtained string: http://o365conn.com/?code=<authentication_code>&session_state=<state>.
    The authentication code begins right after the code= part, and ends up right before the &session_state part of the obtained string.

    Note

    The obtained authentication code token expires after 30 minutes from the time it is generated.

  7. Copy the authentication code, and paste it into the Authentication Code field in the Office 365 connector configuration panel.
  8. Click Connect.

This version of the documentation is no longer supported. However, the documentation is available for your convenience. You will not be able to leave comments.

Comments