nBold Collaboration Process API (2.0)
Download OpenAPI specification:Download
The nBold API provides a unified programmability model that you can use to manage your collaboration environment such as Microsoft Teams and build powerful apps easily.
Create a new team based on a template.
Create a new Microsoft Teams team based on a template from your catalog.
Team name limits
Team name length should be less than 256 characters long.
If you're using a naming convention for the team name, this limit applies to the generated team name.
⚠️ N.B: If you're using emojis in your team name, each emoji may count for more than one character.
Team description limits
Team description length should be less than 1024 characters long.
If you're using a naming convention for the team description, this limit applies to the generated team deascription.
⚠️ N.B: If you're using emojis in your team description, each emoji may count for more than one character.
Team mail nickname limits
Team mail nickname length should be less than 64 characters long.
If you're using a naming convention for the team mail nickname, this limit applies to the generated team mail nickname after sanitization.
💡 This operation tries to automatically sanitize the group mailNickname
property accordingly to the RFC 5321 and RFC 6530 specifications by applying the following steps (sensitive to order):
- Trimming (removing leading and trailing whitespaces)
- Switch to lower case
- Replace any of these charecters
ÁÄÂÀÃÅČÇĆĎÉĚËÈÊẼĔȆÍÌÎÏŇÑÓÖÒÔÕØŘŔŠŤÚŮÜÙÛÝŸŽáäâàãåčçćďéěëèêẽĕȇíìîïňñóöòôõøðřŕšťúůüùûýÿžþÞĐđßÆa·/_,:;
respectively withAAAAAACCCDEEEEEEEEIIIINNOOOOOORRSTUUUUUYYZaaaaaacccdeeeeeeeeiiiinnooooooorrstuuuuuyyzbBDdBAa------
- Remove any non alpha-numeric character (except for "-" and space)
- Collapse multiple whitespaces and replace them by a single one
- Collapse multiple dashes and replace them by a single one
Monitoring a provisioning job
⚠️ As the provisioning process is a long-running job, to avoid timeouts, this operation returns a job object that you can use to monitor the execution of the operation.
To monitor the progress and result of this job, you can either:
- Monitor the job state using the GetJob operation
- Create a webhook subscription to receive specific events during and/or at the end of the job run, using the CreateWebhook operation
Authorizations:
Request Body schema: application/json
A TeamProvisioningRequest object describing the job to execute.
required | object (Team template) The template to be applied to the created team |
required | object (Team request) Characteristics of the team to be created |
metadata | object (Artifact metadata) Metadata associated with an artifact. |
on_behalf_of | string <uuid> (User ID) An Azure Active Directory user ID, that will be treated as the requester when the request is actually sent by a service account or an app. |
Responses
Request samples
- Payload
{- "template": {
- "id": "466767f4-0873-4549-b2e1-5063b73c6d63"
}, - "team": {
- "name": "foo"
}
}
Response samples
- 201
- 400
- default
{- "id": "string",
- "type": "string",
- "state": "completed",
- "progress": 100,
- "data": { }
}
Get a team
Get detailed information about a team.
Authorizations:
path Parameters
team_id required | string The team ID. |
Responses
Response samples
- 200
- 400
- default
{- "@odata.context": "string",
- "id": "string",
- "createdDateTime": "string",
- "displayName": "string",
- "description": "string",
- "internalId": "string",
- "classification": "string",
- "specialization": "string",
- "visibility": "string",
- "webUrl": "string",
- "isArchived": true,
- "isMembershipLimitedToOwners": true,
- "discoverySettings": {
- "showInTeamsSearchAndSuggestions": true
}, - "memberSettings": {
- "allowCreateUpdateChannels": true,
- "allowCreatePrivateChannels": true,
- "allowDeleteChannels": true,
- "allowAddRemoveApps": true,
- "allowCreateUpdateRemoveTabs": true,
- "allowCreateUpdateRemoveConnectors": true
}, - "guestSettings": {
- "allowCreateUpdateChannels": true,
- "allowDeleteChannels": true
}, - "messagingSettings": {
- "allowUserEditMessages": true,
- "allowUserDeleteMessages": true,
- "allowOwnerDeleteMessages": true,
- "allowTeamMentions": true,
- "allowChannelMentions": true
}, - "funSettings": {
- "allowGiphy": true,
- "giphyContentRating": "string",
- "allowStickersAndMemes": true,
- "allowCustomMemes": true
}
}
Update a team
Update a team.
Authorizations:
path Parameters
team_id required | string The team ID. |
Request Body schema: application/json
Supply a JSON representation of team object.
Responses
Request samples
- Payload
{ }
Response samples
- 400
- default
{- "@odata.context": "string",
- "error": {
- "code": "string",
- "message": "string",
- "innerError": {
- "date": "2019-08-24T14:15:22Z",
- "request-id": "string"
}
}
}
Delete a team
Delete a team.
Authorizations:
path Parameters
team_id required | string The team ID. |
Responses
Response samples
- 400
- default
{- "@odata.context": "string",
- "error": {
- "code": "string",
- "message": "string",
- "innerError": {
- "date": "2019-08-24T14:15:22Z",
- "request-id": "string"
}
}
}
Archive a team
Archive a team.
Authorizations:
path Parameters
team_id required | string The team ID. |
Request Body schema: application/json
In the request, you may optionally include the shouldSetSpoSiteReadOnlyForMembers parameter in a JSON body. This optional parameter defines whether to set permissions for team members to read-only on the SharePoint Online site associated with the team. Setting it to false or omitting the body altogether will result in this step being skipped.
Responses
Request samples
- Payload
{ }
Response samples
- 400
- default
{- "@odata.context": "string",
- "error": {
- "code": "string",
- "message": "string",
- "innerError": {
- "date": "2019-08-24T14:15:22Z",
- "request-id": "string"
}
}
}
Unarchive a team
Unarchive a team.
Authorizations:
path Parameters
team_id required | string The team ID. |
Responses
Response samples
- 400
- default
{- "@odata.context": "string",
- "error": {
- "code": "string",
- "message": "string",
- "innerError": {
- "date": "2019-08-24T14:15:22Z",
- "request-id": "string"
}
}
}
Add a team member
Add a team member.
Authorizations:
path Parameters
team_id required | string The team ID. |
Request Body schema: application/json
TeamMembershipPayload.
object (User) User | |
role required | string (Team Membership Role) Team Membership Role (member/owner) |
Responses
Request samples
- Payload
{- "user": {
- "id": "string"
}, - "role": "string"
}
Response samples
- 201
- 400
- default
{ }
Get team channels
Get team channels.
Authorizations:
path Parameters
team_id required | string The team ID. |
Responses
Response samples
- 200
- 400
- default
[- {
- "id": "string",
- "createdDateTime": "string",
- "displayName": "string",
- "description": "string",
- "membershipType": "string"
}
]
Create a new team channel
Create a new Microsoft Teams team channel.
Team channel limits
A team channel length should be less than 50 characters long.
⚠️ N.B: If you're using emojis in your channel name, each emoji may count for more than one character.
💡 This operation tries to automatically sanitize the channel displayName
property accordingly to the Microsoft Teans limits specification by applying the following steps (sensitive to order):
- Trimming (removing leading and trailing whitespaces)
- Remove forbidden words
- Remove invalid characters
- Collapse multiple whitespaces and replace them by a single one
- Collapse multiple dashes and replace them by a single one
Authorizations:
path Parameters
team_id required | string The team ID. |
Request Body schema: application/json
A TeamChannelPayload object describing the channel to create.
Payload of a Microsoft Teams team channel to be created/updated.
Responses
Request samples
- Payload
{ }
Response samples
- 201
- 400
- default
{- "id": "string",
- "createdDateTime": "string",
- "displayName": "string",
- "description": "string",
- "membershipType": "string"
}
Get the primary channel of a team
Get the primary channel of a team.
Authorizations:
path Parameters
team_id required | string The team ID. |
Responses
Response samples
- 200
- 400
- default
{- "id": "string",
- "createdDateTime": "string",
- "displayName": "string",
- "description": "string",
- "membershipType": "string"
}
send message
send a message to the specified channel
Authorizations:
path Parameters
team_id required | string The team ID. |
channel_id required | string The channel ID. |
Request Body schema: application/json
Supply a JSON representation of your message from and body field required.
messageType | string |
subject | string |
summary | string |
chatId | string |
importance | string |
locale | string |
policyViolation | string |
object | |
object | |
object | |
attachments | Array of any |
mentions | Array of any |
reactions | Array of any |
Responses
Request samples
- Payload
{- "messageType": "string",
- "subject": "string",
- "summary": "string",
- "chatId": "string",
- "importance": "string",
- "locale": "string",
- "policyViolation": "string",
- "from": {
- "application": "string",
- "device": "string",
- "user": {
- "id": "string",
- "displayName": "string",
- "userIdentityType": "string"
}
}, - "body": {
- "contentType": "string",
- "content": "string"
}, - "channelIdentity": {
- "teamId": "string",
- "channelId": "string"
}, - "attachments": [
- null
], - "mentions": [
- null
], - "reactions": [
- null
]
}
Response samples
- 200
- 400
- default
{- "odata.context": "string",
- "id": "string",
- "replyToId": "string",
- "etag": "string",
- "messageType": "string",
- "createdDateTime": "string",
- "lastModifiedDateTime": "string",
- "lastEditedDateTime": "string",
- "deletedDateTime": "string",
- "subject": "string",
- "summary": "string",
- "chatId": "string",
- "importance": "string",
- "locale": "string",
- "webUrl": "string",
- "policyViolation": "string",
- "eventDetail": "string",
- "from": {
- "application": "string",
- "device": "string",
- "user": {
- "id": "string",
- "displayName": "string",
- "userIdentityType": "string"
}
}, - "body": {
- "contentType": "string",
- "content": "string"
}, - "channelIdentity": {
- "teamId": "string",
- "channelId": "string"
}, - "attachments": [
- null
], - "mentions": [
- null
], - "reactions": [
- null
]
}
Get team channel tabs
Get team channel tabs.
Authorizations:
path Parameters
team_id required | string The team ID. |
channel_id required | string The team channel ID. |
Responses
Response samples
- 200
- 400
- default
[- {
- "id": "string",
- "displayName": "string",
- "configuration": {
- "entityId": "string",
- "contentUrl": "string",
- "websiteUrl": "string",
- "removeUrl": "string"
}, - "teamsApp": {
- "id": "string",
- "externalId": "string",
- "displayName": "string",
- "distributionMethod": "string"
}, - "sortOrderIndex": "string",
- "webUrl": "string"
}
]
Create a new team channel tab
Create a new team channel tab.
Authorizations:
path Parameters
team_id required | string The team ID. |
channel_id required | string The team channel ID. |
Request Body schema: application/json
A TeamChannelTabPayload object describing the tab to create.
Payload of a Microsoft Teams team channel tab to be created/updated.
Responses
Request samples
- Payload
{ }
Response samples
- 201
- 400
- default
{- "id": "string",
- "displayName": "string",
- "configuration": {
- "entityId": "string",
- "contentUrl": "string",
- "websiteUrl": "string",
- "removeUrl": "string"
}, - "teamsApp": {
- "id": "string",
- "externalId": "string",
- "displayName": "string",
- "distributionMethod": "string"
}, - "sortOrderIndex": "string",
- "webUrl": "string"
}
Retreive users from your Microsoft 365 environment
Retreive users from your Microsoft 365 environment.
Authorizations:
Responses
Response samples
- 200
- 400
- default
{- "@odata.context": "string",
- "@odata.count": 0,
- "value": [
- { }
]
}
Get my sensitivity labels
Get my Microsoft 365 sensitivity labels.
Authorizations:
Responses
Response samples
- 200
- 400
- default
{- "@odata.context": "string",
- "@odata.count": 0,
- "value": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "color": "string",
- "sensitivity": 0,
- "tooltip": "string",
- "isActive": true,
- "parent": "string"
}
]
}
Manage your corporate catalog of templates and governance policies for your collaboration platform.
Get teams templates
Get all the teams templates accessible in your organization.
Authorizations:
Responses
Response samples
- 200
- 400
- default
{- "@odata.context": "string",
- "@odata.count": 0,
- "value": [
- {
- "templateConfiguration": {
- "id": "string",
- "name": "string",
- "description": "string",
- "pictureUrl": "string",
- "language": "string",
- "enabled": "string",
- "system": "string",
- "singleton": "string",
- "domId": "string",
- "approval": {
- "requireApproval": "string",
- "approvalTeam": [
- {
- "id": "string",
- "name": "string"
}
]
}, - "permanentMembership": {
- "members": [
- {
- "id": "string",
- "name": "string"
}
], - "owners": [
- {
- "id": "string",
- "name": "string"
}
]
}, - "audienceTargeting": {
- "enabled": "string",
- "rulesWithTags": "string",
- "rules": "string"
}
}, - "clonedTeam": {
- "teamId": "string",
- "teamName": "string",
- "includeApps": "string",
- "includeTabs": "string",
- "includeSettings": "string",
- "includeChannels": "string",
- "includeMembers": "string"
}, - "newTeam": {
- "namingConventionWithTags": "string",
- "emailConventionWithTags": "string",
- "descriptionConventionWithTags": "string",
- "welcomeMessageConventionWithTags": "string",
- "namingConvention": "string",
- "emailConvention": "string",
- "descriptionConvention": "string",
- "welcomeMessageConvention": "string",
- "defaultName": "string",
- "defaultDescription": "string",
- "defaultWelcomeMessage": "string",
- "teamPrivacy": "public",
- "addRequesterAsTeamOwner": "string"
}
}
]
}
Get a Microsoft Teams team template
Get a Microsoft Teams team template by its ID
Authorizations:
path Parameters
template_id required | string The Microsoft Teams team template ID |
Responses
Response samples
- 200
- 400
- default
{- "templateConfiguration": {
- "id": "string",
- "name": "string",
- "description": "string",
- "pictureUrl": "string",
- "language": "string",
- "enabled": "string",
- "system": "string",
- "singleton": "string",
- "domId": "string",
- "approval": {
- "requireApproval": "string",
- "approvalTeam": [
- {
- "id": "string",
- "name": "string"
}
]
}, - "permanentMembership": {
- "members": [
- {
- "id": "string",
- "name": "string"
}
], - "owners": [
- {
- "id": "string",
- "name": "string"
}
]
}, - "audienceTargeting": {
- "enabled": "string",
- "rulesWithTags": "string",
- "rules": "string"
}
}, - "clonedTeam": {
- "teamId": "string",
- "teamName": "string",
- "includeApps": "string",
- "includeTabs": "string",
- "includeSettings": "string",
- "includeChannels": "string",
- "includeMembers": "string"
}, - "newTeam": {
- "namingConventionWithTags": "string",
- "emailConventionWithTags": "string",
- "descriptionConventionWithTags": "string",
- "welcomeMessageConventionWithTags": "string",
- "namingConvention": "string",
- "emailConvention": "string",
- "descriptionConvention": "string",
- "welcomeMessageConvention": "string",
- "defaultName": "string",
- "defaultDescription": "string",
- "defaultWelcomeMessage": "string",
- "teamPrivacy": "public",
- "addRequesterAsTeamOwner": "string"
}
}
Set a Microsoft Teams team template
Set a Microsoft Teams team template by its ID
Authorizations:
path Parameters
template_id required | string The Microsoft Teams team template ID |
Request Body schema: application/json
A JSON representation of a Microsoft Teams team template.
object Information about the template and its related policies | |
object Properties of the source team that should be cloned. | |
object Properties of the new team that will be created by the provisioning job. |
Responses
Request samples
- Payload
{- "templateConfiguration": {
- "id": "string",
- "name": "string",
- "description": "string",
- "pictureUrl": "string",
- "language": "string",
- "enabled": "string",
- "system": "string",
- "singleton": "string",
- "domId": "string",
- "approval": {
- "requireApproval": "string",
- "approvalTeam": [
- {
- "id": "string",
- "name": "string"
}
]
}, - "permanentMembership": {
- "members": [
- {
- "id": "string",
- "name": "string"
}
], - "owners": [
- {
- "id": "string",
- "name": "string"
}
]
}, - "audienceTargeting": {
- "enabled": "string",
- "rulesWithTags": "string",
- "rules": "string"
}
}, - "clonedTeam": {
- "teamId": "string",
- "teamName": "string",
- "includeApps": "string",
- "includeTabs": "string",
- "includeSettings": "string",
- "includeChannels": "string",
- "includeMembers": "string"
}, - "newTeam": {
- "namingConventionWithTags": "string",
- "emailConventionWithTags": "string",
- "descriptionConventionWithTags": "string",
- "welcomeMessageConventionWithTags": "string",
- "namingConvention": "string",
- "emailConvention": "string",
- "descriptionConvention": "string",
- "welcomeMessageConvention": "string",
- "defaultName": "string",
- "defaultDescription": "string",
- "defaultWelcomeMessage": "string",
- "teamPrivacy": "public",
- "addRequesterAsTeamOwner": "string"
}
}
Response samples
- 200
- 400
- default
{- "templateConfiguration": {
- "id": "string",
- "name": "string",
- "description": "string",
- "pictureUrl": "string",
- "language": "string",
- "enabled": "string",
- "system": "string",
- "singleton": "string",
- "domId": "string",
- "approval": {
- "requireApproval": "string",
- "approvalTeam": [
- {
- "id": "string",
- "name": "string"
}
]
}, - "permanentMembership": {
- "members": [
- {
- "id": "string",
- "name": "string"
}
], - "owners": [
- {
- "id": "string",
- "name": "string"
}
]
}, - "audienceTargeting": {
- "enabled": "string",
- "rulesWithTags": "string",
- "rules": "string"
}
}, - "clonedTeam": {
- "teamId": "string",
- "teamName": "string",
- "includeApps": "string",
- "includeTabs": "string",
- "includeSettings": "string",
- "includeChannels": "string",
- "includeMembers": "string"
}, - "newTeam": {
- "namingConventionWithTags": "string",
- "emailConventionWithTags": "string",
- "descriptionConventionWithTags": "string",
- "welcomeMessageConventionWithTags": "string",
- "namingConvention": "string",
- "emailConvention": "string",
- "descriptionConvention": "string",
- "welcomeMessageConvention": "string",
- "defaultName": "string",
- "defaultDescription": "string",
- "defaultWelcomeMessage": "string",
- "teamPrivacy": "public",
- "addRequesterAsTeamOwner": "string"
}
}
Get permanent members and owners of a Microsoft Teams team template
Get permanent members and owners of a Microsoft Teams team template
Authorizations:
path Parameters
template_id required | string The Microsoft Teams team template ID |
Responses
Response samples
- 200
- 400
- default
{- "members": [
- {
- "id": "string",
- "name": "string"
}
], - "owners": [
- {
- "id": "string",
- "name": "string"
}
]
}
Set permanent members and owners of a Microsoft Teams team template
Set permanent members and owners of a Microsoft Teams team template
Authorizations:
path Parameters
template_id required | string The Microsoft Teams team template ID |
Request Body schema: application/json
A JSON representation of a Microsoft Teams team template permanent membership settings.
Array of objects (Permanent Members) Members of a permanent membership team, as an array of PermanentMember. | |
Array of objects (Permanent Members) Members of a permanent membership team, as an array of PermanentMember. |
Responses
Request samples
- Payload
{- "members": [
- {
- "id": "string",
- "name": "string"
}
], - "owners": [
- {
- "id": "string",
- "name": "string"
}
]
}
Response samples
- 200
- 400
- default
{- "members": [
- {
- "id": "string",
- "name": "string"
}
], - "owners": [
- {
- "id": "string",
- "name": "string"
}
]
}
Get permanent members and owners of a Microsoft Teams team template
Get permanent members or owners of a Microsoft Teams team template
Authorizations:
path Parameters
template_id required | string The Microsoft Teams team template ID |
role required | string The Microsoft Teams ownership role (owners / members) |
Responses
Response samples
- 200
- 400
- default
[- {
- "id": "string",
- "name": "string"
}
]
Set permanent members and owners of a Microsoft Teams team template
Set permanent members or owners of a Microsoft Teams team template
Authorizations:
path Parameters
template_id required | string The Microsoft Teams team template ID |
role required | string The Microsoft Teams ownership role (owners / members) |
Request Body schema: application/json
A JSON representation of a Microsoft Teams team template permanent members.
id | string (ID) User ID (From Active Directory) |
name | string (Name) User Display Name (From Active Directory) |
Responses
Request samples
- Payload
[- {
- "id": "string",
- "name": "string"
}
]
Response samples
- 200
- 400
- default
[- {
- "id": "string",
- "name": "string"
}
]
Get my teams templates
Get teams templates accessible to the connected user filtered by the audience targeting rules.
Authorizations:
Responses
Response samples
- 200
- 400
- default
{- "@odata.context": "string",
- "@odata.count": 0,
- "value": [
- {
- "templateConfiguration": {
- "id": "string",
- "name": "string",
- "description": "string",
- "pictureUrl": "string",
- "language": "string",
- "enabled": "string",
- "system": "string",
- "singleton": "string",
- "domId": "string",
- "approval": {
- "requireApproval": "string",
- "approvalTeam": [
- {
- "id": "string",
- "name": "string"
}
]
}, - "permanentMembership": {
- "members": [
- {
- "id": "string",
- "name": "string"
}
], - "owners": [
- {
- "id": "string",
- "name": "string"
}
]
}, - "audienceTargeting": {
- "enabled": "string",
- "rulesWithTags": "string",
- "rules": "string"
}
}, - "clonedTeam": {
- "teamId": "string",
- "teamName": "string",
- "includeApps": "string",
- "includeTabs": "string",
- "includeSettings": "string",
- "includeChannels": "string",
- "includeMembers": "string"
}, - "newTeam": {
- "namingConventionWithTags": "string",
- "emailConventionWithTags": "string",
- "descriptionConventionWithTags": "string",
- "welcomeMessageConventionWithTags": "string",
- "namingConvention": "string",
- "emailConvention": "string",
- "descriptionConvention": "string",
- "welcomeMessageConvention": "string",
- "defaultName": "string",
- "defaultDescription": "string",
- "defaultWelcomeMessage": "string",
- "teamPrivacy": "public",
- "addRequesterAsTeamOwner": "string"
}
}
]
}
Get all solution instances
Get all solution instances by externalUserId
Authorizations:
Request Body schema: application/json
Supply a JSON with an external user id.
externalUserId | string Connected Apps external user ID |
Responses
Request samples
- Payload
{- "externalUserId": "string"
}
Response samples
- 200
- 400
- default
{- "data": {
- "viewer": {
- "solutionInstances": {
- "edges": [
- {
- "node": {
- "id": "string",
- "name": "string",
- "enabled": true,
- "owner": "string",
- "created": "string",
- "solution": {
- "id": "string",
- "title": "string",
- "description": "string",
- "tags": [
- "string"
], - "authSlots": [
- {
- "externalId": null
}
], - "customFields": [
- null
], - "configSlots": [
- {
- "externalId": null,
- "title": null,
- "defaultValue": null
}
]
}, - "solutionVersionFlags": {
- "hasNewerVersion": true,
- "requiresUserInputToUpdateVersion": true,
- "requiresSystemInputToUpdateVersion": true
}, - "workflows": {
- "edges": [
- {
- "node": { }
}
]
}, - "authValues": [
- null
], - "configValues": [
- null
]
}, - "cursor": "string"
}
], - "pageInfo": {
- "startCursor": "string",
- "endCursor": "string",
- "hasNextPage": true,
- "hasPreviousPage": true
}
}
}
}
}
Delete a solution instance by solutionInstanceId
Delete a solution instance by solutionInstanceId
Authorizations:
Request Body schema: application/json
Supply a JSON with an Solution instance id and a user access token.
solutionInstanceId | string solution instance id |
userAccessToken | string user access token |
Responses
Request samples
- Payload
{- "solutionInstanceId": "string",
- "userAccessToken": "string"
}
Response samples
- 200
- 400
- default
{- "data": {
- "removeSolutionInstance": {
- "clientMutationId": "string"
}
}
}
Update a solution instance
Update a solution instance by solutionInstanceId
Authorizations:
Request Body schema: application/json
Supply a JSON with solutionInstanceId, userAccessToken, instanceName.
solutionInstanceId | string solution instance id |
userAccessToken | string user access token |
instanceName | string |
enabled | boolean |
Array of objects | |
Array of objects |
Responses
Request samples
- Payload
{- "solutionInstanceId": "string",
- "userAccessToken": "string",
- "instanceName": "string",
- "enabled": true,
- "configValues": [
- {
- "externalId": "string",
- "value": "string"
}
], - "authValues": [
- {
- "externalId": "string",
- "authId": "string"
}
]
}
Response samples
- 200
- 400
- default
{- "data": {
- "updateSolutionInstance": {
- "solutionInstance": {
- "id": "string",
- "name": "string",
- "enabled": true,
- "created": "string"
}
}
}
}
Upgrade a solution instance
Upgrade a solution instance by solutionInstanceId
Authorizations:
Request Body schema: application/json
Supply a JSON with solutionInstanceId, userAccessToken, instanceName.
solutionInstanceId | string solution instance id |
userAccessToken | string user access token |
Responses
Request samples
- Payload
{- "solutionInstanceId": "string",
- "userAccessToken": "string"
}
Response samples
- 200
- 400
- default
{- "data": {
- "updateSolutionInstance": {
- "solutionInstance": {
- "id": "string",
- "name": "string",
- "enabled": true,
- "created": "string"
}
}
}
}
Send a remote object updated event
Send an event when a remote object is updated.
Authorizations:
Request Body schema: application/json
Supply a JSON representation of your query.
remote_system | string Remote system owning the remote object, such as |
update_type | string Enum: "created" "updated" "deleted" Type of event that triggered the remote object update |
object_type | string Type of object from the remote system, such as |
object_properties | object Properties of the object from the remote system. Should especially include its |
Array of objects (Linked artifact) Array of linked artifacts from the collaboration platform |
Responses
Request samples
- Payload
{- "remote_system": "salesforce",
- "update_type": "updated",
- "object_type": "opportunity",
- "object_properties": {
- "id": 123,
- "name": "opportunity 1"
}
}
Response samples
- 200
- 400
- default
{ }
Templating utilities used for dynamic naming conventions, adaptive cards generation, based on EJS templates. In addition to standard Javascript operations, the templating engine can use Moment.js for advanced operations on dates and times.
Execute a template against data
Execute an arbitrary EJS template against some provided data.
Authorizations:
Request Body schema: application/json
Supply an EJS template string and a data payload.
template | string Template to execute |
data | object Data to use during templating |
Responses
Request samples
- Payload
Basic string interpolation
{- "template": "Hello <%= firstName %>!",
- "data": {
- "firstName": "Alice"
}
}
Response samples
- 200
- 400
- default
{- "@odata.context": "string",
- "result": {
- "success": true,
- "message": "string",
- "value": "string",
- "error": "string"
}
}
Execute a template by its ID against data
Execute a template against some provided data.
Authorizations:
path Parameters
template_id required | string The template ID |
Request Body schema: application/json
Supply a template ID and a data payload.
data | object Data to use during templating |
Responses
Request samples
- Payload
{- "data": { }
}
Response samples
- 200
- 400
- default
{- "@odata.context": "string",
- "result": {
- "success": true,
- "message": "string",
- "value": "string",
- "error": "string"
}
}
Associate rich metadata
to your collaboration platform artifacts such as teams
, channels
, messages
...
Query metadata
Query metadata for a specific namespace.
Authorizations:
path Parameters
namespace required | string The metadata namespace. |
Request Body schema: application/json
Supply a JSON representation of your query.
Responses
Request samples
- Payload
{- "crm_opportunity_id": 123
}
Response samples
- 200
- 400
- default
[- {
- "artefact_type": "microsoft_teams_team",
- "artefact_id": "string"
}
]
Get a team metadata
Get metadata for a team for a specific namespace.
Authorizations:
path Parameters
team_id required | string The team ID. |
namespace required | string The metadata namespace. |
Responses
Response samples
- 200
- 400
- default
{ }
Set team metadata
Set team metadata for a specific namespace. N.B Using the PUT method will replace all pre-existing metadata.
Authorizations:
path Parameters
team_id required | string The team ID. |
namespace required | string The metadata namespace. |
Request Body schema: application/json
Supply a JSON representation of your metadata.
Namespace metadata for collaboration process artifact.
Responses
Request samples
- Payload
{- "crm_opportunity_id": 123
}
Response samples
- 200
- 400
- default
{ }
Update a team metadata
Update a team metadata for a specific namespace. N.B Using the PATCH method will merge supplied body with pre-existing metadata.
Authorizations:
path Parameters
team_id required | string The team ID. |
namespace required | string The metadata namespace. |
Request Body schema: application/json
Supply a JSON representation of your metadata.
Namespace metadata for collaboration process artifact.
Responses
Request samples
- Payload
{- "crm_opportunity_id": 123
}
Response samples
- 200
- 400
- default
{ }
Get a channel metadata
Get metadata for a channel for a specific namespace.
Authorizations:
path Parameters
team_id required | string The team ID. |
channel_id required | string The channel ID. |
namespace required | string The metadata namespace. |
Responses
Response samples
- 200
- 400
- default
{ }
Set channel metadata
Set channel metadata for a specific namespace. N.B Using the POST method will replace all pre-existing metadata.
Authorizations:
path Parameters
team_id required | string The team ID. |
channel_id required | string The channel ID. |
namespace required | string The metadata namespace. |
Request Body schema: application/json
Supply a JSON representation of your metadata.
Namespace metadata for collaboration process artifact.
Responses
Request samples
- Payload
{- "crm_opportunity_id": 123
}
Response samples
- 200
- 400
- default
{ }
Update a channel metadata
Update a channel metadata for a specific namespace. N.B Using the PATCH method will merge supplied body with pre-existing metadata.
Authorizations:
path Parameters
team_id required | string The team ID. |
channel_id required | string The channel ID. |
namespace required | string The metadata namespace. |
Request Body schema: application/json
Supply a JSON representation of your metadata.
Namespace metadata for collaboration process artifact.
Responses
Request samples
- Payload
{- "crm_opportunity_id": 123
}
Response samples
- 200
- 400
- default
{ }
Get a message metadata
Get metadata for a message for a specific namespace.
Authorizations:
path Parameters
team_id required | string The team ID. |
channel_id required | string The channel ID. |
message_id required | string The message ID. |
namespace required | string The metadata namespace. |
Responses
Response samples
- 200
- 400
- default
{ }
Set message metadata
Set message metadata for a specific namespace. N.B Using the POST method will replace all pre-existing metadata.
Authorizations:
path Parameters
team_id required | string The team ID. |
channel_id required | string The channel ID. |
message_id required | string The message ID. |
namespace required | string The metadata namespace. |
Request Body schema: application/json
Supply a JSON representation of your metadata.
Namespace metadata for collaboration process artifact.
Responses
Request samples
- Payload
{- "crm_opportunity_id": 123
}
Response samples
- 200
- 400
- default
{ }
Update a message metadata
Update a message metadata for a specific namespace. N.B Using the PATCH method will merge supplied body with pre-existing metadata.
Authorizations:
path Parameters
team_id required | string The team ID. |
channel_id required | string The channel ID. |
message_id required | string The message ID. |
namespace required | string The metadata namespace. |
Request Body schema: application/json
Supply a JSON representation of your metadata.
Namespace metadata for collaboration process artifact.
Responses
Request samples
- Payload
{- "crm_opportunity_id": 123
}
Response samples
- 200
- 400
- default
{ }
Approve a team creation request
Approve a team creation request.
Authorizations:
path Parameters
request_id required | string The approval request ID. |
Request Body schema: application/json
An ApprovedApprovalResponsePayload object.
object Approver of the request | |
message | string Message to be sent to the requester. |
object Updates made by the approver |
Responses
Request samples
- Payload
{- "approver": {
- "id": "string"
}, - "message": "string",
- "updates": {
- "name": "string",
- "description": "string",
- "welcomeMessage": "string"
}
}
Response samples
- 400
- default
{- "@odata.context": "string",
- "error": {
- "code": "string",
- "message": "string",
- "innerError": {
- "date": "2019-08-24T14:15:22Z",
- "request-id": "string"
}
}
}
Reject a Team Creation Request
Reject a team creation request.
Authorizations:
path Parameters
request_id required | string The ID of the approval request you want to reject. |
Request Body schema: application/json
An RejectTeamCreationRequestBody object.
object Approver of the request | |
message | string Message to be sent to the requester. |
Responses
Request samples
- Payload
{- "approver": {
- "id": "string"
}, - "message": "string"
}
Response samples
- 400
- default
{- "@odata.context": "string",
- "error": {
- "code": "string",
- "message": "string",
- "innerError": {
- "date": "2019-08-24T14:15:22Z",
- "request-id": "string"
}
}
}
Webhooks enable organizations to trigger automated operations outside of the nBold platform, such as in a custom application, or in an automation tool such as Microsoft Power Automate, Azure Logic Apps or Zapier.
Get webhooks events
Get webhooks events.
Authorizations:
Responses
Response samples
- 200
- 400
- default
{- "@odata.context": "string",
- "@odata.count": 0,
- "value": [
- {
- "code": "team_creation_approval_requested"
}
]
}
Delete a webhook subscription
Delete a webhook subscription.
Authorizations:
path Parameters
webhook_id required | string ID of the webhook to be deleted. |
Responses
Response samples
- 200
- 400
- default
{- "id": "string",
- "name": "string",
- "description": "string",
- "active": true,
- "events": [
- "team_creation_approval_requested"
], - "config": {
- "verb": "string",
- "url": "string",
- "content_type": "string",
- "secret": "string"
}
}
Generate a signature from a secret and a webhook payload
Generate a signature from a secret and a webhook payload.
Authorizations:
Request Body schema: application/json
A HookSignatureRequest object comprised of the secret and payload.
secret required | string Webhook secret |
payload required | object Webhook payload |
Responses
Request samples
- Payload
{- "secret": "string",
- "payload": { }
}
Response samples
- 200
- 400
- default
{- "@odata.context": "string",
- "signature": "string"
}
Get webhook subscriptions
Get webhook subscriptions.
Authorizations:
Responses
Response samples
- 200
- 400
- default
{- "@odata.context": "string",
- "@odata.count": 0,
- "value": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "active": true,
- "events": [
- "team_creation_approval_requested"
], - "config": {
- "verb": "string",
- "url": "string",
- "content_type": "string",
- "secret": "string"
}
}
]
}
Create a new webhook subscription
Create a new webhook subscription.
Authorizations:
Request Body schema: application/json
A HookPayload object.
name | string Webhook name |
description | string Webhook description |
events required | Array of strings (Webhook events) Items Enum: "team_creation_approval_requested" "team_creation_approved" "team_creation_rejected" "team_created" "team_provisioning_completed" "trello_tab_cloned" "miro_tab_cloned" Webhook events |
required | object Webhook configuration |
Responses
Callbacks
Request samples
- Payload
{- "name": "string",
- "description": "string",
- "events": [
- "team_creation_approval_requested"
], - "config": {
- "verb": "post",
- "content_type": "application/json",
- "secret": "pa$$word"
}
}
Response samples
- 201
- 400
- default
{- "id": "string",
- "name": "string",
- "description": "string",
- "active": true,
- "events": [
- "team_creation_approval_requested"
], - "config": {
- "verb": "string",
- "url": "string",
- "content_type": "string",
- "secret": "string"
}
}
Callback payload samples
{- "tenant": {
- "id": "string"
}, - "requester": {
- "id": "string",
- "displayName": "string",
- "mail": "string"
}, - "approval": {
- "id": "string",
- "approver": {
- "id": "string",
- "message": "string"
}
}, - "template": {
- "id": "string",
- "name": "string",
- "approvers": [
- { }
], - "permanentMembership": { }
}, - "request": {
- "team": {
- "name": "string",
- "description": "string",
- "welcomeMessage": "string"
}, - "membership": { }
}, - "provisioning": {
- "id": "string"
}
}
When a Team Creation Approval is Requested
When a team creation approval is requested.
Authorizations:
Request Body schema: application/json
A TeamCreationApprovalRequestedRequestBody object.
name required | string Default: "When a Team Creation Approval is Requested" Name |
description required | string Default: "Created from Power Automate / Logic Apps" Webhook description |
required | object Webhook configuration |
Responses
Callbacks
Request samples
- Payload
{- "name": "When a Team Creation Approval is Requested",
- "description": "Created from Power Automate / Logic Apps",
- "config": {
- "verb": "post",
- "url": "string",
- "content_type": "application/json",
- "secret": "pa$$word"
}
}
Response samples
- 201
- 400
- default
{- "id": "string",
- "name": "string",
- "description": "string",
- "active": true,
- "events": [
- "team_creation_approval_requested"
], - "config": {
- "verb": "string",
- "url": "string",
- "content_type": "string",
- "secret": "string"
}
}
Callback payload samples
{- "tenant": {
- "id": "string"
}, - "requester": {
- "id": "string",
- "displayName": "string",
- "mail": "string"
}, - "approval": {
- "id": "string"
}, - "template": {
- "id": "string",
- "name": "string",
- "approvers": [
- { }
], - "permanentMembership": { }
}, - "request": {
- "team": {
- "name": "string",
- "description": "string",
- "welcomeMessage": "string"
}, - "membership": { }
}
}
When a Team Creation is Approved
When a team creation is approved.
Authorizations:
Request Body schema: application/json
A TeamCreationApprovalApprovedRequestBody object.
name required | string Default: "When a Team Creation is Approved" Name |
description required | string Default: "Created from Power Automate / Logic Apps" Webhook description |
required | object Webhook configuration |
Responses
Callbacks
Request samples
- Payload
{- "name": "When a Team Creation is Approved",
- "description": "Created from Power Automate / Logic Apps",
- "config": {
- "verb": "post",
- "url": "string",
- "content_type": "application/json",
- "secret": "pa$$word"
}
}
Response samples
- 201
- 400
- default
{- "id": "string",
- "name": "string",
- "description": "string",
- "active": true,
- "events": [
- "team_creation_approval_requested"
], - "config": {
- "verb": "string",
- "url": "string",
- "content_type": "string",
- "secret": "string"
}
}
Callback payload samples
{- "tenant": {
- "id": "string"
}, - "requester": {
- "id": "string",
- "displayName": "string",
- "mail": "string"
}, - "approval": {
- "id": "string",
- "approver": {
- "id": "string",
- "message": "string"
}
}, - "template": {
- "id": "string",
- "name": "string",
- "approvers": [
- { }
], - "permanentMembership": { }
}, - "request": {
- "team": {
- "name": "string",
- "description": "string",
- "welcomeMessage": "string"
}, - "membership": { }
}, - "provisioning": {
- "id": "string"
}
}
When a Team Creation is rejected
When a team creation is rejected.
Authorizations:
Request Body schema: application/json
A TeamCreationApprovalApprovedRequestBody object.
name required | string Default: "When a Team Creation is rejected" Name |
description required | string Default: "Created from Power Automate / Logic Apps" Webhook description |
required | object Webhook configuration |
Responses
Callbacks
Request samples
- Payload
{- "name": "When a Team Creation is rejected",
- "description": "Created from Power Automate / Logic Apps",
- "config": {
- "verb": "post",
- "url": "string",
- "content_type": "application/json",
- "secret": "pa$$word"
}
}
Response samples
- 201
- 400
- default
{- "id": "string",
- "name": "string",
- "description": "string",
- "active": true,
- "events": [
- "team_creation_approval_requested"
], - "config": {
- "verb": "string",
- "url": "string",
- "content_type": "string",
- "secret": "string"
}
}
Callback payload samples
{- "tenant": {
- "id": "string"
}, - "requester": {
- "id": "string",
- "displayName": "string",
- "mail": "string"
}, - "approval": {
- "id": "string",
- "approver": {
- "id": "string",
- "message": "string"
}
}, - "template": {
- "id": "string",
- "name": "string",
- "approvers": [
- { }
], - "permanentMembership": { }
}, - "request": {
- "team": {
- "name": "string",
- "description": "string",
- "welcomeMessage": "string"
}, - "membership": { }
}
}
When a Team is created
When a team is created.
Authorizations:
Request Body schema: application/json
A TeamCreatedRequestBody object.
name required | string Default: "When a Team is created" Name |
description required | string Default: "Created from Power Automate / Logic Apps" Webhook description |
required | object Webhook configuration |
Responses
Callbacks
Request samples
- Payload
{- "name": "When a Team is created",
- "description": "Created from Power Automate / Logic Apps",
- "config": {
- "verb": "post",
- "url": "string",
- "content_type": "application/json",
- "secret": "pa$$word"
}
}
Response samples
- 201
- 400
- default
{- "id": "string",
- "name": "string",
- "description": "string",
- "active": true,
- "events": [
- "team_creation_approval_requested"
], - "config": {
- "verb": "string",
- "url": "string",
- "content_type": "string",
- "secret": "string"
}
}
Callback payload samples
{- "tenant": {
- "id": "string"
}, - "team": {
- "id": "string"
}
}
When a Team provisioning is completed
When a team provisioning is completed.
Authorizations:
Request Body schema: application/json
A TeamProvisioningCompleted object.
name required | string Default: "When a Team provisioning is completed" Name |
description required | string Default: "Created from Power Automate / Logic Apps" Webhook description |
required | object Webhook configuration |
Responses
Callbacks
Request samples
- Payload
{- "name": "When a Team provisioning is completed",
- "description": "Created from Power Automate / Logic Apps",
- "config": {
- "verb": "post",
- "url": "string",
- "content_type": "application/json",
- "secret": "pa$$word"
}
}
Response samples
- 201
- 400
- default
{- "id": "string",
- "name": "string",
- "description": "string",
- "active": true,
- "events": [
- "team_creation_approval_requested"
], - "config": {
- "verb": "string",
- "url": "string",
- "content_type": "string",
- "secret": "string"
}
}
Callback payload samples
{- "tenant": {
- "id": "string",
- "initialDomainName": "string",
- "defaultDomainName": "string"
}, - "team": {
- "id": "string",
- "displayName": "string"
}, - "requester": {
- "id": "string",
- "displayName": "string",
- "mail": "string"
}, - "template": {
- "id": "string",
- "name": "string"
}, - "metadata": { }
}
When a Trello tab is cloned by the provisioning process
When a Trello tab is cloned by the provisioning process.
Authorizations:
Request Body schema: application/json
A TrelloTabClonedSubscriptionRequestBody object.
name required | string Default: "When a Trello tab is cloned" Name |
description required | string Default: "Created from Power Automate / Logic Apps" Webhook description |
required | object Webhook configuration |
Responses
Callbacks
Request samples
- Payload
{- "name": "When a Trello tab is cloned",
- "description": "Created from Power Automate / Logic Apps",
- "config": {
- "verb": "post",
- "url": "string",
- "content_type": "application/json",
- "secret": "pa$$word"
}
}
Response samples
- 201
- 400
- default
{- "id": "string",
- "name": "string",
- "description": "string",
- "active": true,
- "events": [
- "team_creation_approval_requested"
], - "config": {
- "verb": "string",
- "url": "string",
- "content_type": "string",
- "secret": "string"
}
}
Callback payload samples
{- "tenant": {
- "id": "string"
}, - "team": {
- "id": "string"
}, - "channel": {
- "id": "string",
- "name": "string"
}, - "tab": {
- "id": "string",
- "name": "string"
}
}
When a Miro tab is cloned by the provisioning process
When a Miro tab is cloned by the provisioning process.
Authorizations:
Request Body schema: application/json
A MiroTabClonedSubscriptionRequestBody object.
name required | string Default: "When a Miro tab is cloned" Name |
description required | string Default: "Created from Power Automate / Logic Apps" Webhook description |
required | object Webhook configuration |
Responses
Callbacks
Request samples
- Payload
{- "name": "When a Miro tab is cloned",
- "description": "Created from Power Automate / Logic Apps",
- "config": {
- "verb": "post",
- "url": "string",
- "content_type": "application/json",
- "secret": "pa$$word"
}
}
Response samples
- 201
- 400
- default
{- "id": "string",
- "name": "string",
- "description": "string",
- "active": true,
- "events": [
- "team_creation_approval_requested"
], - "config": {
- "verb": "string",
- "url": "string",
- "content_type": "string",
- "secret": "string"
}
}
Callback payload samples
{- "tenant": {
- "id": "string"
}, - "team": {
- "id": "string"
}, - "channel": {
- "id": "string",
- "name": "string"
}, - "tab": {
- "id": "string",
- "name": "string"
}
}
Get reports categories
Get reports categories
Authorizations:
Responses
Response samples
- 200
- 400
- default
[- {
- "id": "string",
- "title": "string",
- "description": "string"
}
]
Get reports
Get reports
Authorizations:
Responses
Response samples
- 200
- 400
- default
[- {
- "id": "string",
- "type": "string",
- "title": "string",
- "description": "string",
- "logo": "string",
- "parameters": [
- "string"
], - "category_id": "string"
}
]
Get report secure URL
Get report secure URL
Authorizations:
path Parameters
resource_type required | string The resource type (dashboard / question). |
resource_id required | string The resource id. |
Responses
Response samples
- 200
- 400
- default
{- "url": "string"
}
Get audit trails
Get all the audit trails accessible in your organization. TIER 3 | ROLES - AUTHORIZED_APP, COMPLIANCE_MANAGER, TEAMS_SERVICE_ADMIN, GLOBAL_ADMIN.
Authorizations:
Responses
Response samples
- 200
- 400
- default
{- "@odata.context": "string",
- "@odata.count": 0,
- "value": [
- {
- "code": "string",
- "category": "string",
- "fields": [
- "string"
]
}
]
}
Get all the records from an audit trail
Get all the records from an audit trail.
Authorizations:
path Parameters
code required | string The audit trail code. |
Responses
Response samples
- 200
- 400
- default
{- "@odata.context": "string",
- "@odata.count": 0,
- "value": [
- { }
]
}
Get information about a job
Get detailed information about a job, including its status, progress, logs...
Authorizations:
path Parameters
job_id required | string The job ID. |
Responses
Response samples
- 200
- 400
- default
{- "id": "string",
- "type": "string",
- "state": "completed",
- "progress": 100,
- "data": { }
}
Get logs from a job
Get logs from a job, as an array of JobLogsEntry
Authorizations:
path Parameters
job_id required | string The job ID. |
Responses
Response samples
- 200
- 400
- default
{- "@odata.context": "string",
- "@odata.count": 0,
- "value": [
- "string"
]
}
Test Connection to the nBold API
Test connection to the nBold API. Used by automation platforms such as Microsoft Azure Logic Apps and Microsoft Power Automate.
Authorizations:
Responses
Response samples
- 400
- default
{- "@odata.context": "string",
- "error": {
- "code": "string",
- "message": "string",
- "innerError": {
- "date": "2019-08-24T14:15:22Z",
- "request-id": "string"
}
}
}