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

    • Power of Automation:: Automating SLA Timelines for First Response & Resolution for Issues module.

      Hello Everyone, Ever wished SLAs could update automatically based on issue severity i.e no manual tracking, no missed timelines? That is exactly what one of our customers, Alex, wanted to achieve in the Issues module. So, we have setup a simple automation
    • Power of Automation :: Quick way to associate your Projects with Zoho CRM

      A custom function is a software code that can be used to automate a process and this allows you to automate a notification, call a webhook, or perform logic immediately after a workflow rule is triggered. This feature helps to automate complex tasks and
    • Free webinar! Build smarter apps with Zoho Sign and Zoho Creator

      Hello, Bring the power of digital signatures to the apps you build in Zoho Creator! Connect Zoho Sign as a microservice and enable seamless e-signature workflows in your applications. This integration allows you to automate signing tasks using Deluge.
    • Move orders scan ISBN

      Hi We have ISBN setup to be searched in items zoho but move orders dissent recognize the ISBN is there q missing configuration? regards, JS
    • What's New - October 2025 | Zoho Backstage

      Hey everyone! We’ve been busy rolling out a host of upgrades for Zoho Backstage. While some major features are still going through final rounds of testing to make your event experience smooth as butter, here’s what was new and improved in October 2025.
    • Zoho People Attendance Regularization – Wrong Total Hours Displayed

      While using Zoho People, I observed that the attendance regularization is showing wrong total hours when applied to past dates. For example, if a check-in is added at 10:00 AM and check-out at 6:00 PM for a previous date, the system sometimes calculates
    • Add Flexible Recurrence Options for Meeting Scheduling in Zoho Cliq (e.g., Every 2 Weeks)

      Hello Zoho Cliq Team, We hope you are doing well. Currently, when scheduling a meeting inside Zoho Cliq, the recurrence options are limited to Daily, Weekly, Monthly, and Yearly. There is no ability to set a meeting to occur every X weeks — for example,
    • Subform Disabled Fields Should Remain Disabled on Edit/View

      Currently, when we disable a subform field using on user input or on add new row, it works perfectly during the initial data entry. However, when the record is saved and reopened for viewing or editing, these disabled fields become editable again. This
    • How do you print a refund check to customer?

      Maybe this is a dumb question, but how does anyone print a refund check to a customer? We cant find anywhere to either just print a check and pick a customer, or where to do so from a credit note.
    • What is Resolution Time in Business Hours

      HI, What is the formula used to find the total time spent by an agent on a particular ticket? How is Resolution Time in Business Hours calculated in Zohodesk? As we need to find out the time spent on the ticket's solution by an agent we seek your assistance
    • Hide "Section" headers when using a form as a subform in "List view"

      When using a form as a subform and setting the "View Type" to "List View" it is not possible to hide the section headers. This can become an issue if I have a section which is not applicable to this subform and I hide the fields within that section and
    • Add additional field to quick search results

      IN the advanced search, we can add any field to the columns. In the regular search results (before you press enter, there is no option to modify the results. It would be super useful to include a custom field where it currently displays the pipleine
    • Need Help: Updating Related Records via Subform Entries in Zoho Creator

      Hi everyone, I’m trying to set up a workflow in Zoho Creator where each row in a subform updates related records in another form automatically. Here’s the situation: My main form (e.g., “Receipts”) contains a subform where each row selects a related record
    • Disable signing in using email aliases?

      Hi, I currently have user accounts that have multiple aliases, for example: Main: name@domain.com Alias: alias1@domain.com, alias2@domain.com Currently, I am able to use any of those 3 emails in the 'username' box during login, and it will log me into the email. Is there a way to setup so that email aliases cannot be used to sign on? I'd still be able to receive and send emails using those aliases in the main email account like it works now, except only the main email can be used to login. Cheers!
    • Zoho Desk - Community - Customer Portal - Description Field UX Improvement

      Hi Zoho Desk Team, As a prolific user of Zoho Cares Community, I find it very frustrating that I cannot increase the size of the Description box (this one which I am typing this message). Many apps with multi line text fields have a small handle in the
    • Add the same FROM email to multiple department

      Hi, We have several agents who work with multiple departments and we'd like to be able to select their names on the FROM field (sender), but apparently it's not possible to add a FROM address to multiple departments. Is there any way around this? Thanks.
    • Can I change the format of the buttons in the email templates?

      Hi all! We have been working hard trying to brand our email templates, and have some way to go yet. One of the things we can't seem to edit is the green ${Cases.CUSTOMER_PORTAL_BUTTON} button and the font of the View Ticket text. Is there any way of doing
    • Lead to Contact Conversion with multiple email address fields

      We are a B2C business with a strong repeat cycle, and as such it's not uncommon for customers to use multiple email addresses with us. We have both our Contacts & Leads modules set up with 3 email fields. (Primary Email / Secondary Email / Historic Email)
    • Exporting Charts from ZohoCRM

      Hi...I'm relatively new to ZohoCRM, but very happy with it so far. I have all my leads and potentials accurately entered, and like the reports that I can view, with charts at the top of the data. But when I export the data, I'm receiving only the data, whether I export as excel, csv or pdf. How can I export both the chart and the data? In case it makes a difference, I'm using the free version right now. I tried researching the other editions to see if a paid version of the software offered the ability
    • Automatically Update Ticket Status in Zoho Desk Based on Actions in Zoho Projects

      Hi Zoho Desk Team, Hope you’re doing well. We’re using the Zoho Desk–Zoho Projects integration to manage tasks related to customer tickets, and it works well for linking and tracking progress. However, there are a few important automation capabilities
    • sms long credits

      I’m trying to purchase Long Code credits so I can send SMS campaigns to my contacts. However, when I click the “Buy Now” button, the page appears blank and doesn’t load any purchase options. Could you please assist me in purchasing the Long Code credits
    • Tip #48- Power Your AI Workflows with Zoho Assist on Zapier’s MCP- 'Insider Insights'

      We’re thrilled to announce that Zoho Assist is now part of Zapier’s Model Context Protocol (MCP), bringing remote support automation right into your AI ecosystem. What is MCP? The Model Context Protocol (MCP) is Zapier’s new framework designed to connect
    • "Total Hours" on Employee Attendance Report

      I'm learning that in Zoho jargon, "total hours" does not include paid breaks. Or at least not the way that my setup is working. That seems a little weird to me, since most jurisdictions in the US don't differentiate between time spent on paid break and
    • Insert Cookie Policy in Zoho Sites

      Hello, i need to insert a banner on my site because i'm in Italy so i have to respect EU laws for Cookie Policy and Privacy Policy. I see that i need to insert a code in <head> section of my site to show a banner/popup with cookie info. How i can do this? Thank you Luca
    • Marketing Tip #1: Optimize item titles for SEO

      Your item title is the first thing both Google and shoppers notice. Instead of a generic “Leather Bag,” go for something detailed like “Handcrafted Leather Laptop Bag – Durable & Stylish.” This helps your items rank better in search results and instantly
    • Customer Parent Account or Sub-Customer Account

      Some of clients as they have 50 to 300 branches, they required separate account statement with outlet name and number; which means we have to open new account for each branch individually. However, the main issue is that, when they make a payment, they
    • Forced Logouts - Daily and More Frequent

      In the last month or so, I've been getting "power logged out" of all of my Zoho apps at least daily, sometimes more frequently. This happens in the same browser session on the same computer, and I need to re-login to each app separately after this happens.
    • ENTER key triggering Submit

      Is it possible to stopped the ENTER key from the mandatory triggering of the Submit button on Creator form? I want forms submitted "ONLY" when the Submit button is pressed. 
    • Is it possible to assign Client user to external task ON PROJECTS' TEMPLATES?

      Is it possible to assign Client user to external task ON TEMPLATES PROJECTS?
    • Cliq does not sync messages after Sleep on Mac

      I'm using the mac app of Cliq. When I open my mac after it was in sleep mode, Cliq does not sync the messages that I received. I always have to reload using cmd + R, which is not what I want when using a chat application.
    • Link to images

      I have added images in pages. I would like to link those images with linked in URL so that they open in new window. There is an option of image -> link but I am not able to use the same to open URL in new window. Please check the attached image. Can you
    • Respond faster and smarter with Zia in your IM Inbox

      You’re in the middle of a busy chat queue. New messages keep popping up. One customer sounds upset. Another is asking a long list of questions. You need context. You need speed. You need help. That’s exactly when Zia Insghts jumps into action. It shows
    • WARNING : Smart list automatically unsubscribes your contacts.

      I created a smart list of my team members based on the criterion that their email domain was @_____. The list refreshed as expected — but it ended up unsubscribing almost all members of my team. I contacted support, but it took two months to get a reply,
    • 5名限定 課題解決型ワークショップイベント Zoho ワークアウト開催のお知らせ (10/31)

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

      Stateless Forms are very useful, but we can't build complex data entry pages without Subforms. Can this be implemented? This would make Stateless Forms truly powerful.
    • Custom Function not getting package details when triggered from Workflow Rules.

      I have a custom function for Packages that submits a form in our Creator app that we use to generate custom shipping labels (internal staff complete deliveries so we cannot generate shipping labels straight from Inventory). When the function is executed
    • Billing Preferences per Account

      Hello, We are trying to setup Billing Preferences in Zoho Desk to set up a different pricing per account. We charge different pricing per hour per customer/account. Account A = 100 per hour Account B = 125 per hour In the Billing Preferences in Time Entry
    • Time entry preview for custom time entry templates.

      Our company needed time entries in a specific format to document our client interactions. Since we are using a custom time entry layout, we have lost the "preview" on the time entry tab. Using the default time entry layout, you get a small preview of
    • Able to change project on timelog entries

      Ability to move the timesheet entry from one project to another. When a user adds a wrong entry a manager can change/update the timesheet entry to the correct project.
    • Knowledge base: The nitty-gritty of SEO tags

      A well-optimized knowledge base with great SEO can benefit your company by allowing customers to find help articles and support resources using search engines. This enables customers to quickly and efficiently find the information they need without direct
    • Next Page