πŸš€ More Vendrato tools: FunnelDupe β€’ GHL Utils
πŸ“‘

Get Records from Zoho CRM

n8n-nodes-base.httpRequest

Retrieve a list of records from any Zoho CRM module with pagination and sorting options

zoho crm records list fetch bulk
App Zoho CRM
Category api integration
Version 1.0.0
Author Community
Credentials Zoho OAuth2 API

πŸ’‘ Use Cases

πŸ“š API Documentation

Reference documentation for this API endpoint:

πŸ”— https://www.zoho.com/crm/developer/docs/api/v8/get-records.html β†—

πŸ“‹ Node Configuration

{
  "nodes": [
    {
      "parameters": {
        "content": "## πŸ“‘ Get Records from Zoho CRM\n\n**Usage:**\nRetrieve a list of records from any Zoho CRM module with pagination and sorting.\n\n**Required Input:**\n- `module`: Module API name (Leads, Contacts, Accounts, Deals, etc.)\n- `fields`: Comma-separated field API names to return\n\n**Optional Fields:**\n- `page`: Page number (default: 1)\n- `per_page`: Records per page (max: 200)\n- `sort_by`: Field to sort by (id, Created_Time, Modified_Time)\n- `sort_order`: asc or desc\n\n**Setup:**\n1. Configure Zoho OAuth2 credentials\n2. Set the module name\n3. Specify fields to retrieve\n4. Configure pagination as needed\n\n**Output:**\nReturns array of records with pagination info",
        "height": 238,
        "width": 389,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        96,
        332
      ],
      "typeVersion": 1,
      "id": "sticky-zoho-crm-get-records",
      "name": "Sticky Note"
    },
    {
      "parameters": {
        "method": "GET",
        "url": "=https://www.zohoapis.com/crm/v8/{{ $json.module }}",
        "authentication": "genericCredentialType",
        "genericAuthType": "oAuth2Api",
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "fields",
              "value": "={{ $json.fields }}"
            },
            {
              "name": "page",
              "value": "={{ $json.page || 1 }}"
            },
            {
              "name": "per_page",
              "value": "={{ $json.per_page || 200 }}"
            },
            {
              "name": "sort_by",
              "value": "={{ $json.sort_by || 'id' }}"
            },
            {
              "name": "sort_order",
              "value": "={{ $json.sort_order || 'desc' }}"
            }
          ]
        },
        "options": {
          "response": {
            "response": {
              "responseFormat": "json"
            }
          }
        }
      },
      "id": "node-zoho-crm-get-records",
      "name": "Get Zoho CRM Records",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.1,
      "position": [
        368,
        400
      ],
      "credentials": {
        "oAuth2Api": {
          "id": "zoho-oauth2",
          "name": "Zoho OAuth2 API"
        }
      }
    }
  ],
  "connections": {},
  "pinData": {},
  "meta": {
    "templateCredsSetupCompleted": true,
    "instanceId": "zoho-crm-get-records-001"
  }
}
[
  {
    "id": "81a7ed59-23c4-4c76-b211-97e3c9028995",
    "meta": {
      "name": "API Call Node",
      "id": "api-call",
      "icon": {
        "svg": "",
        "type": "SVG"
      },
      "description": "## πŸ“‘ Get Records from Zoho CRM  **Usage:**"
    },
    "label": "Get Zoho CRM Records",
    "dependencies": {
      "node-fetch": "3.3.2"
    },
    "script": "import fetch from \"node-fetch\";\nexport default async function apiCall({\n    url,\n    method,\n    contentType,\n    authorization,\n    body,\n    shouldAwait,\n    queryParams,\n    customHeaders\n}: NodeInputs, {\n    logging\n}: NodeScriptOptions) : NodeOutput  {\n    const headers = {\n        \"Content-Type\": contentType,\n        ...customHeaders\n    };\n    if (authorization) headers[\"Authorization\"] = authorization;\n\n    let queryParamsString = '';\n    if (queryParams) {\n        queryParamsString = '?' + new URLSearchParams(queryParams).toString();\n    }\n\n    const fetchOptions = {\n        method,\n        headers\n    };\n\n    if (method !== 'GET') {\n        fetchOptions.body = JSON.stringify(body);\n    }\n\n    const fetchPromise = fetch(url + queryParamsString, fetchOptions);\n\n    if (!shouldAwait) {\n        return {\n            data: null\n        };\n    }\n\n    const response = await fetchPromise;\n    const data = await response.json();\n    return {\n        status: response.status,\n        data\n    };\n}",
    "inputs": {
      "properties": {
        "method": {
          "type": "string",
          "description": "The HTTP method to use for the API call",
          "enum": [
            "GET",
            "POST",
            "PUT",
            "DELETE",
            "PATCH"
          ],
          "default": "GET",
          "title": "HTTP Method",
          "buildship": {
            "options": [
              {
                "label": "GET",
                "value": "GET"
              },
              {
                "value": "POST",
                "label": "POST"
              },
              {
                "value": "PUT",
                "label": "PUT"
              },
              {
                "label": "DELETE",
                "value": "DELETE"
              },
              {
                "label": "PATCH",
                "value": "PATCH"
              }
            ],
            "index": 0,
            "sensitive": false
          }
        },
        "url": {
          "description": "The URL of the API endpoint",
          "title": "URL",
          "type": "string",
          "buildship": {
            "index": 1
          }
        },
        "authorization": {
          "description": "The authorization header for the API call, if required (e.g., Bearer or Basic token)",
          "type": "string",
          "title": "Authorization",
          "buildship": {
            "sensitive": true,
            "index": 2
          }
        },
        "queryParams": {
          "default": {},
          "description": "The query parameters for the API call",
          "type": "object",
          "title": "Query Parameters",
          "buildship": {
            "index": 3,
            "sensitive": false
          }
        },
        "body": {
          "type": "object",
          "buildship": {
            "index": 4
          },
          "description": "The body to send with the API call",
          "title": "Body"
        },
        "contentType": {
          "enum": [
            "application/json",
            "application/x-www-form-urlencoded",
            "multipart/form-data",
            "text/plain"
          ],
          "description": "The content type of the API call",
          "title": "Content Type",
          "buildship": {
            "index": 5,
            "options": [
              {
                "label": "application/json",
                "value": "application/json"
              },
              {
                "value": "application/x-www-form-urlencoded",
                "label": "application/x-www-form-urlencoded"
              },
              {
                "label": "multipart/form-data",
                "value": "multipart/form-data"
              },
              {
                "label": "text/plain",
                "value": "text/plain"
              }
            ]
          },
          "type": "string"
        },
        "shouldAwait": {
          "description": "Whether to wait for the request to complete or not",
          "title": "Await?",
          "type": "boolean",
          "buildship": {
            "sensitive": false,
            "index": 6
          }
        },
        "customHeaders": {
          "type": "object",
          "description": "Additional custom headers for the API call",
          "title": "Custom Headers",
          "buildship": {
            "index": 7,
            "sensitive": false
          }
        }
      },
      "type": "object",
      "required": [
        "url",
        "shouldAwait",
        "method"
      ]
    },
    "integrations": [],
    "name": "API Call Node",
    "output": {
      "buildship": {},
      "properties": {
        "status": {
          "buildship": {
            "index": 0
          },
          "type": "number",
          "description": "The HTTP status of the API response",
          "title": "Status"
        },
        "data": {
          "buildship": {
            "index": 1
          },
          "title": "Data",
          "type": "object",
          "description": "The data object from the API response"
        }
      },
      "type": "object"
    },
    "isCollapsed": false,
    "type": "script",
    "values": {
      "method": "GET",
      "url": {
        "_$expression_": "`https://www.zohoapis.com/crm/v8/${ctx?.[\"root\"]?.[\"inputs\"]?.[\"body\"].module}`",
        "type": "javascript",
        "hasErrors": false
      },
      "authorization": {
        "_$expression_": "`Bearer ${(await getSecret(\"ANONYMIZED_SECRET\"))}`",
        "type": "javascript",
        "hasErrors": false
      },
      "queryParams": {
        "fields": {
          "_$expression_": "ctx?.[\"root\"]?.[\"inputs\"]?.[\"body\"].fields",
          "type": "javascript",
          "hasErrors": false
        },
        "page": {
          "_$expression_": "ctx?.[\"root\"]?.[\"inputs\"]?.[\"body\"].page || 1",
          "type": "javascript",
          "hasErrors": false
        },
        "per_page": {
          "_$expression_": "ctx?.[\"root\"]?.[\"inputs\"]?.[\"body\"].per_page || 200",
          "type": "javascript",
          "hasErrors": false
        },
        "sort_by": {
          "_$expression_": "ctx?.[\"root\"]?.[\"inputs\"]?.[\"body\"].sort_by || 'id'",
          "type": "javascript",
          "hasErrors": false
        },
        "sort_order": {
          "_$expression_": "ctx?.[\"root\"]?.[\"inputs\"]?.[\"body\"].sort_order || 'desc'",
          "type": "javascript",
          "hasErrors": false
        }
      },
      "body": {},
      "contentType": "application/json",
      "shouldAwait": true,
      "customHeaders": {}
    }
  }
]
{
  "subflows": [
    {
      "flow": [
        {
          "id": 520,
          "module": "http:ActionSendDataBasicAuth",
          "version": 3,
          "parameters": {
            "key": "ANONYMIZED_CREDENTIALS",
            "handleErrors": false,
            "useNewZLibDeCompress": true
          },
          "mapper": {
            "ca": "",
            "qs": [
              {
                "name": "fields",
                "value": "{{1.fields}}"
              },
              {
                "name": "page",
                "value": "{{ $json.page || 1 }}"
              },
              {
                "name": "per_page",
                "value": "{{ $json.per_page || 200 }}"
              },
              {
                "name": "sort_by",
                "value": "{{ $json.sort_by || 'id' }}"
              },
              {
                "name": "sort_order",
                "value": "{{ $json.sort_order || 'desc' }}"
              }
            ],
            "url": "https://www.zohoapis.com/crm/v8/{{1.module}}",
            "data": "",
            "gzip": true,
            "method": "get",
            "headers": [
              {
                "name": "Authorization",
                "value": "Bearer {{ANONYMIZED_TOKEN}}"
              }
            ],
            "timeout": "",
            "useMtls": false,
            "bodyType": "raw",
            "contentType": "application/json",
            "serializeUrl": false,
            "shareCookies": false,
            "parseResponse": true,
            "followRedirect": true,
            "useQuerystring": false,
            "followAllRedirects": false,
            "rejectUnauthorized": true
          },
          "metadata": {
            "designer": {
              "x": 300,
              "y": 300,
              "name": "Get Records from Zoho CRM"
            },
            "restore": {
              "expect": {
                "qs": {
                  "mode": "chose",
                  "items": [
                    null,
                    null,
                    null,
                    null,
                    null
                  ]
                },
                "method": {
                  "mode": "chose",
                  "label": "GET"
                },
                "headers": {
                  "mode": "chose",
                  "items": [
                    null
                  ]
                },
                "bodyType": {
                  "label": "Raw"
                },
                "contentType": {
                  "label": "JSON (application/json)"
                }
              },
              "parameters": {
                "key": {
                  "label": "ANONYMIZED_CREDENTIALS"
                }
              }
            },
            "parameters": [
              {
                "name": "key",
                "type": "keychain:basicauth",
                "label": "Credentials",
                "required": true
              },
              {
                "name": "handleErrors",
                "type": "boolean",
                "label": "Evaluate all states as errors (except for 2xx and 3xx )",
                "required": true
              },
              {
                "name": "useNewZLibDeCompress",
                "type": "hidden"
              }
            ],
            "expect": [
              {
                "name": "url",
                "type": "url",
                "label": "URL",
                "required": true
              },
              {
                "name": "serializeUrl",
                "type": "boolean",
                "label": "Serialize URL",
                "required": true
              },
              {
                "name": "method",
                "type": "select",
                "label": "Method",
                "required": true,
                "validate": {
                  "enum": [
                    "get",
                    "head",
                    "post",
                    "put",
                    "patch",
                    "delete",
                    "options"
                  ]
                }
              },
              {
                "name": "headers",
                "spec": [
                  {
                    "name": "name",
                    "type": "text",
                    "label": "Name",
                    "required": true
                  },
                  {
                    "name": "value",
                    "type": "text",
                    "label": "Value"
                  }
                ],
                "type": "array",
                "label": "Headers"
              },
              {
                "name": "qs",
                "spec": [
                  {
                    "name": "name",
                    "type": "text",
                    "label": "Name",
                    "required": true
                  },
                  {
                    "name": "value",
                    "type": "text",
                    "label": "Value"
                  }
                ],
                "type": "array",
                "label": "Query String"
              },
              {
                "name": "bodyType",
                "type": "select",
                "label": "Body type",
                "validate": {
                  "enum": [
                    "raw",
                    "x_www_form_urlencoded",
                    "multipart_form_data"
                  ]
                }
              },
              {
                "name": "parseResponse",
                "type": "boolean",
                "label": "Parse response",
                "required": true
              },
              {
                "name": "contentType",
                "type": "select",
                "label": "Content type",
                "validate": {
                  "enum": [
                    "text/plain",
                    "application/json",
                    "application/xml",
                    "text/xml",
                    "text/html",
                    "custom"
                  ]
                }
              },
              {
                "name": "data",
                "type": "buffer",
                "label": "Request content"
              }
            ]
          }
        }
      ]
    }
  ],
  "metadata": {
    "version": 1
  }
}
← Browse all nodes