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
92 changes: 92 additions & 0 deletions independent-publisher-connectors/Zoho CRM/README.md
Original file line number Diff line number Diff line change
@@ -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.
131 changes: 131 additions & 0 deletions independent-publisher-connectors/Zoho CRM/apiDefinition.swagger.json
Original file line number Diff line number Diff line change
@@ -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"
}
}
}
}
}
}
38 changes: 38 additions & 0 deletions independent-publisher-connectors/Zoho CRM/apiProperties.json
Original file line number Diff line number Diff line change
@@ -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"
}
}