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

    • Add export option that only export one or selected notebooks

      Currently the export function will export ALL data every time, this not only wastes user bandwidth, disk I/O and local storage space, but also consumes more resources on the server. Partial export should be a very basic and easy-to-implement feature.
    • Make other sub fields mandatory, if first subfield is not empty

      I am not finding an option in the rules to make other sub fields mandatory if the first sub field is not empty. I am using the name field to collect parts info, with sub fields of Part Name, Part Number, and Quantity. But I don't want these mandatory
    • Is Zoho Marketing Plus part of Zoho One?

      Hi, Is the new fancy Zoho Marketing Plus part of the Zoho One package? Is there any benefit in using this rather than the standalone products? Many thanks Jon
    • Ability to Initiate WhatsApp Template Messages in Zoho SalesIQ Without Preexisting Chat

      Hi Zoho SalesIQ Team, I hope you're doing well. I understand that with the WhatsApp integration in SalesIQ, clients can contact us via WhatsApp, and we can use WhatsApp templates to send messages outside of the 24-hour window by reopening an existing
    • Duplicating Forms doesn't duplicate Forms attachment path to workdrive

      Hi, I have this user, who uses one forms and duplicates it when needed and update the content. For him, it's important to have the submission forms saved in a specific folder inside Workdrive (as this PDF is transmitted later to another team). However,
    • Zoho Creator Mobile app no Default Workspace

      When I use the Zoho Creator mobile app I do not get a default workspace. This is occurring for me and another new user. I believe this is an issue with Zoho One / Zoho Creator. I have tried working with support and it's been over a week of no solution
    • Kaizen #189: Manipulating Multi-Module Lookup (MML) Field using Zoho CRM APIs

      Hello everyone! Welcome back to another week of Kaizen. In this post, we explore the Multi-Module Lookup (MML) field in the Appointments module of Zoho CRM. You learn what an MML field is, how it works, and how to use it with Zoho CRM APIs. Table of Contents:
    • Xcode 16.2

      I am facing multiple bitcode enable issue with Zoho. Which version is compatible with xcode 16.2 or version with out bitcode Flutter 3.27.4 pod 'ZohoDeskPortalCore' pod 'ZohoDeskPortalServices'
    • Unable to invite contacts

      Hi! I'm unable to invite contacts as end-users from my trial account. The green pop-up displays "Invited succesfully" but the email never arrives, nor the re-invitation - even though it's "sucessfully" as well. Tried with several e-mail accounts, even
    • Set expiration date on document and send reminder

      We have many company documents( for example business registration), work VISA documents. It will be nice if we can set a expiry date and set reminders ( for example 90 days, 60 days, 30 days etc.,) Does Zoho workdrive provide that option?
    • Refresh Page Or View After Workflow-Triggered Rule

      Good Morning, Is this feature that's discussed on this CRM thread available on Recruit? https://help.zoho.com/portal/en/community/topic/refresh-page-or-view-after-workflow-triggered-rule
    • Forward, attach, or flag email to an open ticket.

      Hi, when resolving customer requests through tickets in Zoho Desk, it is very common to receive emails from suppliers or third parties in Zoho Mail accounts or email groups that are not registered in the system. Is there any way to forward these emails
    • Need help adding Zoho Vault License

      "Proceed" is grayed our when i try to add 5 more license on our Zoho Vault account. Thanks
    • Notifications no longer being sent to my email address for any scheduled events

      The last few weeks, I stopped receiving email notifications to my email for events I have scheduled and have a selected reminder option checked.
    • 'call for best price' option

      Hi guys, Pricing of items that we sell to end-customers changes often, so I don't want to put up a 'static' price, but would like to have the option to 'call for best price', or what-ever the best wording is.. Has anybody got a suggestion on how to do
    • Modifying product search in invoice field

      Hello, I imported my product list in Books. Since I have many products with the same name, but with different order units, and that Books doesn't permit same names in items, I used ID's number has product name, and put the product name in the description.
    • How do I embed the webinar into a webpage?

      All I can seem to do is embed the signup form. This is cheesy. Surely they must have fixed this by now, right? How do I do it?
    • Bulk upload image option in Zoho Commerce

      I dont know if I am not looking into it properly but is there no option to bulk upload images along with the products? Like after you upload the products, I will have to upload images one by one again? Can someone help me out here? And what should I enter
    • 404 Error When Using record_cursor in ZOHO.CREATOR.DATA.getRecords (js api)

      Iam working on fetching all records from a Zoho Creator report using the Get Records API (V2.1) with the following recursive function: js CopyEdit // Recursive function to fetch records using record_cursor from the response function fetchAllRecords(recordCursor
    • Add haptic feedback when QR / barcode is scanned

      Hi, One of my user has a Creator App and scan QR codes. He suggests a haptic feedback is a great addition to validate that the QR code is effectively scanned and inserted in to the field. He is using an iPad for scanning. Thank you !
    • Input list of records in Lookup

      Salut, I have 2 scripts that input list of records in a lookup. The first on works fine, the second one doesn't and I do not know why. The only differences, is that the first one input in a lookup a list of records from an actual lookup field, and with
    • Are downloadable product available in Zoho Commerce

      Hi all. We're considering switching to Zoho Commerce for our shop, but we sell software and remote services. Is there a features for downloadable products? I can't find any information about this. Thank you very much Alice
    • Parent-Child Tickets using API or Deluge

      Hi Everyone, We are looking at the parent-child ticketing features in Zoho Desk. We want to be able to create a parent ticket at customer level and nest child tickets underneath. The issue we are facing is to be able to automate this. I'm checking the
    • In line code commenting in Deluge

      A request to enhance readability: currently you can add 'in line' comments for Deluge code, but after you save and reopen, the comments are moved down to the new line. i.e. info "test response"; //this is a info statement for a test response gets changed
    • Delete purchase order

      Buenos días, quisiera su ayuda para retirar los documentos adjuntos, ya que necesito iniciar sesión nuevamente para la venta de unos vehículos.
    • Zoho One Groups and Departments - how are they used ?

      I've seen that Zoho One has the ability to create Groups and Departments, however they don't seem to do anything ? There is no ability to pick up these same groups in ; Zoho Analytics, Zoho Forms, Zoho Vault for just starters . Why aren't the Zoho One
    • Introducing Zoho CRM for Everyone: A reimagined UI, next-gen Ask Zia, timeline view, and more

      Hello Everyone, Your customers may not directly observe your processes or tools, but they can perceive the gaps, missed hand-offs, and frustration that negatively impact their experience. While it is possible to achieve a great customer experience by
    • Automate Note Creation for Service Appointments

      Hi Latha, I hope you're doing great. Thank you for your continued support in helping resolve previous issues — it's truly appreciated. I'm currently working on automating another workflow using Deluge in the Service_Appointment module. Specifically, I
    • Date & Time Field | Minimum 24 hour notice.

      I'm trying to use Zoho Forms to build a booking request form. I have the date and time field selected as the field users can select their booking time for. My issue is I need a minimum of 24 hour notice for each appointment. I have it sent to only future
    • I can't understand Quiet Mode

      I want to set my Zoho mail notifications to only show during set times. I only want to see my notification pop-ups from 9am-5pm Monday-Friday. Or, in another words, I don't want to receive pop-up notifications between the hours of 5pm and 9am and for
    • Add Desk Account comments using Flow

      The triggers and actions for Zoho Desk available in Flow are quite extensive, but I don't see anything related to Account-level Comments. There are actions to add comments to Tickets, Contacts, Tasks, and Topics, but nothing for Accounts. Am I missing
    • Add subform record on data import

      I have some data pulled from analytics. I also have a "Projects" form with an "Assignments" subform linked to the "Assignments" form (not a blank form). Now when I edit a Project record, I can add new assignments manually and it will add the records in
    • Update Main Form Date with Most Recent Subform Submission Date

      Hello, I have a field in my main form (equipment info) with the "date of last equipment inspection". I have a subform (equipment inspection) That wheen submitted for a piece of equipment I would like the submission date of the subform (equipment inspection)
    • Need Help with MX Record Verification

      Dear Zoho Mail Support Team, I’m setting up Zoho Mail for my domain "nexiumdynamics.com" and have already added the MX, SPF, and DKIM records as instructed. The domain DNS is managed through Odoo. However, the MX record verification on Zoho Mail is still
    • ¡Participa en los Zoholics Awards 2025!

      ¿Tu organización utiliza el software de Zoho de una forma innovadora? ¿Has logrado resultados dignos de noticia con nuestras aplicaciones? ¿O tienes un caso de uso especial de Zoho que te gustaría compartir con el mundo? Si es así, ¡este es tu momento
    • Email Stuck in "Retry Queue" – Host Not Reachable

      Hello everyone, I’ve been encountering an issue when trying to send emails. Although the email appears in my Sent folder, it doesn’t reach the recipient, and I see the following status: In Retry Queue Temporary failure when delivering email to the recipients.
    • Identify, Qualify and Retarget Potential Leads Using Zoho SalesIQ & Campaigns

      Finding the right leads can often feel like guesswork. Because not all your website visitors are worth targeting — some may just be browsing, while others may have landed in there by accident. So how do you filter out the noise and focus on those who
    • Company with ZohoOne, notebook ask to upgrade to collaborate in notecards.

      Hello, we as a company have ZohoOne as our Zoho choice, but Zoho Notebook asks us to upgrade in order to collaborate in notecards, is this correct? Acording to what I've read in Zoho Notebook help, it should be included in ZohoOne, can you please clarify
    • Don't Receive Email

      Hi, I would like to report a problem . One of registered email in my organization is info@kedata.id . that email is used to register into MongoDB atlas. But for that case, i have a problem which the email of verification code from MongoDB atlas haven't
    • Possible to reorder Pipelines position?

      I have multiple Pipelines and want to reorder their positions, so that in the Deals module record for the Pipeline field, I have them ordered in a certain way. Is there a way to reorder the position of the Pipelines without deleting existing Pipelines
    • Next Page