A component that connects to Zoho CRM API.
Name | Mandatory | Description | Values |
---|---|---|---|
REQUEST_MAX_RETRY |
false | Set how many time system try to make request to API on errors (3 by default) | min: 0, max: 10 |
The optional environment variable MAX_FILE_SIZE could be set in settings to provide the maximum file size for attachments in megabytes (mb). The default value for MAX_FILE_SIZE is 100MB.
Authentication occurs via OAuth 2.0.
In order to make OAuth work, you need a new Client in your Zoho Developer Console.
More information you can find here.
For creating Auth Client you should specify following fields:
Field name | Mandatory | Description |
---|---|---|
Client Name | true | your Auth Client’s name (any) |
Homepage URL | true | https://{installation-url} |
Authorized Redirect URIs | true | https:/{installation-url}/callback/oauth2 |
You will receive next fields: Client ID
, Client Secret
.
In order to setup created Auth Client on Elastic.io platform you should click on Add New Auth Client
, and fill next fields:
Client ID
from Zoho Developer Console.Client Secret
from Zoho Developer Consoleaccess_type
with value offline
(needed for refresh token to be present).Documentation. Examples:
Save client and then:
Please Note: pay attention to the scope of the operations you are going to use. If the provided scope does not satisfy Zoho API requirements the request will fail (E.g. with 400 code -
Request failed with status code 400
).
A few (not a comprehensive list, just a few examples!) most used scopes:
ZohoCRM.settings.ALL
. Recommended by default. Is required to get a list of modules (Object types). Is used in all the actions and triggers except for the Raw Request
action.ZohoCRM.modules.ALL
. Recommended by default.ZohoCRM.users.ALL
. Required to communicate with the Users
module.ZohoCRM.coql.READ
. Required for Lookup objects (plural) action as it uses COQL queries under the hood.Multiple scopes can be applied with the comma as a separator.
Please Note: that whitespaces between scopes are not allowed!
E.g.: ZohoCRM.settings.ALL,ZohoCRM.modules.ALL,ZohoCRM.users.ALL
.
Field to poll
will be included. Please note that you can include a maximum of 49 field names in this parameter.Emit individually
or Emit page
.There is no Input Metadata.
If Emit behavior
= Emit individually
: dynamically generated properties according to selected Object Type
.
If Emit behavior
= Emit page
:
Object Type
.Action to call any Zoho-crm API endpoint.
Please Note: when you are trying to get some object by id, in case no object found - Zoho API will return empty body and statusCode 204.
https://www.zohoapis.com
). This parameter is required. For instance, you might use /crm/v2/leads
. You may also omit the version if it is included in the credentials, such as using /leads
. In some cases you may also use JSONata $encodeUrlComponent() function - for example to encode email address for the search query.GET
, POST
, PUT
, PATCH
, DELETE
, required. HTTP verb to use in the request.Refer to the Zoho API docs to build a request.
Request example:
{
"method": "GET",
"url": "/crm/v2/Contacts/search?criteria=((Email:equals:johndoe@example.com))"
}
Same as:
{
"method": "GET",
"url": "/Contacts/search?criteria=((Email:equals:johndoe@example.com))"
}
Using encodeUrlComponent function on email:
{
"method": "GET",
"url": "/crm/v2/Contacts/search?criteria=((Email:equals:" & $encodeUrlComponent("user@example.com") & "))"
}
Action to insert or update a record. The system checks for duplicate records based on the duplicate check field’s values. If the record is already present, it gets updated. If not, the record is inserted.
Note: you can add only system-defined duplicate check fields and user-defined unique fields. If you do not specify the Duplicate field checks
, the system checks for duplicate records in this order: “system-defined duplicate check fields” > “user-defined unique fields”.
attachmentUrl
and fileName
. Where attachmentUrl
: Steward/Maester URL containing the file contents to upload.
Example: [{“attachmentUrl”: “http://steward-service.platform.svc.cluster.local:8200/v2/objects/b9a6a95f-fc68-4ae7-aa2b-22717979bf1b”, “fileName”: “myimage.png”}].
Other fields are dynamically generated.Action designed to lookup one object by unique field.
ID to Search On
(unique field value by itself).true
attachments will saved to storage. Result array for attachments
consists of objects with properties maesterStorageId
and attachmentUrl
. Where attachmentUrl
- url to attachment in Zoho CRM. Attachments of size bigger than MAX_FILE_SIZE
ENV will be skipped.Action designed to lookup set of objects by unique field.
The expected output is an object with a resultsDictionary
property. The value of this resultsDictionary
will be a dictionary where the keys are the lookup identity, and the key is the corresponding object.
Action designed to lookup objects.
Fetch All
, Fetch Page
, Emit Individually
.Please Note: an empty array
results
will be emitted when no objects are found for all possibleEmit behavior
options.
true
attachments will saved to storage. Result array for attachments
consists of objects with properties maesterStorageId
and attachmentUrl
. Where attachmentUrl
- url to attachment in Zoho CRM. Attachments of size bigger than MAX_FILE_SIZE
ENV will be skipped.
NEXT FIELDS ONLY FOR Fetch Page
Emit behavior:Dynamically generated.
Action designed to delete object.
ID to Search On
(unique field value by itself).The expected output is an object with a id
property. id
value stands for id of delete object.
Click here to learn more about the elastic.io iPaaS