From df064977b935e833621ef16d636be13254e7cc31 Mon Sep 17 00:00:00 2001 From: ashendra-ifour Date: Tue, 12 May 2026 13:44:29 +0530 Subject: [PATCH 1/3] Create Zoho CRM By Ifour --- independent-publisher-connectors/Zoho CRM By Ifour | 1 + 1 file changed, 1 insertion(+) create mode 100644 independent-publisher-connectors/Zoho CRM By Ifour diff --git a/independent-publisher-connectors/Zoho CRM By Ifour b/independent-publisher-connectors/Zoho CRM By Ifour new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/independent-publisher-connectors/Zoho CRM By Ifour @@ -0,0 +1 @@ + From 2496d38a11567c2c4a408a3f8bfbbf3892704e6a Mon Sep 17 00:00:00 2001 From: ashendra-ifour Date: Wed, 13 May 2026 10:54:49 +0530 Subject: [PATCH 2/3] Proposal - ZohoCRM (Independent Publisher) --- .../Zoho CRM/README.md | 92 ++++++++++++ .../Zoho CRM/apiDefinition.swagger.json | 131 ++++++++++++++++++ .../Zoho CRM/apiProperties.json | 38 +++++ 3 files changed, 261 insertions(+) create mode 100644 independent-publisher-connectors/Zoho CRM/README.md create mode 100644 independent-publisher-connectors/Zoho CRM/apiDefinition.swagger.json create mode 100644 independent-publisher-connectors/Zoho CRM/apiProperties.json diff --git a/independent-publisher-connectors/Zoho CRM/README.md b/independent-publisher-connectors/Zoho CRM/README.md new file mode 100644 index 0000000000..f7a1ec1f69 --- /dev/null +++ b/independent-publisher-connectors/Zoho CRM/README.md @@ -0,0 +1,92 @@ +# Zoho CRM for Power BI Basic + +The Zoho CRM is a Power BI custom data connector that enables seamless integration between Zoho CRM and Microsoft Power BI. It provides authenticated, paginated access to all Zoho CRM modules with proper data typing, lazy-loaded navigation, and support for scheduled refresh via the On-premises Data Gateway. + +## Publisher: iFour Technolab Pvt Ltd. + +## Prerequisites + +You need to have a Zoho CRM Login Credentials. + +## Obtaining Secrets + +Once you have created an organization, create a Self Client from the [Zoho API Console](https://api-console.zoho.com/). This will create a Client ID and Client Password to be used with the connector. + +--- + +## Setup & Installation + +### Step 1 — Get Zoho API Credentials + +1. Navigate to [https://api-console.zoho.in](https://api-console.zoho.in) +2. Create a new **Server-based Application** +3. Set the redirect URI to: + ``` + https://oauth.powerbi.com/views/oauthredirect.html + ``` +4. Copy your **Client ID** and **Client Secret** +5. Required scopes: + ``` + ZohoCRM.modules.ALL, ZohoCRM.settings.ALL + ``` + +### Step 2 — Configure Credentials + +Create the credential files in your project root and add the secretes here. + +`client_id` + +``` +1000.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +``` + +`client_secret` + +``` +xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +``` + +--- + +## Supported Operations + +### Get Modules + +- Get all the modules list. + +### Get Fields + +- Get all the fields of the module. + +### Get Module Data + +- Get all the module data. + +## API Reference + +| Endpoint | Used For | +| ------------------------------------------------ | ----------------------------------- | +| `GET crm/v8/settings/modules` | Fetch list of all CRM modules | +| `GET crm/v8/settings/fields?module={name}` | Fetch field metadata for a module | +| `GET crm/v8/{ModuleName}?page=N&per_page=200` | Fetch paginated records | +| `GET crm/v8/Leads?converted=true` | Fetch converted leads | +| `POST accounts.zoho.in/oauth/v8/token` | Exchange auth code for access token | +| `POST accounts.zoho.in/oauth/v8/token` (refresh) | Refresh expired access token | + +--- + +## License & Contact + +| Property | Details | +| ----------------- | ----------------------------------------------- | +| Developer | iFour Technolab | +| Website | https://www.ifourtechnolab.com | +| Zoho CRM API Docs | https://www.zoho.com/crm/developer/docs/api/v8/ | +| Power Query SDK | https://docs.microsoft.com/power-query/ | +| License | Proprietary — All rights reserved | + +--- + +## Known Issues and Limitations + +There are no known issues at this time. diff --git a/independent-publisher-connectors/Zoho CRM/apiDefinition.swagger.json b/independent-publisher-connectors/Zoho CRM/apiDefinition.swagger.json new file mode 100644 index 0000000000..e7f73b9a2f --- /dev/null +++ b/independent-publisher-connectors/Zoho CRM/apiDefinition.swagger.json @@ -0,0 +1,131 @@ +{ + "openapi": "3.0.0", + "info": { + "title": "Zoho CRM API", + "version": "1.0.0", + "description": "Zoho CRM APIs by iFour Technolab" + }, + "servers": [ + { + "url": "https://www.zohoapis.com" + } + ], + "components": { + "securitySchemes": { + "bearerAuth": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "JWT" + } + } + }, + "security": [ + { + "bearerAuth": [] + } + ], + "paths": { + "/crm/v8/Leads": { + "get": { + "tags": [ + "Leads" + ], + "summary": "Get Lead Records", + "description": "Retrieve lead records from Zoho CRM.", + "operationId": "GetLeads", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "Company": { + "type": "string", + "example": "Zylker" + }, + "Last_Name": { + "type": "string", + "example": "Daly" + }, + "First_Name": { + "type": "string", + "example": "Paul" + }, + "Email": { + "type": "string", + "format": "email", + "example": "p.daly@zylker.com" + }, + "State": { + "type": "string", + "example": "Texas" + } + } + } + }, + "trigger": { + "type": "array", + "items": { + "type": "string" + }, + "example": [ + "approval", + "workflow", + "blueprint" + ] + } + } + } + } + } + }, + "responses": { + "201": { + "description": "Record added successfully", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "code": { + "type": "string", + "example": "SUCCESS" + }, + "message": { + "type": "string", + "example": "record added" + }, + "status": { + "type": "string", + "example": "success" + } + } + } + } + } + } + } + } + }, + "400": { + "description": "Invalid request or validation error" + }, + "401": { + "description": "Authentication failed" + } + } + } + } + } +} \ No newline at end of file diff --git a/independent-publisher-connectors/Zoho CRM/apiProperties.json b/independent-publisher-connectors/Zoho CRM/apiProperties.json new file mode 100644 index 0000000000..c3305cb9f9 --- /dev/null +++ b/independent-publisher-connectors/Zoho CRM/apiProperties.json @@ -0,0 +1,38 @@ +{ + "properties": { + "connectionParameters": { + "access_token": { + "type": "securestring", + "uiDefinition": { + "displayName": "Zoho CRM Access Token", + "description": "Enter your Zoho CRM OAuth Access Token", + "tooltip": "Provide a valid Zoho CRM Bearer Token", + "constraints": { + "tabIndex": 2, + "clearText": false, + "required": "true" + } + } + } + }, + "policyTemplateInstances": [ + { + "templateId": "setheader", + "title": "Set Authorization Header", + "parameters": { + "x-ms-apimTemplateParameter.name": "Authorization", + "x-ms-apimTemplateParameter.value": "Bearer @connectionParameters('access_token')", + "x-ms-apimTemplateParameter.existsAction": "override", + "x-ms-apimTemplate-policySection": "Request", + "x-ms-apimTemplate-operationName": [ + "GetLeads" + ] + } + } + ], + "iconBrandColor": "#C8202F", + "capabilities": [], + "publisher": "iFour Technolab", + "stackOwner": "Zoho Corporation" + } +} \ No newline at end of file From 92266f8c1d1d5de894b75dbbb6d50efaf901e876 Mon Sep 17 00:00:00 2001 From: ashendra-ifour Date: Wed, 13 May 2026 11:01:21 +0530 Subject: [PATCH 3/3] Remove emty file --- independent-publisher-connectors/Zoho CRM By Ifour | 1 - 1 file changed, 1 deletion(-) delete mode 100644 independent-publisher-connectors/Zoho CRM By Ifour diff --git a/independent-publisher-connectors/Zoho CRM By Ifour b/independent-publisher-connectors/Zoho CRM By Ifour deleted file mode 100644 index 8b13789179..0000000000 --- a/independent-publisher-connectors/Zoho CRM By Ifour +++ /dev/null @@ -1 +0,0 @@ -