Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
167 changes: 167 additions & 0 deletions independent-publisher-connectors/UniAI/apiDefinition.swagger.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
{
"swagger": "2.0",
"info": {
"title": "UniAI",
"description": "AI-powered PDF extraction to structured JSON",
"version": "1.0.0",
"contact": {
"name": "Roman Bezushko",
"url": "https://unidoc.io",
"email": "[email protected]"
}
},
"host": "cloud.unidoc.io",
"basePath": "/api",
"schemes": [
"https"
],
"consumes": [
"multipart/form-data"
],
"produces": [
"application/json",
"text/plain"
],
"paths": {
"/uniai/extract/invoice": {
"post": {
"operationId": "ExtractInvoice",
"summary": "Extract structured invoice data from a PDF",
"description": "Upload a PDF file; UniAI returns structured JSON",
"consumes": [
"multipart/form-data"
],
"parameters": [
{
"name": "X-API-KEY",
"in": "header",
"required": true,
"type": "string",
"description": "UniCloud API key",
"x-ms-summary": "API key used to authorize access to UniAI",
"x-ms-visibility": "important"
},
{
"name": "file",
"in": "formData",
"required": true,
"type": "file",
"description": "Invoice PDF file to process",
"x-ms-summary": "The PDF invoice file to be processed",
"x-ms-mediaKind": "file",
"x-ms-visibility": "important"
},
{
"name": "is_scanned",
"in": "formData",
"required": false,
"type": "boolean",
"description": "Set true if the invoice is a scanned document",
"x-ms-summary": "True if the uploaded invoice is scanned"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string",
"additionalProperties": true
}
},
"400": {
"description": "Bad request"
},
"401": {
"description": "Unauthorized"
},
"500": {
"description": "Server error"
}
}
}
},
"/uniai/extract/resume": {
"post": {
"operationId": "ExtractResume",
"summary": "Extract structured resume (CV) data from a PDF",
"description": "Upload a resume PDF; UniAI returns structured JSON",
"consumes": [
"multipart/form-data"
],
"parameters": [
{
"name": "X-API-KEY",
"in": "header",
"required": true,
"type": "string",
"description": "UniCloud API key",
"x-ms-summary": "API key used to authorize access to UniAI",
"x-ms-visibility": "important"
},
{
"name": "file",
"in": "formData",
"required": true,
"type": "file",
"description": "Resume PDF to process",
"x-ms-summary": "The PDF resume file to be processed",
"x-ms-mediaKind": "file",
"x-ms-visibility": "important"
},
{
"name": "is_scanned",
"in": "formData",
"required": false,
"type": "boolean",
"description": "Set true if the resume is a scanned document",
"x-ms-summary": "True if the uploaded resume is scanned"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string",
"additionalProperties": true
}
},
"400": {
"description": "Bad request"
},
"401": {
"description": "Unauthorized"
},
"500": {
"description": "Server error"
}
}
}
}
},
"securityDefinitions": {
"api_key": {
"type": "apiKey",
"in": "header",
"name": "X-API-KEY"
}
},
"security": [
{
"api_key": []
}
],
"x-ms-connector-metadata": [
{
"propertyName": "Website",
"propertyValue": "https://unidoc.io"
},
{
"propertyName": "Privacy policy",
"propertyValue": "https://unidoc.io"
},
{
"propertyName": "Categories",
"propertyValue": "Content and Files"
}
]
}
22 changes: 22 additions & 0 deletions independent-publisher-connectors/UniAI/apiProperties.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"properties": {
"connectionParameters": {
"api_key": {
"type": "securestring",
"uiDefinition": {
"displayName": "X-API-KEY",
"description": "The X-API-KEY for this api",
"tooltip": "Provide your X-API-KEY",
"constraints": {
"tabIndex": 2,
"clearText": false,
"required": "true"
}
}
}
},
"iconBrandColor": "#da3b01",
"capabilities": [],
"publisher": "Roman Bezushko"
}
}
44 changes: 44 additions & 0 deletions independent-publisher-connectors/UniAI/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# UniAI (Independent Publisher)

UniAI is a powerful API that allows you to extract structured data from documents using UniDoc and AI. This connector enables users to automatically parse **Invoices** and **Resumes/CVs** directly within Power Automate flows, converting PDF documents into usable JSON data.

## Publisher: [Roman Bezushko]

## Prerequisites
To use this connector, you need:
* A UniCloud account.
* An active UniCloud API Key.

## Supported Operations

### Extract Data from Invoice
Upload a PDF invoice to extract key details, including:
* Vendor Name
* Total Amount
* Invoice Date
* Invoice Number
* Currency

### Extract Data from Resume
Upload a PDF resume or CV to extract candidate details, including:
* Candidate Name
* Contact Email & Phone
* List of Skills
* Education History

## Obtaining Credentials
1. Log in to your UniAI Dashboard at [https://cloud.unidoc.io](https://cloud.unidoc.io).
2. Navigate to the **Settings** or **API Keys** section.
3. Click **Generate New Key**.
4. Copy the API Key string.
5. In Power Automate, when creating the connection, paste this key into the **API Key** field.

## Getting Started
1. **Create a Flow:** Start a new "Instant Cloud Flow" in Power Automate.
2. **Add the Action:** Search for "UniAI" and select either **Extract Data from Invoice** or **Extract Data from Resume**.
3. **File Content:** Pass the file content from a previous step (e.g., "Get file content" from OneDrive or SharePoint).
4. **Run:** Save and test the flow. The output will be a JSON object containing the extracted fields.

## Known Issues and Limitations
* **File Size:** The API currently supports files up to 3 pages.
* **File Type:** Only PDF files are currently supported.