Hello Everyone,
This week’s edition focuses on configuring a custom function within Zoho Desk to streamline time tracking within the Blueprint. In this case, we create a custom field, and request the agent to enter the spending time within the single line field and then move to the next status within the blueprint. This entry updates under the Time Entry tab within the ticket.
Businesses rely on automated time entry to track time, but certain workflows require manual input. For example, ZylkerTechFix, a company specializing in hardware servicing and repairs, needed a precise way to log time spent on servicing devices across departments.
After an initial assessment, the support team transfers the ticket to the Engineering team. The time taken for servicing varied based on the complexity of the issue. To ensure accurate tracking, agents were required to manually log the time spent at this stage. A custom single line field was added to capture this information, and the organization flow was integrated into a Blueprint, making it seamless for agents and transparent for customers.
Let's go through setting up a Blueprint with a custom function that allows agents to manually log the time spent in a specific status once they've completed the process. This helps track time at each stage, improving efficiency and customer communication.
Prerequisites
Create a connection
1.1 Go to Setup(S) and choose Connections under Developer Space.
1.2 Click Create Connection.
1.3 Select Zoho OAuth under Default Connection.
1.4 Set the connection name as desk_connection.
1.5 Under Choose Scopes, choose the below scope values:
Desk.tickets.READ
Desk.tickets.UPDATE
1.6 Click Create and Connect.
1.7 Click Connect.
1.8 Choose the Zoho Desk's organization to connect with Deluge, and click Submit.
1.9 Click Accept.
Connection is created successfully.
Create a custom single line field
a. Navigate to Setup >> Customization >> Layouts and Fields.
b. Select Tickets module and the Department in which you will configure the Blueprint.
c. Click on the layout. Add single line field which has the field value length of 255. Give the Name – Spending Time.
This single line field is for the agent to manually enter the time taken to handle this ticket. Enter the time in this format HH:MM:SS (eg: 02:15:30) .
Configure Custom Function within the Blueprint
Create a Blueprint with the required transitions for your process.
1. To create a Blueprint, go to Setup >> Automation >> Blueprint.
2. Choose the department (the same department where you created the custom field) and click on Create Blueprint.
3. Give a desired name under Blueprint Name and description.
4. Choose Tickets under the module and let the Field be Status.
5. Add Criteria as Specific records/All records as required.
6. Add Advanced configuration as required.
7. Click Next.
8. Drag and drop the required States for your organization flow. Connect the different states
9. Click on the + icon between the states to add a transition. Give a Name and Description for the transition.
10. Click Add transition
Within Transitions
11. Under Before, add the Agents whom you would like to give access to the Blueprint.
12. Add Transition Owner from a Different Department, Choose Department and Criteria if required.
13. Under During, click on Add Operations >> Fields >> choose Spending Time. This will be marked validation and Mandatory.
14. Under After, click on New next to custom functions.
15. Under Configure Custom Function, enter Name and Description.
16. In the script window, insert the Custom Function given below:
- // ----<<<< User Inputs >>>>----
- // --- Replace ".com" with appropriate domain extension based on customer's location/DC ---
- deskURL = "https://desk.zoho.com";
- customFieldAPIName = "cf_"; // Replace the custom field API Name
- orgId = "";// Replace the org ID
- // ----<<<< Initial Configs >>>>----
- logs = Map();
- logs.insert("ticketId":ticketId,"timeEntryValue":timeEntryValue);
- //---------------------------
- try
- {
- // --- Perform the time calculation tasks ---
- executedTime = toText(now,"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'","GMT");
- timeEntryValueList = timeEntryValue.toList(":");
- logs.insert("timeEntryValueList":timeEntryValueList);
- secondsSpent = timeEntryValueList.get(0).toNumber() * 3600 + timeEntryValueList.get(1).toNumber() * 60 + timeEntryValueList.get(2).toNumber();
- logs.insert("secondsSpent":secondsSpent);
- getHistory = invokeurl
- [
- url :deskURL + "/api/v1/tickets/" + ticketId + "/history?operationName=Blueprints_History"
- type :GET
- connection:"desk_connection"
- ];
- agentId = getHistory.get(0).get("agentId");
- logs.insert("getHistory":getHistory);
- createTimeEntry = invokeurl
- [
- url :deskURL + "/api/v1/tickets/" + ticketId + "/timeEntry"
- type :POST
- parameters:{"executedTime":executedTime,"secondsSpent":secondsSpent,"ownerId":agentId} + ""
- connection:"desk_connection"
- ];
- logs.insert("createTimeEntryApiResponse":createTimeEntry);
- update = zoho.desk.update(orgId,"tickets",ticketId,{"cf":{customFieldAPIName:""}});
- logs.insert("Update":update);
- }
- catch (errorInfo)
- {
- logs.insert("errorInfo":errorInfo);
- }
- info "logs: \n" + logs;
- if(logs.containKey("errorInfo"))
- {
- throws "Error happen in the CF execution";
- }
17. Click on the Edit Arguments in the script editer window, give a desired Method Name. Map the arguments as below:
17.1 In the Argument Name field, type ticketId and select Ticket Id in the Tickets Section.
17.2 In the Argument Name field, type timeEntryValue and select Spending Time in the Tickets Section. Click Done.
NOTE
a. In Line 3, replace .com in the address with .in/.eu/.ca based on your DC.
b. In Line 4, enter the API name of the custom field.
To fetch the API name, go to Setup (S) → Customization → Layouts and Fields. Select the department for which you've configured this blueprint under Tickets module. Select the layout, click on the gear icon(Field settings) of the custom field and select Edit properties. Copy the API name under Edit field and paste it in line 4 of the code.
c. In Line 5, enter the Org ID. Go to Setup >> Developer Space >> APIs. Under API Plan Details, you will fine the metric Org ID and its Values. Copy the value and paste it in line 3.
18. Click on Save & Complete Blueprint.
19. Click Yes, Proceed.
Your configuration is complete.
In the ticket, when the agent chooses to move to the next transition, the spending time values has to be entered by the agent in the format HH:MM:SS. Once the value is entered, the ticket proceeds to the next transition.
You can utilize the custom field "Spending Time" across multiple transitions too. Each time a transition occurs, the field resets, allowing users to input the time spent during subsequent transitions.
Please share your thoughts and understanding of how the Blueprint feature has helped your business. If you need help with Blueprints, our mailbox is open to hear you: support@zohodesk.com.
Until the next post,
Lydia | Zoho Desk
Recent Topics
Is it possible to edit placeholder text?
In the master slides I want to make sure my templates have more meaning for the users and want to replace the standard placeholder text with something more instructional. Instead of "Click to edit Mast subtitle styles" I want to have "Click to enter reporting
Delay function execute
I've got a workflow which uses a webhook to send information to Flow, which in return updates a record in Creator. Problem is, by the time this has executed, the rest of my script has run and can't find the (yet to be) updated info in the record. Is there
How to allow download of a file AFTER information is collected?
I can't find this anywhere. Can someone help with what seems to be a pretty basic web function today? - File is stored in Workdrive - Prospect goes to a URL where the file is located - System requests prospect to enter "Name" and "Email" - An email is
Add Baseline methods to API
There are no API methods for creating or querying baselines, Use case: Customer is notified of the current project start date according to plan via another product/integration. We would like to auto create a baseline (Automated via API) at the point
Bulk Fill In & Edit PO/Bill/SO/Invoice
Hello, I am adding stock in bulk on a PO, the system is automatically populating the Rate (price) and Tax from the item data. Problem is that the bill rate is different from the rate on the item data, so I have to manually erase each and enter the price.
Fixed Assets beg balance
Hello, I trust you are well I'm a new zoho books user and I find it difficult to plug in the fixed assets balance and here's what I have done: 1- I imported the fixed assets data into the fixed assets module as per the instructions 2- the import process
Syncing with Google calendar, Tasks and Events
Is it possible to sync Zoho CRM calendar, task and events with Google Calendar's tasks and events. With the increasing adoption by many major tool suppliers to sync seamlessly with Google's offerings (for instance I use the excellent Any.do task planning
CRM Deluge how can link attach file with workdrive file.
Hi, We have create file at workdrive and would like to link to attachment at crm module by deluge. Right now can only upload it to attachment but can not link the file from workdrive. Thank you
Feature announcement: AI-powered document generator in Zoho Sign
Hi there! We recently announced manual document creation by offering an editor within Zoho Sign. Today, we are excited to announce AI-powered document generation to help you draft agreements, purchase orders, and other important business documents in
Permanently deleted files
Is there a way to get back permanently deleted files from your account if they were accidentally deleted and no longer recoverable from the recycling bin? I know I am probably screwed but I just figured I would ask.
Shared Mailbox in iOS app
Hi, On the desktop I am using a Shared mailbox for our company's general mailbox that somebody else should be able to view. In the iOS app however I can't find it? Old sources on the internet says this isn't possible but that can't be right? Somebody
Tip #41- Simplify Compliance and Efficiency with Zoho Assist’s Data Cleanup Feature- 'Insider Insights'
Managing device data efficiently is just as important as securing remote access. With Zoho Assist’s Data Cleanup feature, admins can easily remove outdated or unnecessary device records, keeping the console organized and secure. This action is carried
Revenue Management: #6 Revenue Recognition in Professional Services Industry
If you run a consulting firm, agency, or any service-based business, you have a situation where you have signed the contract, maybe even sent the invoice, and have received some initial payments. So, can you consider this as revenue? What if the project
Zoho fsm scheduled maintenance dispatch
Hi, I'm reaching out regarding an issue I'm encountering with the Scheduled Maintenance feature in Zoho FSM. I’m trying to configure it so that it automatically dispatches all maintenance jobs scheduled within the next 150 days, starting from today. However,
zoho.inventory.getRecords returns no records
I running a custom function (Deluge) in Zoho Flow with a connection to Zoho Inventory. To debug the problem, I created the test function below. It returns "Number of contacts fetched: 0". This confirms that there's no issue with the org ID or connection
Zoho Campaigns Event timestamps do not propagate to Zoho CRM
We have integrated Zoho CRM and Zoho Campaigns. But when looking at Contact records, the Campaign event data is missing the actual timestamps: especially when a particular email was sent. They're not in the Campaigns related list, and the cannot be found
Feature announcement - Simplifying document creation with Zoho Sign
Hi there, We are pleased to announce the release of our document creation feature, enabling you to create, edit, and finalize documents like agreements, purchase orders, and contracts without relying on external tools or applications. <br> This
Integrating File Attachments in Zoho Flow Email Notifications
Hi, I would like to be able to send an email once an entry is made in a form, and in this email, I would like to attach a file that has been added to the form using the ImageUpload (or FileUpload) widget. So, I started by creating a flow that will trigger
Zoho Mail SMTP IP addresses
We are using Zoho Mail and needs to whitelist IP for some redirections from your service to another e-mails. You can provide IP address list for Zohomail SMTP servers?
Zoho project purchases
Hi Folks, I think having a purchase module in projects will help in putting together a project p and L. Project wise purchases and expenses. Do let me know your thoughts.
Create Tasklist with Tasklist Template using API v3
In the old API, we could mention the parameter 'task_template_id' when creating a tasklist via API to apply a tasklist template: https://www.zoho.com/projects/help/rest-api/tasklists-api.html#create-tasklist In API v3 there does not seem to be a way to
How can I restore all the deleted Time entries of a Task in Zoho Projects
How can I restore all the deleted Time entries of a Task in Zoho Projects? Query: In Zoho Projects, I cloned a task and deleted the time entries from the cloned task. However, this also deleted the time entries from the original task. How can I restore
Is there a way to make an account inactive in ZoHo Desk
We have a few Clients "Accounts" that we no longer do business with. It would be beneficial for them to not show up in lists. However, we want to go back and view tickets, time, etc.
How to set the value of the Phone field importing contacts in Zoho Desk
Hi everyone, i'm new in Zoho Desk, we're setting up the environment and i'm importing contacts from another CRM using a file CSV and i'm getting a problem with phone numbers (italian): the leading zero is cut away, also if the value is inside double quotes.
Set Custom Icon for Custom Modules in new Zoho CRM UI
Deprecation Notice: OpenAI Assistants API will be shut down on August 26, 2026
I recieved this email from openAI what does it means for us that are using the integration and what should we do? Earlier this year, we shared our plan to deprecate the Assistants API once the Responses API reached feature parity. With the launch of Conversations,
How to center a field inside a section?
I’ve been trying to center a field inside a section in Zoho Canvas. When I align it visually, it looks centered in the editor, but after clicking Save, the field appears misaligned on the actual canvas. I also tried setting the field to full width, but
Kaizen #192 - Implementing Custom Token Persistence in Python SDK
Welcome back to another week of Kaizen! Last week, we discussed how to implement Login with Zoho using OAuth 2.0 and saw how to bring it to life in a real-world application with the Zoho CRM Python SDK. We also discussed how Zylker Academy built a custom
Showing the map along with mileage expense
When you use the GPS to track mileage, it shows you the map of the actual path travelled. It would be very useful and practical to save that map with the mileage expense, so that when the report is created, it provides a map of each mileage expense associated
Enable Validation Rule for Multi-Select Picklist Field
Zoho, Please allow validation rules for multi-select fields.
File Upload field not showing in workflow
Hi, I have added a field on Zoho CRM. I want to use it in a workflow where that particular field is updated based on another field, however it is not showing up in the field list to select it in the workflow. Why is this please?
CRM Custom function updating a module record shows the Super Admin user as the record modifier
Dear Zoho CRM Team, Is there any way to update this so that when a custom function has updated a record the Super Admin user doesn't become the modifier? This happens on the record as a modifier and shows up in the audit logs. It would be more useful
Best practice importing items and matching assemblies
Hi, I was wondering what would be the best practice to import items and composite items (assemblies) From my backup, what should I import first? The items or the composite items? I am on Zoho one, using inventory and books. Kind regards, Sabine
Best way to fetch employee names from Zoho People into Zoho Creator Inventory Stock Form field Employee Name Lookup
Hi Team, I have a requirement in my Zoho Creator application (Inventory Stock Adjustment) where I need to fetch employee names from Zoho People and use them as a lookup in a form. Currently, I am considering using an integration field to fetch this data
get file api is returning Junk data
I am working on extension development where at one point I need to retrieve attachments on records I found out I can use only invokeconnection and not invokeurl in extension development The invoke connection returns the image in raw binary format. When
Need help with message box
End user updates many records at once. Each have unique serial number. They want a confirmation box that says starting number, ending number and qty. Is there any way to do this? I been searching and asking support but seems like no great solution.
[Webinar] The Transformative Power of Gen BI
Traditional decision-making tools are no longer enough. The integration of generative AI into business intelligence (BI) is proving to be a true game changer—enabling businesses to make faster, smarter, and better informed decisions. Early adopters of
Backorder process review - Automating Removal of Sales Order from "On Hold" When PO is Received
Hello Zoho Inventory Team, Currently, sales orders in On Hold status are released only when the bill for the purchase order is created. In our workflow, it would be much more efficient if the sales order could automatically move out of On Hold as soon
How to access the saved Query using API?
I have created a query in setting. Is it possible to access it from a API? What's the endpoint? I tried /v8/queries/important_deals but didnt' work.
création d'une base de données
base de donnee d'un lycée
Next Page