Tip 24: How to generate a file preview in a report without downloading it.

Tip 24: How to generate a file preview in a report without downloading it.

Hi folks,


This month we will teach you how to preview a report file before sending it to someone or sending it for approval. While viewing reports in Zoho Creator, users cannot access or preview files uploaded through the File Upload field without downloading them. 

 

In this tip, we'll show you a way to do this.




Key concept:

The best way to achieve this function is to preview the uploaded file's content using the Add Note field in a stateless form (pop-up window) based on the record ID.  


Use case:

Let's use the example of Candidates applying for a job, where candidates have to fill in their details using the Job Application form. Their information will be displayed on the Candidates Details report, a list report with a button on every record. The admin can use these buttons to preview resumes without downloading them.

Application flow:

 

1. Candidates enter their information using the Job Application form.
2.  Whenever the admin accesses the Candidates Details report, they can preview all the submitted resumes with the click of a button.

Requirements:
  1. A Job Application form with fields Name, DOB, Contact Number, and Resume (File Upload field)
  2. A Stateless form (Please refer to the help article here to learn how to create a stateless form.)
  3. A Candidates Details report to view all the candidate information
  4. Custom action buttons to preview the resumes


Step 2: Create the stateless form with the following fields:
  • Parent Record ID:  Number Field  
  • Notes: Add Notes Field
NOTE: Please ensure that the maximum digits allowed in the Number field is 19 as we will be using this field to store record ID values for Zoho Creator. These will be 19-digit numbers.

Step 3: Create a custom action button for each record to open the stateless form
Follow the steps below to create a custom action that will help you pass the current Record ID as a parameter to the Number field in the stateless form.
  1. Edit the application.
  1. Access the Candidate Details Report.
  1. Click Edit this application.
  1. Click Configure Fields for Web.
  1. Click Add Fields, then select Add New Button.







Configure the button by clicking Create a new function with the code below.
  1. Void preview_function(int id1)
  1. {
  1. openUrl("#Form:<Stateless_Form>?<Number>=" + input.id1,"popup window");
  1. }
where,
Stateless_Form - The link name of the target stateless form
Number - Deluge name of Number field on the stateless form
id1 - argument to be associated with the ID of the actual form

Now, let's associate id1 as an argument to the Record ID.


The function above would open the stateless form and pass the current Record ID value to the Number field in the stateless form.
Step 4: Create a workflow to preview the uploaded file using the stateless form
Let's create a workflow based on the stateless form to fetch the file related to the Report ID, which is passed as a parameter to the Number field as mentioned below. 

Configure the code below in the On Load workflow of the Preview Data form (stateless form).
  1. Hide <Number>; 
  1. fetch_file = <Form>[ID == input.<Number>].<File>.content;
  1. Input.<Notes_Field> = fetch_file;
where,
Form - the form in which the file exists
Number - Number field in the Stateless form
File - the File Upload field in the Job Application form
Note: We are hiding the Number field using the "hide <field_name>" syntax. It's used to populate IDs for backend validations, which shouldn't be visible when the user accesses the form.

Step 5: Configuring the button with a workflow to close the pop-up window
As we all know, by default, a stateless form would have two button options:

1. Submit
2. Refresh

Since we are not going to perform any form submissions, we can delete that option. Then, we can add a new button and name it "Close." This can be used to close the pop-up window that will open to preview the file.

