Emailing EspoCRM reports on a schedule

Scheduled report emails put weekly pipeline and support numbers in managers' inboxes without manual exports. This page covers the settings, recipient access rules and checks to confirm before you rely on them.

On this page

How scheduled report emails fit a weekly manager routine

Managers who export the same EspoCRM reports by hand every Monday are doing work the system can do for them. Scheduled report emails in EspoCRM, part of the Advanced Pack, send a saved report to a set of recipients on a fixed cadence, so the pipeline or support numbers arrive in the inbox before the weekly review rather than after someone has run the export. The Advanced Pack is included in all EspoCRM Cloud plans according to the EspoCRM Advanced Pack page, but if you self-host, confirm the report email options against the version and extension set you run before you design the routine around them.

Scheduled emails suit a fixed, recurring question that does not need interaction, such as opportunities by stage and owner for last week or open cases by age. Dashboards suit managers who want to look at numbers on their own time, and ad hoc exports suit one-off questions. The decision to email is about cadence and audience: if the same people need the same report every week and will act on it without logging in, a scheduled email is the right tool. Also decide early which reports belong in an email at all, since a report that changes meaning week to week, or that depends on filters a recipient cannot set, will generate follow-up questions instead of decisions.

Recipient access is the control that most often goes wrong. A scheduled report is generated under the rules of the access that the report and its recipients have in EspoCRM, so a manager should receive the rows their roles and teams allow them to see, and nothing wider. Before go-live, list each recipient, the team or role they belong to, and the data scope of each report, then test with a non-admin account that represents each recipient type. Confirm how the report owner's permissions are applied in your version, and avoid sending reports built by an administrator to people whose access is narrower than that administrator's.

Which delivery option fits each reporting need

This table compares scheduled report emails, on-screen dashboards, manual exports and a separate BI tool for weekly manager reporting. Read each row as a question you need to answer for your team, such as who maintains the output, who can see the data and what breaks when a report changes. The main takeaway is that scheduled emails keep reporting inside EspoCRM's access rules, but they still need an owner who reviews the report definition.

QuestionScheduled report emailOn-screen dashboard or manual exportSeparate BI tool
Who maintains itA CRM administrator or report owner sets the report, schedule and recipientsEach user builds or refreshes their own view, or an admin maintains the dashboard layoutA data or BI team models the data and maintains dashboards outside the CRM
Who can see the dataRecipients see what their EspoCRM user can access when the report runs, so confirm recipient rolesOnly users who log in and have access to the report or record can see the dataAccess depends on the BI tool's own user model and data connections, which you must configure separately
Effect of a report changeA changed report alters future emails, so the owner should retest before the next runUsers see the change at their next refresh, and manual exports reflect the old definitionChanges go through the BI tool's model, which may need a data refresh before results match
Format and deliveryEmail delivery in the format the report supports, with no login required for managersVisible in the browser or as a file the user downloads and sharesDepends on the tool's sharing and subscription features, which you should confirm
Best fitRegular summaries managers need in their inbox each weekUsers who need live views or one-off analysisCross-system analysis that goes beyond what EspoCRM holds
Ongoing riskEmails can reach people who no longer should see the data if recipients are not reviewedExports leave the system once downloaded, so sharing rules need a policyDuplicate definitions across two tools can drift apart over time

Setting up the scheduled report email step by step

