Home
Blog
Weekly Sales Reports Automation With Slack Notifications
Enterprise
Data-Analytics

How to Automate Weekly Sales Reports with Slack Notifications

Manual sales reporting wastes time & delays insights. This guide shows how to automate weekly sales reports & deliver timely updates via Slack notifications, helping teams stay informed and make faster decisions.

December 16, 2025
9 min
Written by
Alia Soni
Reviewed by
Kritika Singhania

Every week, teams wait for that one sales report that tells them whether the last seven days were a win or a warning. Now this creates pressure for the employee unable to handle or interpret the metrics and statistics.

This scenario can now be eliminated with the automation of reports. You can set up a workflow that gathers the sales data, builds summaries, and pushes them straight into Slack automatically. This guide will walk you through practical methods to automate weekly sales reports, from simple Google Sheets features to advanced scripting and no-code automation with Boltic.

Importance Of Weekly Sales Report

A sales report is a document offering a summary of a company’s sales activity over a specific time period. It provides insights into outcome, process, and performance metrics. The metrics provided in the sales report include revenue, sold units, closed deals, sales cycle length, sales by region, representative or product, sales comparison with previous periods or targets, and more.

Weekly automation of sales reports helps in early problem detection, adjusting the strategy to refine sales tactics, build more accurate revenue forecasts, improve communication among teams, and offer better support.

Reasons to Automate Weekly Sales Reporting

Automation of sales reports helps companies in numerous aspects. Here are those:

  • Eliminates manual workload: Cuts down hours spent collecting, cleaning, and formatting data.
  • Ensures high accuracy: Removes human errors in data entry and calculations, giving reliable numbers every time.
  • Gives real-time performance visibility: Offers instant insights in visually understandable format instead of delayed reports.
  • Enables faster and smarter decisions: Lets managers act proactively with up-to-date data instead of relying on outdated information.
  • Boosts team productivity: Frees sales representatives from repetitive reporting tasks so they can focus on selling.
  • Supports business scalability: Handles growing lead volumes and complex sales cycles without needing more manpower.
  • Improves sales forecasting: Uses predictive analytics to deliver more accurate revenue predictions.
  • Reduces costs: Cuts labor expenses and optimizes resource use to deliver high returns.

Methods To Automate Weekly Sales Reports With Slack Notifications

Methods To Automate Weekly Sales Reports With Slack Notifications

There are three methods to automate weekly sales report with Slack notifications. Let’s check each of them:

Use Built-in Features of Google Sheets

The steps below are a guide on using Google Sheets’ Explore features for automating the sales reporting process.

Step 1: Access the Sales Data

Load the sales data in Google Sheets and click the Explore button at the bottom-right corner. The panel will give you quick access to automatic summaries, charts, and insights based on the sheet you are viewing.

Step 2: Create Charts Automatically

The Explore/Analysis panel will show ready-made charts, stats, and summaries specific to your data. The visuals also include small explanations like what range they use or how much a value has changed over time.

You can expand the chart options, preview them in full size, and add any graph to your sheet simply by clicking Insert or dragging it in. After placing the chart, click on any part of it to open the Chart Editor. It will let you adjust style, labels, or data ranges as per the need. It eliminates the need to build reports manually and speeds up your weekly reporting process.

Step 3: Understand the Data in Detail

Use the Answers section to query your sales data. It works like a simple built-in assistant that responds with instant insights. Type questions about totals, trends, or comparisons, and you will get the answer, formula, and sometimes suggested visualization.

Step 4: Deliver These Reports to Slack Weekly

Once your sheet is set up with charts and insights, here is what to do:

  • Copy the link of the Google Sheet where you updated the charts live. 
  • Go to Slack and create a weekly scheduled reminder in the channel where you want the update shared. 
  • Add a message stating ‘weekly sales report is ready’, or anything else. 
  • Paste the sheet link in the notification.

Slack will now send this message every week at your chosen time, ensuring your team gets the updated sales report without manual sharing.

Use Auto-Capture Formula and Google Apps Script

Here is how to proceed with automation in Google Sheets using a different approach:

Step 1: Create the Auto-Capture Report Sheet

In your sales spreadsheet, create a new sheet named ‘Weekly Report’. Use a formula that auto-filters the last 7 days. Put this in ‘Weekly report A1’:

1=QUERY(
2	'RawData'!A:E,
3    "select A, sum(E)
4     where A >= date '" & TEXT(TODAY()-7, "yyyy-MM-dd") & "'
5     group by A
6     order by A asc",
7     1
8)

Here, RawData is your raw data sheet with a date column A and a value column E (adjust to match your columns).

