Just helping the community by sharing a custom script that we implement. Always open to other ways to achieve this more efficiently.
Objective: I have different types of customers (I,E Vendor, Reseller, End-User),
- I want to record what type of customer they are when the customer logs a ticket.
- Store this data field against the Contact record
- Show this record on the ticket without having to have the agent open up the contact record
- Force the agent to update the Customer type field before allowing them to close the ticket
- If the customer logs any future tickets, those tickets will show the customer's type
Challenge: We can create custom fields on a ticket level and have them as required fields. But this data set belongs to the Contact record and not the Ticket record
Solution:
Part 1, Create the custom fields in the Contact Module
- Go to Customisation > Layouts and fields > Contacts
- Create a new field called Contact Type
- Note the API Name. In my case, it was called cf_contact_type
- I also set this to be a required field if we create the customer contact directly
Contact Module
Part 2, Create the custom fields in the Ticket Module- Go to Customisation > Layouts and fields > Tickets
- Create a new field called Contact Type
- Note the API Name. In my case, it was called cf_contact_type
- I also set this to be a required field if we create the ticket directly
Ticket Module
We now have a drop-down list called Contact Type in both Tickets and Contacts.
But we need to keep them in sync. We do this in a Workflow
Part 3, Create a workflow to update the Contact Type in the Contacts module when the Contact Type in the Ticket Module is updated.
Create a new Workflow in Automation > Workflows
- Module: Tickets
- Rule Name: 1.A Ticket to contact module sync for Contact Type
- Description: Updating the contact type on a ticket record will update the person record
- Execute on: Field Update: Contact Type (This is the new Custom field you created)
- Criteria: N/A
- Action: Custom Function: Create a new and give it a name (Ticket to Contact sync)

