Two types of nodes - Zoho create account and Zoho CRM update account - are producing an error message. I’m trying to understand how to troubleshoot it. I have tried recreating the nodes. I have also restarted the cloud instance. We have been able to use a standalone Zoho CRM node to update a record in the instance, and queries to pull records from Zoho are also working in the same pipeline.
What is the error message (if any)?
ERROR: UNKNOWN ERROR - check the detailed error for more information
NodeApiError: UNKNOWN ERROR - check the detailed error for more information
at Object.zohoApiRequest (/usr/local/lib/node_modules/n8n/node_modules/n8n-nodes-base/dist/nodes/Zoho/GenericFunctions.js:43:15)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at Object.execute (/usr/local/lib/node_modules/n8n/node_modules/n8n-nodes-base/dist/nodes/Zoho/ZohoCrm.node.js:222:40)
at Workflow.runNode (/usr/local/lib/node_modules/n8n/node_modules/n8n-workflow/dist/Workflow.js:653:28)
at /usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/WorkflowExecute.js:590:53
I worked around this for now using HTTP nodes. But the Zoho node should just work. The same nodes work out of context when not connected to the previous workflow nodes. Thinking it might be how data is formatted vs what Zoho is expecting.
Please be informed that you could send an email from the respective Account record in CRM and the Zoho CRM field’ will have the particular Account’s information to update the record in Zoho CRM . You could add an Email field in your Accounts module to store the email address to which you wish to send an email.
Thanks for the support @voncile . My preference is to avoid relying on emails for any automation. For now the HTTP node is sufficing. I will continue to test though.
Can you please share your method of using http node + Zoho. I am really struggling to set it up with OAuth via http node. What application you used for to register in Zoho API Console ?
After 60 minutes, I have to login manually or I will be presented with
Based on Zoho Documentation, to request a new token I have to make a post request and include the authorization code that was obtained from Authorization Request.
I do not really know how to get the Authorization Request from step 1 so I can request a fresh token. I do not want to manually log in each time.
@hndmn I did this and it worked well. The token refresh each time it gets expired.
First, you need to connect your n8n to zoho, create an empty http request and select Query Auth 2 API authentication and enter your info; client_id, client_secret, scrope, etc.
Run Execute Command and find Zoho Refresh Token that within your selected scope.
Duplicate refresh_token node ( Paste the token from step 2 into the correct filed) and use it generate a new access token.
Copy the access token and paste into Supabase ( Free & Fast Database )
Just to circle back here for those it may help. Ultimately for us the best method was creating an environment variable to store a refresh token. We follow the api docs to generate a refresh token using a ‘Self Client’.
That results in a refresh token eventually. Add that as an environment variable in your instance, along with variables for the client id and client secret. Then in workflows you can have a node that fetches a new token by referencing those env variables.