This sequence moves a weekly report from a working Advanced Pack and cron setup to a verified recurring email, with a check at each stage so that problems surface on a test account before managers receive anything.

  1. Confirm the Advanced Pack and cron run

    Confirm that the Advanced Pack is installed or included in your plan, and that the cron job or scheduled task required for background jobs is running on the server. The EspoCRM server configuration docs describe cron as a requirement for background jobs, so an administrator should check that the job executes on the schedule defined for the host, using the server's own scheduler logs. Done means the Advanced Pack reports appear in the admin interface and background jobs are processing. Confirm exact menu locations in the admin UI of the version you run.

  2. Configure and test outbound mail

    An administrator sets up outbound email for the instance, including the sending address, SMTP or other transport details supplied by your mail provider, and any sender authentication your provider requires. Send a test message to an internal mailbox from the administration area. Done means the test message arrives in the inbox, not the spam folder, with the expected sender name. If it fails, check the mail settings and the server logs before moving on, because every later step depends on this one.

  3. Build and review the report on a test account

    Create the report on a test user account using a small sample of records, such as a few opportunities or cases with known values. Check that the grouping, filters, date range and currency display match what you would expect from the source records when you count them by hand. Done means the report output matches the hand count for the sample. Keep the report restricted to the test account until the email content has been reviewed.

  4. Create the schedule and set recipients

    Attach the report to a scheduled email using the schedule settings in the Advanced Pack, choosing the frequency, the day and time, the format and the recipient managers. Limit recipients to people whose access to the underlying records matches the report's contents, because the report is generated under the rules that apply to the scheduled user and recipients should not receive data they could not open in the application. Done means the schedule shows the correct recipients, frequency and next run time.

  5. Run a test send to a test recipient

    Trigger a test send, or temporarily point the schedule at one internal test recipient, and open the message on a desktop and a phone. Check the subject line, the attachment or inline table, the formatting of numbers and currency, and that no records appear that the test recipient should not see. Done means the message renders correctly and the content matches the test account review. Restore the intended recipient list afterward and confirm the change was saved.

  6. Check the first live send against source data

    After the first live send, compare totals in the email with the same report run directly in the application, and spot-check several records against their detail views. Confirm that each manager received the message and that the schedule shows the expected next run. Done means the figures match the live report and the schedule is recorded as operating. Keep a short written record of the setup so that the next administrator can repeat the check after upgrades or mail changes.

Protecting report data in transit and in inboxes

A scheduled report sends pipeline or case data out of EspoCRM on a fixed cadence, often to people outside the CRM's daily user base. The cards below cover who can change schedules, which accounts run them, where the data lands, how the mail is carried and signed, and how long sessions stay valid.

Restrict who can schedule reports

Creating or editing a scheduled report decides what data is sent, to whom, and how often. Limit those rights to a small group of named analysts or admins through roles, and remove them from users who only need to view reports. Review the list of scheduled reports each quarter, checking each recipient list against current managers. Confirm which role permissions govern scheduling in your EspoCRM version before you grant access broadly.

Keep scheduling off admin accounts

Scheduled reports that run under or are edited by an administrator inherit a broad view of the data and the ability to change system settings. Make the scheduling owner a standard user with the report access it needs, and keep administrator accounts for configuration only. The EspoCRM security guidance recommends avoiding admin accounts for daily work, and this applies equally to report scheduling.

Stop data leaving through personal mailboxes

A report sent to a personal address or a forwarding rule can move pipeline values, account names and contact details outside your mail controls. Decide which mailboxes are approved recipients, prefer shared team addresses with managed membership, and check that managers do not auto-forward these emails. Document who owns each recipient address so offboarding removes access.

Confirm relay encryption and sender authentication

Report emails travel from EspoCRM through your outbound mail relay to recipient servers. Ask your mail provider whether the relay uses TLS for connections, and whether SPF, DKIM and DMARC are configured for the sending domain so recipients accept the messages. These controls live in your mail environment, not in EspoCRM, so record the answers in the implementation runbook.

Set session and token lifetimes

Scheduled sends run in the background, but anyone who opens the CRM in a browser or holds an API credential can still reach the reports. Review the authentication token lifetime and session settings in EspoCRM against the security guidance, and shorten them for users who can view sensitive reports. Confirm with your IT team how idle sessions end on shared workstations.

Restrict access by IP address

Where managers read reports from known office or VPN networks, an IP allowlist limits who can open the CRM even if credentials leak. Scheduled emails still arrive regardless of the viewer's network, so the allowlist protects the report data behind the link, not the mail itself. Test the allowlist with a manager on a remote connection before you rely on it.

Recipient access rules by audience

Managers who receive a weekly pipeline report usually hold a role with wide read access to opportunities, often across several teams. For them, the report summarizes the business, and their role decides which rows and totals can appear. A manager may receive figures for records they could not open from a list view if the report is evaluated under the account that sends it. Confirm this behavior in your version before you rely on it.

  • Role scope: check which role the manager holds and whether it grants read access to every entity and field the report uses.
  • Team membership: a manager in several teams may see totals that differ from what they expect, so test with a named account.
  • Aggregated output: grid totals can reflect values from records the manager cannot open one by one, so document that decision with the business owner.
  • Sensitive fields: remove fields such as margin or internal notes from the report columns, since a layout change does not alter what the email contains.

Before the first scheduled send, compare the email with the same report run by a test user holding the manager's role.

Why background jobs decide whether reports arrive on time