Step 2: Add Apps Script (code required)

  • In Google Sheets, go to Extensions and then Apps Script.
  • Delete any placeholder code and paste the script below. 
  • Replace the Slack incoming webhook URL. 
  • If you want a PDF link posted as well, leave that part enabled. Else, comment out the PDF block.
1function sendWeeklyReportToSlack() {
2  
3  var SLACK_WEBHOOK_URL = "<YOUR_SLACK_WEBHOOK_URL>";
4  var SHEET_NAME = "WeeklyReport";
5  var MAX_ROWS_TO_SHOW = 20;
6  var INCLUDE_PDF_LINK = true;
7  var PDF_FOLDER_NAME = "WeeklyReportsPDFs";   
8
9
10  var ss = SpreadsheetApp.getActiveSpreadsheet();
11  var sheet = ss.getSheetByName(SHEET_NAME);
12  if (!sheet) {
13    Logger.log("Sheet not found: " + SHEET_NAME);
14    return;
15  }
16
17  
18  var dataRange = sheet.getDataRange();
19  var values = dataRange.getValues();
20  if (values.length <= 1) {
21    postSlackMessage(SLACK_WEBHOOK_URL, ":warning: Weekly report is empty or has no data.");
22    return;
23  }
24
25  
26  
27  var header = values[0];
28  var rows = values.slice(1, 1 + MAX_ROWS_TO_SHOW);
29  var msgLines = [];
30  msgLines.push("*Weekly Sales Report*");
31  msgLines.push("_Generated: " + Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "MMM dd, yyyy HH:mm") + "_");
32  msgLines.push("");
33  msgLines.push("```"); 
34  
35  msgLines.push(header.join(" | "));
36  msgLines.push("-".repeat(Math.max(20, header.join(" | ").length)));
37  rows.forEach(function(r) {
38    msgLines.push(r.map(function(c){ return String(c); }).join(" | "));
39  });
40  if (values.length - 1 > MAX_ROWS_TO_SHOW) {
41    msgLines.push("... (" + (values.length - 1 - MAX_ROWS_TO_SHOW) + " more rows)");
42  }
43  msgLines.push("```");
44
45  
46  var summaryText = msgLines.join("\n");
47  postSlackMessage(SLACK_WEBHOOK_URL, summaryText);
48
49  
50  if (INCLUDE_PDF_LINK) {
51    try {
52      var folder = getOrCreateFolder(PDF_FOLDER_NAME);
53      var pdfBlob = DriveApp.getFileById(ss.getId()).getAs('application/pdf');
54      var dateStamp = Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "yyyyMMdd");
55      var pdfFile = folder.createFile(pdfBlob).setName(ss.getName() + "_WeeklyReport_" + dateStamp + ".pdf");
56      
57      pdfFile.setSharing(DriveApp.Access.ANYONE_WITH_LINK, DriveApp.Permission.VIEW);
58      var pdfUrl = pdfFile.getUrl();
59      postSlackMessage(SLACK_WEBHOOK_URL, "Full report (PDF): " + pdfUrl);
60      
61    } catch (e) {
62      Logger.log("PDF creation failed: " + e);
63      postSlackMessage(SLACK_WEBHOOK_URL, ":warning: Could not create PDF: " + e.message);
64    }
65  }
66}
67
68
69function postSlackMessage(webhookUrl, messageText) {
70  var payload = {
71    "text": messageText
72  };
73  var options = {
74    "method": "post",
75    "contentType": "application/json",
76    "payload": JSON.stringify(payload),
77    "muteHttpExceptions": true
78  };
79  var resp = UrlFetchApp.fetch(webhookUrl, options);
80  Logger.log("Slack response: " + resp.getResponseCode());
81}
82
83
84function getOrCreateFolder(folderName) {
85  var folders = DriveApp.getFoldersByName(folderName);
86  if (folders.hasNext()) {
87    return folders.next();
88  } else {
89    return DriveApp.createFolder(folderName);
90  }
91}
92
93
94function cleanupOldFiles(folder, keepCount) {
95  var files = [];
96  var iter = folder.getFiles();
97  while (iter.hasNext()) {
98    var f = iter.next();
99    files.push({file: f, date: f.getDateCreated()});
100  }
101  files.sort(function(a,b){ return b.date - a.date; });
102  for (var i = keepCount; i < files.length; i++) {
103    try { files[i].file.setTrashed(true); } catch(e) {}
104  }
105}
106

Step 3: Create a Slack Incoming Webhook

  • In Slack, go to Apps, then search ‘incoming webhook’ and then ‘Add’ (or create a Slack App and enable incoming Webhook). 
  • Choose the channel where the message should be posted.
  • Copy the webhook URL and paste it into the script ‘SLACK_WEBHOOK_URL’ config.

