Power of Automation :: Schedule Timesheet export automatically.

Power of Automation :: Schedule Timesheet export automatically.

Hello Everyone,

We recently fulfilled a specific customer requirement by leveraging the Schedule Functions within Zoho Projects. Sharing the details here so that others with similar needs can benefit too.

The schedule function allows you to execute custom functions based on a specified schedule such as hourly, daily, weekly, or monthly. Here is the help document for reference.

Requirement:-

The user wants to export the Timesheet report weekly on a particular day. While we do have plans to introduce a separate feature for scheduling reports, a temporary workaround is available using the Schedule function to facilitate regular Timesheet exports.

All you need to do is schedule the frequency for how often the below custom function should be executed.

Custom function code:-

// TODO: Please create a connection for the Zoho Projects service with the scopes "ZohoProjects.Timesheet.READ"
endPointV3 = "https://projects.zoho.com/api/v3/portal/";
currentDate = zoho.currenttime;
monthFirstDate = currentDate.toStartOfMonth();
monthLastDate = currentDate.eomonth(0);
timesheetParam = Map();
timesheetParam.put("startdate",toString(monthFirstDate,"MM/dd/yyyy"));
timesheetParam.put("enddate",toString(monthLastDate,"MM/dd/yyyy"));
timesheetParam.put("exportType","xlsx");
timesheetParam.put("projId","0");
timesheetParam.put("tsfor","org");
timesheetParam.put("selected_fields","LOGDATE,TIMELOGTITLE,TIMELOGPREFIX,PROJECTNAME,PROJECTID,DAILYLOG,ALLOWED_APPROVER,USER,APPROVAL,LOGCOST,BILLING,COST_RATE_PER_HOUR,APPROVALTIME,APPROVER,TIME_PERIOD,UDF_USER1,HOURSFORCALCULATION,RATEPERHOUR,OWNERMAIL,ROLENAME,TYPE,PROJECTGROUP,MLTITLE,TLTITLE,FROMTO,TIMERNOTES,REASON");
exportTimesheetResponse = invokeurl
[
url :endPointV3 + portalId + "/timesheetExportView"
type :POST
parameters:timesheetParam
connection:"xxxxxxxxx"
];info timesheetParam;
info exportTimesheetResponse;

Make sure to replace xxxxxxxxx with Zoho Projects connection name. Screenshot of the list of parameters to be mapped and sample weekly schedule setup is attached for reference.

We hope you found this post useful. If you have any questions or wondering if your requirement could be met using custom functions, feel free to share them in the comments section below.


    • Sticky Posts

    • Time Log Reminder

      Tracking the time spent on tasks and issues is one of the most important functions of a timesheet. However, users may forget to update the time logs because they have their own goals to achieve. But, time logs must be updated at regular intervals to keep
    • Introducing the Zoho Projects Learning Space

      Every product has its learning curve, and sometimes having a guided path makes the learning experience smoother. With that goal, we introduce a dedicated learning space for Zoho Projects, a platform where you can explore lessons, learn at your own pace,
    • Update on V2 API End-of-Life Timeline

      Dear Users, Earlier this year, we shared the launch of the V3 APIs and requested users to migrate from the older V2 APIs by December 2025. We have received valuable feedback from our users and partners regarding their migration timelines. We are happy
    • Automation Series: Auto-update Phase Status

      Hello Folks! You can auto-update your phase's status based on status of underlying tasks using custom functions. In this series, we will showcase how to create and run custom functions, using Deluge, with ease. Follow the steps below and automate your
    • Automate Timesheet Approvals with Multi-level Approval Rules

      Introducing Approval Rules for Timesheets in Zoho Projects. With this automation, teams can manage how timesheets are reviewed and approved by setting up rules with criteria and assigning approvers to handle submissions. Timesheet, when associated to