Scheduled report emails in EspoCRM are not sent by the web request that a user sees. They run as background jobs, and the EspoCRM server configuration docs require a cron job or an equivalent scheduled task to run them. If that scheduler is missing, paused, or failing, the schedule you configured looks correct in the interface while nothing leaves the server. Managers simply stop receiving their Monday pipeline report, and nobody in the CRM sees an error unless someone goes looking. Treat the scheduler as part of the reporting feature, not as server housekeeping, and assign an owner for it during the build.

Before go-live, confirm three things with a test schedule that targets an internal mailbox. First, the cron entry or scheduled task runs on the host you intend to use, under the account EspoCRM expects, at the interval the docs describe. Second, the job queue shows the report job being picked up and completed, not stuck or waiting. Third, the EspoCRM logs record the outcome, so a failed send leaves a trace your team can find. Ask your implementation partner or internal admin to show each step on screen and in the log files. Also agree how a failed send gets reported to the report owner, because the default position is silence.

The scheduler host is still a supported server for this purpose, so the PHP and database versions in the server configuration docs apply to it. The docs list PHP 8.3 to 8.5 and MySQL 8.0 or newer, MariaDB 10.6 or newer, or PostgreSQL 15. A host that was upgraded for another application, or a cron environment with a different PHP binary on the path, can run jobs under a version your instance does not support. Confirm the PHP binary the cron job calls, and check it again after any operating system or PHP update, since a version change can break background jobs without touching the web application.

Limits to confirm before promising a weekly send

A weekly report email is only as dependable as the limits behind it. The items below cover what the report can carry, how it is delivered, and what happens when the data or the schedule changes. Confirm each one in your own instance with a test send before you commit a delivery date to managers.

Maximum report size and row count

Large grid reports can exceed what a mail server or recipient mailbox accepts, and the cut-off may differ from what appears on screen. Run the scheduled report against your largest real pipeline or queue, then open the received message and compare the row count with the report view. Ask your vendor or check the instance configuration for any documented limit on rows or file size, and confirm your mail relay's attachment ceiling separately.

Supported attachment and inline formats

Managers may expect a spreadsheet, while others only read a summary in the body of the email. Confirm which export formats the deployed version offers for scheduled sends, and whether tables render correctly in common mail clients. Test a send to a phone and to a desktop client, since column widths and currency symbols often break in one but not the other.

Time zone handling for weekly schedules

A send set for Monday morning may arrive on Sunday night for a manager in another region, or the schedule may follow the server clock rather than the user's time zone. Confirm how the instance and each user's preferences set the send time, and check the time zone of the application server against the expected local time. Verify with a test schedule set a few minutes ahead, and document which zone the business uses for week boundaries.

Bounce and failure notification

A scheduled send can fail silently when the mail transport rejects a message, the cron job stops, or a recipient address bounces. Confirm where failed sends are recorded in the admin area, who receives the failure notice, and whether bounces return to a shared mailbox that someone monitors. Without this check, a manager may assume the report arrived when no one has seen it for weeks.

Effect of report edits on scheduled sends

Changing a report's filters, columns or grouping after a schedule is set can change what recipients receive, sometimes without a visible change to the schedule itself. Confirm whether an edit applies to the next send only, and whether the recipient list and filter values are re-evaluated at send time. Record the report owner in your change process, and send a test after any edit to the report.

Options in the deployed version

Scheduling options, formats and notification settings change between releases, so a feature described in general documentation may not exist in your build. Confirm the exact options in your instance's administration screens and against the release notes for your version. Plan the reporting setup for the version you run, and recheck it before any planned upgrade.

Questions managers and admins ask before setting this up

What does it cost to set up scheduled report emails in EspoCRM?

The software has no license fee for the open-source edition, so the cost is the work to configure and test the sending, plus any mail service you pay for. Setup covers the outgoing mail settings, the background job that sends the reports, the report recipients and the access checks for each recipient. The main cost drivers are how many reports and recipient groups you have, whether your mail server needs new rules, and how many test rounds the team needs. If you use EspoCRM Cloud instead, the pricing page lists 15 US dollars per user per month on the Basic plan (minimum 3 users), 25 dollars on Enterprise (minimum 5 users) and 69 dollars on Ultimate (minimum 10 users), with the Advanced Pack included in all cloud plans. Ask any partner for a quote that lists one-time work and recurring costs separately.

How long does a first scheduled report setup take?