Paste in the following code and substitute with your OrgId and DeskURL
substitute the contactCfApiName and ticketCfApiName if you changed it above
- OrgId = xxxxxxxxxx;
- deskUrl = "https://xxxxxxxxxx.com";
- contactCfApiName = "cf_contact_type";
- ticketCfApiName = "cf_contact_type";
- connection = "zohodesk";
- updateContact = invokeurl
- [
- url :deskUrl + "/api/v1/contacts/" + contactId
- type :PATCH
- parameters:{"cf":{contactCfApiName:ticketCfValue}} + ""
- connection:connection
- ];
- info updateContact;
1.A FunctionClick on Edit Arguments and set the following Argument Names to these values
- contactId > Contact Id
- ticketId > Ticket Id
- ticketCfValue > Contact Type
- contactCfValue > Contact Type
ArgumentsWe now are updating the Contact Type in the Contacts module when the Contact Type in the Ticket Module is updated.
But we want to have any new tickets created from that customer pull in the Contact Type from the Contact Module into any new Ticket we create
Part 4, Create a workflow so that any new ticket created will auto-populate the Contact Type in the Ticket module from the Contact Module
Create a new Workflow in Automation > Workflows
- Module: Tickets
- Rule Name: 1.B Apply contact type value for all new tickets
- Description: New ticket comes in, check person record if "customer type" is set and then copy it to the ticket
- Execute on: Create
- Criteria: N/A
- Action: Custom Function: Create a new and give it a name (
Apply contact type value for all new tickets
)
1.B WorkflowPaste in the following code and substitute with your OrgId and DeskURL
substitute the contactCfApiName and ticketCfApiName if you changed it above
- OrgId = xxxxxxxxxx;
- deskUrl = "https://xxxxxxxxxx.com";
- contactCfApiName = "cf_contact_type";
- ticketCfApiName = "cf_contact_type";
- connection = "zohodesk";
- if(contactCfValue != null && contactCfValue != "")
- {
- updateTicket = invokeurl
- [
- url :deskUrl + "/api/v1/tickets/" + ticketId
- type :PATCH
- parameters:{"cf":{ticketCfApiName:contactCfValue}} + ""
- headers:{"featureFlags":"skipAutomations"}
- connection:connection
- ];
- info updateTicket;
- }
1.B FunctionClick on Edit Arguments and set the following Argument Names to these values
- contactId > Contact Id
- ticketId > Ticket Id
- ticketCfValue > Contact Type
- contactCfValue > Contact Type
Arguements End result
When a customer logs a ticket, it will first look at their contact Record and see if the customer field Contact Type is set. If it is it will copy that to the Ticket record and display it.
If it is not set, making a change in the Ticket record will update the Contact Record
If you want to force your agents to fill in this field before they close the ticket. You can setup a Blueprint that during the transition Contact Type must be set
It looks like this
Recent Topics
Emails not being received from a particular domain
Cannot receive any emails sent from atco.com Domain is in the spam whitelist so should be no reason for it not to be coming through. Have filed a ticket and besides a generic response of we are looking at it - it seems there is no actual support workers
Email address for forwarding is not saving and there's no confirmation ema
Steps to reproduce: 1. Enter my forward email in the email forward section of the account 2. Click save 3. See a notification stating saved successfully 4. Refresh the page, no forward email is saved 5. No email confirmation received at the forwarding
This domain is not allowed to add in Zoho. Please contact support-as@zohocorp.com for further details
This is the error i keep getting when trying to use my Zoho Domain Mail. This domain is not allowed to add in Zoho. Please contact support-as@zohocorp.com for further details Find attached. I hope this can be resolved very quickly so i can go on and make
Auto CC - Moving Departments
We have Auto CC e-mail replies to your support mailbox enabled. We have two departments: Helpdesk (helpdesk@domain.com) Delivery (delivery@domain.com) If we create a Helpdesk ticket, and reply, replies are CC'd to helpdesk@domain.com (OK) We then move
I have error AS101 when I try to add paypal@mydomain.com to Zoho
Please help me with this. I tried to call the help line 4 times but don't get any response.
unable to send message reason 554 5.1.8 Email outgoing blocked
unable to send message reason 554 5.1.8 Email outgoing blocked
Mailk got blocked / Inquiry About Email Sending Limits and Upgrade Options
Dear Zoho Support Team, My name is Kamr Elsayed I created this account to use for applying for vocational training in Germany. As part of this process, I send multiple emails to different companies. However, after sending only 8 emails today, I received
SMTP email sending problem
Hello, I've sent emails before, but you haven't responded. Please respond. My work is being disrupted. I can't send emails via SMTP. Initially, there were no problems, but now I'm constantly receiving 550 bounce errors. I can't use the service I paid
unblock my zoho mail account. outlines@zoho.com
please unblock my zoho mail account, outlines@zoho.com
Unable to see free plan option
Hello Zoho Support Team, I hope you are doing well. I am trying to sign up for Zoho Mail, but I am unable to see the option for the free plan. Could you please guide me on how I can access or activate the free plan? Thank you for your assistance.
Outgoing blocked: Unusual activity detected.
I just made payment for my Zohomail Today and have been debited so i will like to be Unblocked because this is what it says (Outgoing blocked: Unusual activity detected) Thank you i await your swift responses
How to remove some users in zoho accounts
How to remove some users in Zoho accounts.
Forwarder
Hi, I tried to add a forwarder from which emails are sent to my main zoho account email . However, it asks me for a code that should be received at the forwarder email, which is still not activated to send to my zoho emial account. So how can I get the
Forwarder
Hi, I tried to add a forwarder from which emails are sent to my main zoho account email . However, it asks me for a code that should be received at the forwarder email, which is still not activated to send to my zoho emial account. So how can I get the
DKIM cannot be enabled for the domain as no verified default selector present
Hi Support Team, For Domain DKIM record trying to enable status. but showing error "DKIM cannot be enabled for the domain as no verified default selector present" So, please resolve the issue. Thank you.
I can't log in to my account on Thunderbird
I've just had to rebuild my PC (calamitous mess from Microsoft with Win10/Win 11 'upgrade' - they confirmed I had to start with a new build). I have used Zoho mail for years via Mozilla Thunderbird, but now I've had to download the latest version of TBird,
Sorten the domain of zoho mail ids
I recently created zoho mail id and am quite excited with the features. But one issue ig nobody wanna type this big zohoaccounts.com I mean silly bold Suggestion zmail.com (sound gmail) (attraction) or some genz words looks cool
Weekly Tips : Customize your Zoho Mail Notifications
In a professional context, email communication remains one of the most crucial channels for staying connected and managing workflows. Keeping track of your emails, task updates, or important announcements can be overwhelming—especially if you are juggling
How to move emails to Shared Mailbox?
Hello, I created a Shred Mailbox instead of using a distribution group. But I cannot move previous emails to certain shared mailbox. Is it possible move some emails from inbox to shared mailbox?
Email task creator when task is updated/marked complete
I am looking for a way to notify the creator of a task in zoho todo when - Task is updated Task is closed Comments entered 1 and 2 are critical, and I cannot find a zoho flow to do this. There is no way that as a manager I will know when someone has completed
The attendees will now be redirected to the landing webpage when they exit the webinar, set by the organizer.
Hello All, In the latest version of the Zoho Meeting iOS mobile app (v1.3.16), we have brought in the below enhancements: Post Webinar Re-direction Revamped exit UI for Webinar Post Webinar Re-direction: The attendees will now be redirected to the
Download API file contents from browser
Hi Team - is there something being planned to be able to trigger file downloads from the browser via a deluge script? i.e. retrieve a file via API, trigger the file download directly from the browser. Or... using the convertToPdf function (https://www.zoho.com/deluge/help/functions/file/convert-to-pdf.html)
March 15, 2023: Zoho Docs is discontinued
As of today (March 15, 2023) Zoho Docs is discontinued for all users. We would like to thank our customers for trusting us for so many years! Going forward, we're confident you'll enjoy using Zoho WorkDrive for all your advanced file management and collaboration
When using "locations" in zoho books, can you keep the two locations totally separate from each other?
I am looking to add a location but I don't want to intermingle the banking or other accounts. I want that to be like two separate independent branches that use different banking accounts, accounts payable, and accounts receivable. The people who are in
Adding a Channel to SalesIQ
I have a client that currently uses Zoho CRM and Zoho Desk. They would like a live chat to place on their website that has a mobile app and chat bots (something like SalesIQ). However, they would also like to have all this work over SMS as well. Does the SalesIQ API allow this? Can I add visitors without them being a visitor on a website? Thanks! Bryan Redeagle
DataPrep Bigquery Connection failed
Hello everybody, I want to create a connnection beetwen Bigquery and Dataprep but when I try to connect my project I got this error Loading tables has failed. Table list fetched from the data source expired.
How Do I Refund a Customer Directly to Their Credit Card?
Hi, I use books to auto-charge my customers credit card. But when I create a credit note there doesn't seem to be a way to directly refund the amount back to their credit card. Is the only way to refund a credit note by doing it "offline" - or manually-
Zoho Flow Needs to Embrace AI Agent Protocols to Stay Competitive
Zoho Flow has long been a reliable platform for automating workflows and integrating various applications. However, in the rapidly evolving landscape of AI-driven automation, it risks falling behind competitors like n8n, which are pioneering advancements
Important Features Missing
Hey all I love linkthread, but i am missing some important features. I want to be able to include my Google Tag Manager. I have all the important stuff in my GTM Container: Facebook Pixel, LinkIn Pixel, Zoho Pagesense and so on. So i am able to do retargeting
Zoho SignForms: Prefill parameters with spaces render as “+” in the document (even when using %20)
Hello Zoho Sign team, we are using SignForms with prefill parameters passed via URL. Spaces in parameter values are being rendered as “+” in the finalized document—even when we URL-encode spaces as %20. This is critical for us because we prefill addresses
Currency selector (based on variable) usage in comparsion
Hi, I've developed a currency selector based on the following topic, and it's working well in pivot tables and charts: https://help.zoho.com/portal/en/community/topic/how-can-i-allow-my-users-to-choose-a-currency-for-the-dashboard I also have a comparison
Customize Column in Projects - Default View for Template?
Is there a way to have the columns you'd like to see added to a template? I want my customized columns to show up every single time I create a project from that template. It appears I can customize them in the template but when I create the project they do not transfer over. Template: See below how the columns in order are : Task, Owner, Status, Assigned, Website URL, Blog H1..etc. When I create a project from that same template it comes out as: Task, Owner, Status, Tags, Start Date, End Date, etc
Ask the Experts 24: Analytics, data administration, and mobile experience with Zoho Desk
Hello Everyone! Welcome back to the Ask the Experts(ATE) series! We were so focused on our Autumn 2025 release that we didn't host an ATE session last month. In this month's ATE, we'd like to expand our areas for discussion: we'd like to listen to your
Multi-Page Forms in Zoho Creator!
Let’s make long applications easier to handle by dividing them into pages, adding a progress bar, and guiding users step by step through complex data entry. This would be a total game-changer for the user experience and could significantly boost completion
Unable to Receive Emails on Zoho Mail After Office 365 Coexistence Setup – Error: 553 Relaying Disallowed
Hello, My domain name is bigniter.com, and I’ve been using Zoho Mail as my email service provider without any issues. Recently, I followed the steps outlined in the Zoho documentation to enable Coexistence with Office 365: 🔗 https://www.zoho.com/mail/help/adminconsole/coexistence-with-office365.html#multi-server
Email login error
Login successfully but email page error
Shared Mailboxes Disappeared
Zoho Mail users in our company haven't been able to see their Shared Mailboxes for the past few hours. I've checked with App and Web Access, but they can't access them. When I send emails to their addresses, I get no error messages. They're still visible
Remote Server is misconfigured
Dear Team, I am unable to use email id as remote server is misconfigured. It would be really great if you could help on this and get this resolved. Thanks & Regard Rohit Gupta
why cant i access my email account. it keeps asking me for reverifiying my account by entering my password.
I cant access my account. it keeps asking me for reverifcaton by entering my password. once its entered it asks for it over and over.
Free webinar alert on October 16 - Less Complexity, More Security: Workplace + Directory
Hello Zoho Workplace Community! Security and productivity shouldn't be at odds—and with Zoho, they're not. Discover how Zoho Workplace + Directory delivers seamless collaboration with enterprise-grade security, all in one integrated ecosystem. Join our
Next Page