Step 4: Test the Script

  • In the Apps Script editor, choose the function sendWeeklyReportToSlack and click Run.
  • Authorize required permissions (Drive, Spreadsheet, UrlFetch)
  • Check Slack for the posted summary message. If INCLUDE_PDF_LINK is true, you should also see the PDF link.

Step 5: Schedule to Run Weekly

  • In the Apps Script editor, go to Triggers and click on ‘Add trigger.’ 
  • Choose function: sendweeklyReportToSlack 
  • Click on the event source and then choose time-driven, followed by Week Timer. Now pick the day & hour. Save it.

Now it will run every week automatically.

Points to Remember:

  • Keep the report sheet names and ranges consistent. The script expects a sheet named SHEET_NAME. 
  • For more compact Slack posts, shorten the number of rows by lowering MAX_ROWS_TO_SHOW. 

Use Boltic to Automate Weekly Sales Report

Here is how to achieve it all effortlessly with Boltic and without code. Simply follow the steps below to streamline reporting and push weekly insights to your Slack channel automatically.

Step 1: Define Your Requirements

It means you must know what to automate. Here are a few suggestions that you may consider:

  • Which sales KPIs should appear in the weekly Slack report? 
  • How often should it be sent (weekly)? 
  • Which data sources will feed into this report?

Step 2: Integrate Data Sources

Supporting over 100 pre-built integrations, the Boltic can easily integrate with the data source. Connect them to get accurate and updated information. To integrate the data sources, here is what steps to follow:

  • Select the data sources to be displayed in the reports. 
  • Use the Boltic’s Workflow to set up and configure the integration 
  • Evaluate the integration to ensure correct data is showcased in the reports

Step 3: Design the Reports

You can design the reports using numerous customization options available in Boltic’s Workflow. You can incorporate graphs, charts, and explore other visual options to make the report readable as per your preference.

Step 4: Automate Report Generation

This step, too, is easy. Set up the automation using Boltic’s Workflow by defining the report generation and distribution schedule. Choose any frequency, distribution method, and receivers to eliminate manual intervention completely. Ensure to monitor the automation process to verify the desired results. Optimize the process as per the necessity.

Conclusion

The process to automate weekly sales reports need not and should not be manual and time-consuming. Be it Google Sheets, Apps Scripts, or fully automated with Boltic, the process can be simple and reliable. You can use them easily to automate and send insights to Slack in a scheduled manner with this guide. The process is certain to boost team alignment, improve accuracy, and ensure everyone gets timely performance visibility. Choose the method that matches your workflow and let automation handle the rest.

Create the automation that
drives valuable insights

Organize your big data operations with a free forever plan

Schedule a demo
What is Boltic?

An agentic platform revolutionizing workflow management and automation through AI-driven solutions. It enables seamless tool integration, real-time decision-making, and enhanced productivity

Try boltic for free
Schedule a demo

Here’s what we do in the meeting:

  • Experience Boltic's features firsthand.
  • Learn how to automate your data workflows.
  • Get answers to your specific questions.
Schedule a demo

About the contributors

Alia Soni
Assistant Manager, Fynd

Psychology grad turned B2B writer. Spent two years creating content for AI platforms and retail SaaS—from product impact stories to employer branding. The kind of writer who makes technical features sound like they matter to actual humans, not just spec sheets.

Kritika Singhania
Head of Marketing, Fynd

Kritika is a non-tech B2B marketer at Fynd who specializes in making enterprise tech digestible and human. She drives branding, content, and product marketing for AI-powered solutions including Kaily, Boltic, GlamAR and Pixelbin.

Frequently Asked Questions

If you have more questions, we are here to help and support.

Automating sales reports may become difficult due to poor data quality, disconnected systems, and tools that fail to match unique reporting needs. The issues can be solved by taking measures to clean the data and choosing tools that integrate with data sources and offer customization.

If report automation does not work, you need to check column names, sheet names, or formula ranges. Test the workflow weekly to avoid such errors.

If the Slack report does not match what managers expect, then confirm the KPIs and date range managers want. Keep a fixed report format so each update looks the same. Review the structure monthly to ensure it still meets management needs.

Boltic integrates well with numerous tools, including but not limited to Shopify, Google apps, Amazon, Paypal, Slack, HubSpot, and many more.

At Boltic, we ensure complete data encryption and role-based access. We are GPCR compliant and SCO Type II certified for the security and performance of your workflows.

Yes, Boltic serves numerous countries globally. Connect with us for more information.

Create the automation that drives valuable insights

Try boltic for free