The duration depends on how many reports go out, how many distinct recipient groups exist, and how clean the mail path is. A single weekly pipeline report to one manager group is a much smaller job than a set of role-based reports with different access rules. Delays usually come from waiting on mail server changes, sign-off on report contents, or access questions rather than from EspoCRM itself. Ask for a written timeline that names each dependency, such as the mailbox owner, the report owners and the test window. Any duration you are quoted should be tied to a written scope.

What must our team provide before the work starts?

Your team needs to provide four things before the build begins:

  • Access to the outgoing mail server or relay, with the sending address and authentication details your security team approves
  • A test mailbox that can receive reports without going to real managers
  • A named owner for each report, who confirms the columns, filters and currency basis
  • A list of recipients with the access they should have, approved by the person who owns that data

You should also confirm that EspoCRM's background job runner is scheduled, as the EspoCRM server configuration docs require cron or a scheduled task for background jobs.

Can an internal admin set up scheduled report emails alone?

Yes, a capable internal admin can often do this alone if they have admin rights, access to the mail relay and time to test. The work is mostly configuration: setting the outgoing mail, creating the reports, and scheduling delivery. The harder parts are the access rules, since recipients must only see records their role allows, and the mail path, which often needs help from whoever runs the mail server. Admins who work in the same instance daily should avoid using their admin account for everyday tasks, as the EspoCRM security docs recommend. Decide early who will own the schedule after go-live, since a report that breaks silently is noticed only when a manager asks where it went.

How do recipients get the right data in scheduled reports?

Each scheduled report runs with the rights of the setup it is attached to, so recipients should not receive records their own access would hide. Review every recipient group against the roles and teams they belong to, and test with a user in each group before turning the schedule on. Recipients who are not EspoCRM users, or who should see only part of the data, need a separate design that the team agrees on in writing. Treat this check as part of acceptance, not an optional extra, because a misdirected pipeline report can expose customer and revenue data.

What should a fixed-price engagement for this include?

A fixed-price scope should list the reports, the recipient groups, the delivery frequency, the output format, and the mail path that will be used. It should also name what is out of scope, such as new report design, portal access or changes to the mail server itself. Ask for the acceptance test, the number of test rounds included, and who signs off each step. Most engagements are fixed-scope and agreed in writing before work starts, so changes to the list of reports or recipients should go through a written change request. Compare quotes by scope, not by headline price.

What breaks most often with scheduled EspoCRM report emails?

Most failures come from a few predictable causes:

  • The background job runner is not scheduled, so emails queue but never send
  • The mail relay rejects messages from the EspoCRM server because of sender rules or authentication
  • A report's filters change after a schema or layout update, so the numbers shift without an error
  • A recipient's role changes, and they either see too little or too much

Add a test run after each of these changes, and keep a short runbook that tells the admin where to check the job queue and the mail log. Logs and job checks are covered in the EspoCRM operations documentation.

Should we confirm the mail setup with our security team first?

Yes. Before configuration, confirm with your security team which mail relay, sending address and authentication method are approved, and whether the EspoCRM server is allowed to connect to that relay. Ask them to review how report content leaves the system, since attachments carry customer data outside the application. Check whether your policy requires encryption in transit for the relay and whether recipients outside your organization are allowed at all. Document the answers, because auditors and security reviewers will ask how scheduled exports are controlled.

How DeployOpen scopes and delivers scheduled reporting

DeployOpen treats scheduled report emails as part of the wider EspoCRM deployment, not a standalone setting. We start from the reports managers actually need, the people who should receive them, and the access rules that decide what each recipient can see, then build and hand over a tested configuration that your own administrators can maintain.

How we scope

  • We list each scheduled report, its owner, its audience and the cadence agreed with the business.
  • We confirm which EspoCRM instance and Advanced Pack setup the reports run on, and which mail server sends them.
  • Engagements are fixed-scope, and the written scope names the recipients, formats and access rules covered.

How we build

  • We configure the report email settings, recipient lists and delivery format against the agreed scope.
  • We check that each recipient role sees only the records permitted by their team and role settings.
  • We test scheduled sends with sample data and review the output against the source report before go-live.

How we hand over

  • We document each schedule, its recipients, its access assumptions and the steps to change them.
  • We walk your administrators through adding recipients, pausing a schedule and reading the mail logs.
  • We record the mail server, cron or scheduled task dependencies so your team can troubleshoot later.

How we support

  • Ongoing support, upgrades and continuous testing are available as a retainer after handover.
  • Retainer scope can cover checks after EspoCRM upgrades, since report and mail behavior may change between versions.
  • Ask us to confirm the support terms in writing with the quote, including what counts as a change request.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.