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

    • Excluded transactions in Banking

      Why are the payees not checked when 2 payments are for the same amount to avoid exclusion? If there are 2 ( or more ) payment amounts which are the same then they are automatically excluded, this should not happen unless the payee names are the same
    • Introducing Zia AI in Zoho Show

      AI is no longer a distant concept. It’s one of our everyday tools, from answering casual questions to generating critical business documents. And presentations are one area where AI can be especially helpful. At Zoho Show, we’ve been deliberate in how
    • Plug Sample #10 - Simplify Ticket Management (Zoho Desk) with Chatbots

      Hi everyone! We're here with another simple yet effective plug for your chatbot to integrate with Zoho Desk. When a customer reports an issue/request during chat, it's logged as a ticket on Desk. When they return for updates, you end up searching through
    • Trigger a field rule when Choice Availability reaches 0

      First of all, thanks for shipping the new Choice Availability counter. It solves the basic “stop over-booking” problem. What’s missing, though, is a way to react when an option is sold out. Right now we can only disable/hide the choice; we can’t fire
    • Unattended Access on Android without Play Store

      I'm testing Zoho Assist for remote config and maintenance of our IoT devices. The devices are running Android 8.1 and do NOT have Google Play Store installed, nor can it be installed. I've been able to install Zoho Assist on the devices and load the enrollment
    • Zoho People > Performance Management > Appraisal cycle

      Hello All I am using this 2 users to test out how it work on Performance Management User 1 - Reportee User 2 - Reporting Manager : Li Ting Haley User 1 : Self Appraisal Error How do i fix this error?
    • What's New - June 2025 | Zoho Backstage

      Plans change. People cancel. Tickets get handed off. It happens, and we understand. As an organizer, you need tools that offer flexibility for attendees while protecting your event’s integrity. That’s why we’ve built features to help you manage these
    • Include Article Sync Details in SalesIQ–Desk Integration Notification Email

      Dear Zoho SalesIQ Team, Greetings, We are using the integration between Zoho SalesIQ and Zoho Desk to sync articles from the Zoho Desk Knowledge Base into SalesIQ. As part of this integration, we receive the following email notification: "Your scheduled
    • Naming a Visitor in SalesIQ Messes up First and Last Name

      When I go to Visitor History to manually associate a visitor with a known contact, I press the pencil symbol next to the system-generated ID number. I enter first and last name, then email. Looks good so far. However, when it syncs with CRM, first name
    • Partial Sync

      Hi, got an issue with syncing cards across windows app, web app and iphone app. If I create a card and add some text content then everything syncs across all platforms ok. If I create a card and add an attachment, be it pdf, jpg or movie then the card
    • Related activity records for custom modules

      For default modules in CRM, whenever I create a task for a contact, the task also appears in the record for the parent account. How do I replicate this with custom modules? My specific situation is that I have a custom module as a child module to Accounts.
    • Why Do My Portal Users Can't See Any Data in Reports

      In My zoho crm i have created a button automation which basically is it converts a quote into invoice and sales order , so initially when a person who is my app user submits a quotation form it goes into quote module and record is created and in each
    • Introducing Zoho Commerce 2.0 — It's more than just selling!

      Hello! We are proud to launch Zoho Commerce 2.0, a reimagination of how online businesses look, feel, and function. This launch is both timely and symbolic, as we reaffirm our commitment to empowering small and medium enterprises with powerful, yet simple-to-use
    • Introducing prompt builder in Zoho CRM

      We’ve introduced a new way to put Zia’s generative AI to work—right where your teams need it most. With the all new prompt builder for custom buttons, you can create your own AI instructions to generate tailored content, suggestions, or summaries across
    • Item Batch Creation/Updation

      I have a requirement to integrate a local system with Zoho Books. I need to create items in Zoho Books with batch tracking enabled, but I couldn't find a specific API for that in the Zoho Books API documentation. Is there a dedicated API endpoint to create
    • Education Zoho User Group (ZUG) virtual meetup featuring Zoho Sign

      Hi there! The educational sector often faces the hassle of handling extensive paperwork, which leads to increased operational costs. A digital signature solution like Zoho Sign can help you modernize your processes, go fully digital, and seamlessly collect
    • Troubleshooting Delays in Zoho CRM Automation Workflows for Lead Status Updates

      Dear Zoho Community, I am refining a sales pipeline in Zoho CRM, implemented in May 2025, to enhance efficiency for a small business managing client leads. While the CRM effectively tracks leads, I am encountering delays in automation workflows that update
    • 📣 [Webinar] Spikra shows how businesses leverage Zoho Bookings to increase revenue

      [Webinar] Spikra shows how businesses leverage Zoho Bookings to increase revenue Hi all, Service-based businesses need to be on top of their client experience game to stay ahead. Spikra, one of our Advanced Zoho Partners, has been helping businesses deliver
    • Kaizen #172 - Leveraging the 'crmAPIResponse' Object in Queries

      Hello everyone! Welcome back to another week of Kaizen! We released the Queries feature sometime back and hope you have tried it out. A little gist about this feature before we move on to our post. Zoho CRM's Queries feature enables dynamic data retrieval
    • transforming 1D tables to 2D and the other way round

      Does Dataprep have tools to convert 1D tables to 2D tables and the other way round? The actions that are commonly called "pivot" and "melt". What I mean is transitioning between these two kinds of table: 2D id ____ name ____ surname ____ age 00 ____ Matt
    • How I Migrate data from one SharePoint Tenant to another

      I want to perform SharePoint tenant to tenant migration, but the problem is I don't know how to do so. I’ve heard about different SharePoint Migrator, but I’m not sure which one is the best for this type of migration. Any guidance would be really he
    • Rebrand your CRM with the all-new custom domain mapping setup

      UPDATES TO THIS FEATURE! 19th Jan, 2024 — Custom domain mapping has been made available for portal users in Zoho One and CRM Plus. 23rd June, 2023 — Custom domain mapping has been made available for all users, in all DCs. Hello everyone! We are elated
    • authentication

      We cannot connect via IMAP. We are receiving the following error: Error: You are yet to enable IMAP for your account. Please contact your administrator (Failure)
    • Bad User: Authenticated but not connected

      Zoho CRM cannot send/receive emails and it appears as if it may be an api configuration change either via Zoho or MS. Does anyone have information on how to fix this error message? I am admin on all my accounts. Zoho and MS are blaming each other.
    • Edit email address that appears on invoice

      Hi How do I change the email address that appears on invoices, it is showing the email address that i used to sign up to zoho with but I want to change it to another email address that we use for accounts. also is there a way to edit the position of a
    • Zoho Tasks - Add Sorting by Priority

      We are able to Group by and Filter by Priority but for some reason we can't Sort by Priority on the Task lists. Please allow for sorting by priority if the current view is not grouped by priority.
    • customize payment page

      Is there a way to customize, other than the theme colour, the payment page that customers are taken to from invoices? I can't seem to find a way. I just don't like the formatting of the current page and would like to make it look better. I've looked at
    • Zoho People > Candidate Form > error Editable Primary Lookup is needed to set add permission

      Hello All I have try to turn on the add feature in the candidate form It show the error Editable Primary Lookup is needed to set add permission What is missing from my side?
    • 6 time-saving tips for working with tables in Zoho Writer

      Tables have always been the best way to represent data. They help you structure and categorize information systematically and present them in a simpler way. While tables in Zoho Writer are easy to implement, some tasks might not be that obvious.  Here are some time-saving tips to help you work better with tables in Zoho Writer:    1. Insert Multiple Rows / Columns in a Table Adding more rows and columns is the most common action performed while working with tables. Instead of using the Table tab,
    • Add Built-in "Partner Finder" / "Contractor Directory" Tab to Zoho Desk Help

      Hi Zoho Team, We hope you're doing well. We would like to request a new feature for the Zoho Desk Help Center: A built-in, configurable "Partner Finder" / "Contractor Directory" tab or section, similar in concept to your own Zoho Partner Finder at: 🔗
    • Can't get sender adress to work

      Hi, I am having some trouble getting the sender adress to work for responses on tickets. I would like to configure a sender adress that is different from the zohodesk emailadress that is normally used. These are the steps I have followed: 1. Add a new
    • Question Regarding Deleted Reports in Zoho Desk Analytics

      Dear Zoho Desk Support Team, I hope this message finds you well. We have a question regarding the Analytics module in Zoho Desk, specifically related to deleted reports/dashboards. We would like to understand the following: Is there a recycle bin, recovery
    • Add an option to start zobot when user clicks the Chat with Us button

      I would like to have an option to start the zobot when user clicks on "Chat with us" button when chat widget is maximized that way visitors could see first the homepage and decide which channel they would like to use to connect, or to see the quicke help
    • Zoho Books - Feature Request - Provide "Show PDF View" toggle on Invoice records

      I have noticed it is possible to activate or deactivate the PDF preview on some records but not all. This would be very helpful on Invoices when a custom template is being used and the PDF preview does not represent the output file. Not available on:
    • Incorrect Handling of XLSX data

      Trying to import an XLSX schedule of bills into Zoho Books I ran across the problem of date formatting. To replicate: Build a CSV file with bill dates in whatever format you like and import it - this should work if you match the "dd/MM/yyy" etc. format
    • Disable Smart Filters By Default

      The smart filters "feature" is causing confusion for Zoho Mail users. New emails should be delivered to the inbox unless they have specifically opted to redirect them somewhere else. People don't understand that new emails might be waiting in a random
    • Adding Columns to Reports

      Hi, Is it possible to choose fields to be added as columns in the reports? Thank you.
    • How do I automatically assign the project owner for all tasks in Zoho Projects?

      I have been researching for days on how to automatically assign all the tasks to the project owner on creation of the project in Zoho Projects. I have been having to go in and manually change all the task owner from 'unassigned' to the owner of the project
    • CRM Kiosk - Action for GetRecords

      I have a Kiosk screen with GetRecords and want to use the selected records in a custom function. My particular case is to set a lookup value on the selected records. Generally speaking though, I want to work with the selected records in a function. I
    • Extract Archived Projects using Zoho Projects API

      In my organization we archive the projects when they are already completed, charged, invoiced, so that only those that are still pending process remain active. I need to access all projects (active and archived) from an external system, but the API v3
    • Next Page