Create a workflow of the form Stateless > Button Click > Close.
  1. openUrl("#script:window:close,"same window");
Note: This can be used for the file upload field data of a type file. If you like to preview images, you can use Image fields. 
File types that usually contain only text values (for example, .txt, .csv, etc.) will return the content accurately. File types that usually contain images (for example, .pdf, etc.) will return junk values.

We hope this tip was interesting for you. If you have any questions, feel free to ask in the comments below, and we'll be happy to address them soon!







    • Recent Topics

    • Move email between inboxes?

      Is it possible to move emails from one team inbox to another? We would like to be able to have a single "catch-all" inbox for incoming requests, and then move the email to the appropriate department inbox. I was hoping we would be able to accomplish this
    • Updating records through Zoho Sheets View doesn't update timeline or trigger workflow rules

      I have noticed that when i update a series of record with the zoho sheets view (see here http://d.pr/i/ahnR) it doesn't update timeline history or trigger workflow rules. I am using it in the Deals module. Looking forward for some more info. Denis
    • Manage control over Microsoft Office 365 integrations with profile-based sync permissions

      Greetings all, Previously, all users in Zoho CRM had access to enable Microsoft integrations (Calendar, Contacts, and Tasks) in their accounts, regardless of their profile type. Users with administrator profiles can now manage profile-based permissions
    • inability to use different primary address on invoice per location

      my company operates in two different locations with different email address. The problems then is the inability to edit the primary to suite the invoice for the second location.
    • AI Search and Record Retrieval Inside Zoho Creator – Is This Possible?

      Is it possible to integrate an AI assistant into Zoho Creator that can intelligently search, retrieve, and analyze records within the application’s forms and reports? Can AI access and query existing Creator data securely using Deluge or APIs to provide
    • Rename Service Report

      Some of our customers are requesting the name of the service report PDF to be in a specific format, for example, instead of REP-001.PDF some are requesting to include their name like customername.pdf. is that possible?
    • AI Search and Record Retrieval Inside Zoho Creator – Is This Possible?

      Is it possible to integrate an AI assistant into Zoho Creator that can intelligently search, retrieve, and analyze records within the application’s forms and reports? Can AI access and query existing Creator data securely using Deluge or APIs to provide
    • Scheduled AU Data Center Database Version Upgrade for Zoho Forms

      Dear Zoho Forms' users, We would like to update you on a scheduled AU Data Center database version upgrade for Zoho Forms. Find the schedule below: Migration window: Sunday, 22nd February 2026 12.00 AM to 12.30 AM AEDT This migration is a part of our
    • Cannot get code to work with v2.mergeAndStore!

      Please can someone help me pass subform items into a repeating mail merge table row using v2.mergeAndStore? I have a mail merge template created in Writer and stored in Workdrive. This template is referenced by a custom CRM function which merges all of
    • Hotmail is blocking the zoho mail IP

      Greetings, Since last Tuesday (5 days ago today) I wrote to Zoho support and I still haven't received a single response (Ticket ID: 2056917). Is this how you treat people who pay for your email service? I am making this public so that those who want to
    • Zoho Bookings and Survey Integration through Flow

      I am trying to set up flows where once an appointment is marked as completed in Zoho Bookings, the applicable survey form would be sent to the customer. Problem is, I cannot customise flows wherein if Consultation A is completed, Survey Form A would be
    • Zoho CRM Community Digest - December 2025 | Part 2

      Hello Everyone! During the final weeks of December, Zoho CRM introduced updates that not only enhanced product capabilities but also offered deeper guidance through Kaizen posts. This section highlights what was released and shared in the last two weeks
    • CRUD actions for Resources via API

      Hello, is it possible to perform CRUD actions through the API for Resources? We want to create a sync from Zoho CRM Car record to Bookings resources to create availabilities for Car bookings. For Test drives, not only the sales person needs to be available,
    • Kaizen #186 : Client Script Support for Subforms

      Hello everyone! Welcome back to another exciting Kaizen post on Client Script! In this edition, we’re taking a closer look at Client Script Support for Subforms with the help of the following scenario. " Zylker, a manufacturing company, uses the "Orders"
    • Unable to Assign Multiple Categories to a Single Product in Zoho Commerce

      Hello Zoho Commerce Support Team, I am facing an issue while assigning categories to products in Zoho Commerce. I want to assign multiple categories to a single product, but in the Item edit page, the Category field allows selecting only one category
    • オンライン勉強会のお知らせ Zoho ワークアウト (2/19 参加無料)

      ユーザーの皆さま、こんにちは。コミュニティチームの中野です。 2月開催のZoho ワークアウトについてお知らせします。 今回はZoomにて、オンライン開催します。 ▶︎参加登録はこちら(無料) https://us02web.zoom.us/meeting/register/6AyVUxp6QDmMQiDGXGkxPA ━━━━━━━━━━━━━━━━━━━━━━━━ Zoho ワークアウトとは? Zoho ユーザー同士で交流しながら、サービスに関する疑問や不明点の解消を目指すイベント「Zoho
    • doubts about customer happiness in zoho desk

      Good afternoon, Desk community. The reason for my message is that I have a question regarding the customer satisfaction surveys we can ask our clients to rate our service. I know that in Desk, you can activate Customer Happiness to send a survey to the
    • COQL API in JS Widget only pulling 200 records

      Hello! We've been building a custom homepage widget using the Zoho JS SDK, and it seems that this https://help.zwidgets.com/help/latest/ZOHO.CRM.API.html#.coql only allows 200 records. I thought the limit was 2000 for COQL queries, but am I mistaken?
    • Standard Description Field - Can I change label or add dd tooltip

      Is there a way fo you guys to allow the customer to change the label name for the description field in the customer portal when submitting tickets. Or at least allow us to add a tooltip to clarify what description we need from them. I know I can create my own separate multi line description field but if I do that, it doesn't have the nice toolbar with Bold, Italic, Underline, color, font, indent, etc. Can you please allow us to add a tooltip to the zoho standard description field?
    • Introducing parent-child ticketing in Zoho Desk [Early access]

      Hello Zoho Desk users! We have introduced the parent-child ticketing system to help customer service teams ensure efficient resolution of issues involving multiple, related tickets. You can now combine repetitive and interconnected tickets into parent-child
    • Ability to CC on a mass email

      Ability to CC someone on a mass email.
    • Different Task Layouts for Subtasks

      I was wondering how it would be possible for a subtask to have a different task layout to the parent task.
    • Shift Question

      Can someone explain why it says weekend during Monday-Friday? Manager set Zoho up and has handed over to me and I can't get figured out how to change this.
    • Compensation | Salary Packages - Hourly Wage Needed

      The US Bureau of Labor Statistics says 55.7% of all workers in the US are paid by the hour. I don't know how that compares to the rest of the world, but I would think that this alone would justify the need for having an hourly-based salary package option.
    • Customizing Helpcenter texts

      I’m customizing the Zoho Desk Help Center and I’d like to change the wording of the standard widgets – for example, the text in the “Submit Ticket” banner that appears in the footer, or other built-in widget labels and messages. So far, I haven’t found
    • Ability to Edit Ticket Subject when Splitting a Ticket

      Often someone will make an additional or new request within an existing ticket that requires we split the ticket. The annoying part is that the new ticket maintains the subject of the original ticket after the split so when the new ticket email notification
    • Automatically Update Form Attachment Service with Newly added Fields

      Hi, When I have a Form Setup and connected to a 3rd Party Service such as OneDrive for Form Attachments, when I later add a new Upload Field I have to remove and redo the entire 3rd Party Setup from scratch. This needs to be improved, such as when new
    • Reopen ticket on specific date/time

      Is there a way that we can close a ticket and setup a reopen of that ticket on a specific date and time? (without using the "on hold" ticket option)
    • API credit COQL COUNT

      The docs describe API credits in COQL from the LIMIT perspective: https://www.zoho.com/crm/developer/docs/api/v8/COQL-Overview.html When using aggregate functions such as `COUNT` or `SUM`, is that billed as 1 API credit?
    • Weekly Tips : Save Time with Saved Search

      Let's assume your work requires you to regularly check emails from important clients that have attachments and were sent within a specific time period. Instead of entering the same conditions every time—like sender, date range, and attachments included—you
    • Remove 'This is an automated mail from Zoho Sign' in footer

      Hi there, Is it possible to remove or change the text under the e-mail templates? I can't figure out how to do that: Would love to hear from you. Kind regards, Tristan
    • Organize and manage PDFs with Zoho PDF Editor's dashboard

      Hello users, Zoho PDF Editor's dashboard is a one-stop place to upload, sort, share PDF files, and more. This article will explore the various capabilities that Zoho PDF Editor's dashboard offers. A few highlights of Zoho PDF Editor's dashboard: Upload
    • Custom function return type

      Hi, How do I create a custom deluge function in Zoho CRM that returns a string? e.g. Setup->Workflow->Custom Functions->Configure->Write own During create or edit of the function I don't see a way to change the default 'void' to anything else. Adding
    • Passing Info from Function to Client Script

      Hello, I have recently started making use of client script for buttons, allowing me to give the user information or warnings before they proceed. This is great. However, I have never quite managed to pass back any extra information from the function to
    • Drag 'n' Drop Fields to a Sub-Form and "Move Field To" Option

      Hi, I would like to be able to move fields from the Main Page to a Sub-Form or from a Sub-Form to either the Main Page or another Sub-Form. Today if you change the design you have to delete and recreate every field, not just move them. Would be nice to
    • Zoho Payroll for Canada

      Is anyone else having problems getting setup for Canada?
    • Passing the CRM

      Hi, I am hoping someone can help. I have a zoho form that has a CRM lookup field. I was hoping to send this to my publicly to clients via a text message and the form then attaches the signed form back to the custom module. This work absolutely fine when
    • One Contact with Multiple Accounts with Portal enabled

      I have a contact that manages different accounts, so he needs to see the invoices of all the companies he manage in Portal but I found it not possible.. any idea? I tried to set different customers with the same email contact with the portal enabled and
    • User Automation: User based workflow rules & webhooks

      User management is an undeniable part of project management and requires adequate monitoring. As teams grow and projects multiply, manual coordination for updating users & permissions becomes difficult and can give way to errors. User automation in Zoho
    • Disable Zoho Contacts

      We don't want to use this app... How can we disable it?
    • Next Page