Skip to content

Commit

Permalink
dox42 Custom Connector (microsoft#794)
Browse files Browse the repository at this point in the history
* Add dox42 Custom Connector to certified-connectors folder

* Change description of the dox42 Connectorf
Make slight adjustment in the README.md

Co-authored-by: Diego Schleis <dox42diegoschleis>
  • Loading branch information
dox42diegoschleis authored Apr 30, 2021
1 parent 37779de commit ab915d9
Show file tree
Hide file tree
Showing 3 changed files with 184 additions and 0 deletions.
42 changes: 42 additions & 0 deletions certified-connectors/dox42/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
## dox42 connector
dox42 provides a powerful and very extensive REST API. Using dox42 you can automatically generate documents with data from all sources, like D365, SharePoint or others. dox42 uses Azure Active Directory for authentication.


## Prerequisites
You will need the following to proceed:
* A Microsoft Power Apps or Power Automate plan
* Azure Active Directory
* a dox42 license (dox42 Online or dox42 Server + dox42 Word/Excel/PowerPoint Add-ins)
* dox42 Server Designer application (Version 1.0.1.4 or later)
* SharePoint Online

## Building the connector
Since dox42 uses Azure Active Directory (AD) authentication, we first need to set up a few things in Azure AD so that our connectors can securely generate your documents with dox42. After that is completed, you can test the connector.

### Set up an Azure AD application for your custom connector
We first need to register dox42 as an application in Azure AD. This will allow the connector to identify itself to Azure AD so that it can ask for permissions to access your data on behalf of the end user. You can read more about this [here](https://docs.microsoft.com/en-us/azure/active-directory/develop/authentication-scenarios) and follow the steps below:

1. Create an Azure AD application
This Azure AD application will be used to identify the connector to dox42. This can be done using [Azure Portal] (https://portal.azure.com), by following the steps [here](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app). Once created, note down the value of Application (Client) ID. You will need this later.

2. Configure (Update) your Azure AD application to use the dox42 connector:
This step will ensure that your application can successfully retrieve an access token to invoke dox42 on behalf of your users. To do this, follow the steps [here](https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-configure-app-access-web-apis).
- For redirect URI, use “https://global.consent.azure-apim.net/redirect”
- For the credentials, use a client secret (and not certificates). Remember to note the secret down, you will need this later and it is shown only once.
- For API permissions, make sure that the necessary permissions like delegated SharePoint permissions and for example “Dynamics CRM user_impersonation” are added.
- Follow the instructions in chapter 6 of the dox42 AAD Documentation: https://www.dox42.com/Download/dox42_DynamicsCRM_Documentation_EN.pdf


### At this point, we now have a valid Azure AD application that can be used to get permissions from end users and access dox42 document generation. The next step for us is to modify the premium connector.

- Enter your Azure Active Directory Information in the Security tab of the connector. Follow the Security information in the dox42 Power Automate Documentation for further information: https://www.dox42.com/Download/dox42_MSPowerAutomate_LogicApps.pdf

### For calling the dox42 document generation, insert a query string from the dox42 Server Designer application, when designing your flow.



## Supported Operations

The connector supports the following operations:

* `dox42_Call`: Make a call to your dox42 Server
81 changes: 81 additions & 0 deletions certified-connectors/dox42/apiDefinition.swagger.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
{
"swagger": "2.0",
"info": {
"title": "dox42",
"description": "The dox42 connector provides a connection to the very extensive dox42 REST API and allows you to automatically generate documents in a flow with data from all sources, like D365, SharePoint or others.",
"version": "1.0",
"contact": {
"name": "dox42 Support",
"url": "https://www.dox42.com/Contact",
"email": "support@dox42.com"
}
},
"host": "dox42test.dox42.online",
"basePath": "/",
"schemes": [
"https"
],
"consumes": [],
"produces": [],
"paths": {
"/dox42RestService.ashx": {
"get": {
"responses": {
"default": {
"description": "default",
"schema": {}
}
},
"summary": "dox42 Service Call",
"description": "Call to the dox42 service",
"operationId": "dox42_Call",
"parameters": [
{
"name": "domainname",
"in": "header",
"required": false,
"type": "string",
"description": "Domain name",
"x-ms-summary": "The domain name of your configured dox42 Server"
},
{
"name": "querystring",
"in": "query",
"required": false,
"type": "string",
"description": "Service call query string",
"x-ms-summary": "Query portion of the desired dox42 service call"
},
{
"name": "accept",
"in": "header",
"required": false,
"type": "string",
"default": "application/json",
"description": "Basic accept header",
"x-ms-summary": "Basic accept header, leave as is!"
}
]
}
}
},
"definitions": {},
"parameters": {},
"responses": {},
"securityDefinitions": {},
"tags": [],
"x-ms-connector-metadata": [
{
"propertyName": "Website",
"propertyValue": "https://www.dox42.com/"
},
{
"propertyName": "Privacy Policy",
"propertyValue": "https://www.dox42.com/Privacy"
},
{
"propertyName": "Categories",
"propertyValue": "Content and Files;Data"
}
]
}
61 changes: 61 additions & 0 deletions certified-connectors/dox42/apiProperties.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
{
"properties": {
"connectionParameters": {
"token": {
"type": "oauthSetting",
"oAuthSettings": {
"identityProvider": "aad",
"clientId": "<client-id>",
"scopes": [
"<scope>"
],
"redirectMode": "Global",
"redirectUrl": "https://global.consent.azure-apim.net/redirect",
"properties": {
"IsFirstParty": "False",
"AzureActiveDirectoryResourceId": "<resource-id>"
},
"customParameters": {
"loginUri": {
"value": "https://login.windows.net"
},
"tenantId": {
"value": "common"
},
"resourceUri": {
"value": "<resource-uri>"
}
}
}
},
"token:TenantId": {
"type": "string",
"metadata": {
"sourceType": "AzureActiveDirectoryTenant"
},
"uiDefinition": {
"constraints": {
"required": "false",
"hidden": "true"
}
}
}
},
"iconBrandColor": "#006a00",
"capabilities": [],
"policyTemplateInstances": [
{
"templateId": "dynamichosturl",
"title": "Define dox42 Service URL",
"parameters": {
"x-ms-apimTemplateParameter.urlTemplate": "https://@headers('domainname')/dox42RestService.ashx?@queryParameters('querystring')",
"x-ms-apimTemplate-operationName": [
"dox42_Call"
]
}
}
],
"publisher": "dox42",
"stackOwner": "dox42"
}
}

0 comments on commit ab915d9

Please sign in to comment.