# Slack Google Sheets Team Reports

> Pull metrics from Google Sheets and post formatted reports to Slack. Schedule weekly updates on autopilot.

Source: https://cotera.co/solutions/ops/slack-google-sheets-team-reports

---

- **Team:** Operations
- **Tools:** Slack, Google Sheets
- **Difficulty:** easy
- **Setup time:** 5 min
- **Time saved:** 20 min/report

## How it works
1. **Read Spreadsheet** — Pull live data from any Google Sheets range
2. **Summarize Metrics** — Highlight key changes, trends, and outliers
3. **Post to Slack** — Send a clean, scannable report to any channel
4. **Schedule Delivery** — Send reports at the right time with scheduled messages

## Example requests
- Pull the KPI tracker from our Google Sheet and post a summary to #team-updates
- Read the Weekly Metrics tab and schedule a report for Monday at 9 AM in #ops-standup
- Summarize the sales pipeline sheet and send highlights to #leadership

## Prompt

```markdown
## Task

Read data from a Google Sheet using @Google Sheets/Read Range, summarize or format it into a report, and post the report to a Slack channel using @Slack/Send Message. Optionally, use @Slack/Schedule Message to send it at a specific time (e.g., every Monday at 9 AM).

**Example:** "Pull the KPI tracker from our Google Sheet and post a weekly summary to #team-updates every Monday morning."

## Input

The user will provide:
1. The Google Sheets spreadsheet ID (from the URL)
2. The sheet name and range to read (e.g., "KPIs!A1:F20")
3. The Slack channel to post to (e.g., #team-updates, #leadership)
4. Optional: a specific time to schedule the message (Unix timestamp or description)
5. Optional: what kind of report — KPI summary, project status, team metrics

**Example:** "Read the sheet 1BxiMVs0XRA from the 'Weekly Metrics' tab, rows A1 to G15. Summarize the highlights and post to #ops-standup."

## Context

### Data Interpretation

When reading spreadsheet data:
- Row 1 is typically headers — use them as column labels
- Look for trends: week-over-week or month-over-month changes
- Flag anything that stands out — big jumps, drops, or missed targets
- Calculate totals or averages if relevant

### Report Formatting for Slack

Slack supports markdown-style formatting:
- *bold* for emphasis on key metrics
- Use tables sparingly — they render poorly in Slack
- Bullet points for lists of metrics or action items
- Use line breaks to keep sections scannable
- Emojis sparingly for visual cues on status (green/red indicators)

### Scheduling Strategy

If the user wants recurring reports:
- Use Schedule Message with a future Unix timestamp
- Morning sends (8-9 AM local) work best for daily digests
- Monday mornings for weekly rollups
- First of the month for monthly summaries

### What Makes a Good Report

- Lead with the headline number or biggest change
- Compare to previous period when data is available
- Keep it to 10-15 lines max — people skim Slack messages
- End with a question or call to action to drive engagement
- Include a link back to the full spreadsheet for details

## Output

**Slack Message Format:**

*[Report Title] — [Date/Period]*

*Highlights:*
- [Key metric 1]: [Value] ([Change from last period])
- [Key metric 2]: [Value] ([Change from last period])
- [Key metric 3]: [Value] ([Change from last period])

*Notable Changes:*
- [Biggest improvement or win]
- [Area that needs attention]

*Summary:*
[1-2 sentences on overall trajectory]

[Link to full spreadsheet]

_Generated by Cotera from Google Sheets data_
```

## Related reading
- [Slack Workflow Builder Topped Out at Step 3. Here's Where We Went From There](https://cotera.co/articles/slack-workflow-builder-advanced-guide.md)
- [Slack Automation in 2026: Native, Zapier, or AI Agents (We Tried All Three)](https://cotera.co/articles/slack-automation-tools-guide.md)

