# Slack Integration

Bring time tracking into Slack — send daily prompts, let team members log hours without leaving Slack, and check progress with slash commands. Covers setup, daily prompts and reporting.

# Overview

The Slack integration connects your Invup organization to a Slack workspace, bringing time tracking directly into the tool your team already uses every day. Instead of switching to a separate app to log hours, team members receive a daily prompt in Slack and can record their time without leaving the conversation.

---

## What the Integration Does

Once connected, the Slack integration provides three core capabilities:

### Daily Time Tracking Prompts

Every working day at a time you choose, each linked team member receives a direct message in Slack listing the projects they're assigned to. From that message, they can log time entries — selecting a project, choosing a service (if applicable), and entering their hours — all without opening the Invup web app.

[![Admin - Log Time Prompt.png](https://docfiles.invup.me/uploads/images/gallery/2026-03/scaled-1680-/admin-log-time-prompt.png)](https://docfiles.invup.me/uploads/images/gallery/2026-03/admin-log-time-prompt.png)

The prompt is tailored to each team member — it only shows the projects they're assigned to. If a project uses services, a dropdown lets them pick the right service. If they've already logged time for a project that day, the prompt updates to show what's been recorded.

### Slash Commands for Reports

Team members can check their time tracking progress using the `/invup` slash command directly in Slack:

<table id="bkmrk-command-what-it-show"><thead><tr><th>Command</th><th>What it shows</th></tr></thead><tbody><tr><td>`/invup help`</td><td>List of available commands</td></tr><tr><td>`/invup report`</td><td>This week's time summary</td></tr><tr><td>`/invup report last-week`</td><td>Last week's summary</td></tr><tr><td>`/invup report march`</td><td>A specific month's summary (any month name works)</td></tr></tbody></table>

Reports include total hours, a project-by-project breakdown with percentages, and a count of how many working days had logged time.

![Member - Time Report.png](https://docfiles.invup.me/uploads/images/gallery/2026-03/scaled-1680-/member-time-report.png)### Interactive Time Entry

When a team member clicks a button or selects a service from the daily prompt, a modal opens where they can enter their time. The modal includes fields for hours, minutes, and an optional description. After submitting, the prompt message updates in place to reflect the new entry.

![Member - Log Time in Slack.png](https://docfiles.invup.me/uploads/images/gallery/2026-03/scaled-1680-/member-log-time-in-slack.png)---

## Who Can Set It Up

Only **owners** and **admins** can install, configure, or disconnect the Slack integration. Team members and contributors cannot access the integration settings.

To connect your workspace, go to **Settings &gt; Integrations &gt; Slack** and click **Connect to Slack**. You'll be redirected to Slack to authorize the connection.

---

## What Team Members Experience

Once the integration is connected and team members are linked (matched by email address), here's what they experience:

1. **A daily DM** arrives at the configured prompt time (default: 4:45 PM in your organization's timezone) on working days.
2. The message lists their assigned projects with buttons to log time.
3. Clicking a button opens a quick modal to enter hours, minutes, and an optional description.
4. After submitting, the prompt updates to show the logged entry.
5. They can use `/invup report` at any time to check their progress.

Team members don't need to do anything to set up the integration — it's handled by an admin, and linking happens automatically by matching email addresses between Invup and Slack.

### Contributors and Slack

Contributors who are linked to Slack manage their time tracking exclusively through Slack. Their daily prompts and slash commands work the same way as for other team members.

---

## How Team Members Are Linked

When the integration is installed, Invup automatically matches team members to Slack users by comparing email addresses. If a team member's Invup email matches a Slack user's email, they're linked automatically.

This linking also happens when:

- A new team member is added to your Invup organization
- A new user joins your Slack workspace

Admins can view the linking status on the integration settings page, which shows how many team members are mapped, and which ones aren't (usually because their emails don't match between the two systems).

---

## Prerequisites

Before setting up the Slack integration, you need:

- **A Slack workspace** that your team uses
- **Owner or Admin role** in Invup — team members and contributors cannot install the integration
- **Matching email addresses** between Invup team members and Slack users (for automatic linking)

Each Slack workspace can only be connected to one Invup organization. If your workspace is already connected to a different organization, you'll need to disconnect it there first.

---

## Key Settings

Once connected, you can configure:

<table id="bkmrk-setting-where-defaul"><thead><tr><th>Setting</th><th>Where</th><th>Default</th></tr></thead><tbody><tr><td>**Daily prompt enabled**</td><td>Organization settings</td><td>On</td></tr><tr><td>**Prompt time**</td><td>Organization settings</td><td>4:45 PM (organization timezone)</td></tr><tr><td>**Working days**</td><td>Organization settings</td><td>Monday – Friday</td></tr></tbody></table>

The prompt time uses your organization's timezone, so if your organization is set to Eastern Time and the prompt is at 4:45 PM, all team members receive it at 4:45 PM ET regardless of where they are.

---

## What's in This Book

<table id="bkmrk-page-description-ove"><thead><tr><th>Page</th><th>Description</th></tr></thead><tbody><tr><td>**Overview** (this page)</td><td>What the Slack integration does and who can set it up</td></tr><tr><td>**Setting Up the Slack Integration**</td><td>Step-by-step guide to connecting your Slack workspace</td></tr><tr><td>**Daily Prompts**</td><td>How daily time tracking prompts work, how to configure timing and working days</td></tr><tr><td>**Slash Commands**</td><td>Available commands and report formats</td></tr></tbody></table>

# How to Install the Slack Integration

This guide walks through connecting your Invup organization to a Slack workspace, what happens after installation, and how to disconnect if needed.

---

## Prerequisites

Before you begin, make sure you have:

- **Owner or Admin role in Invup** — team members and contributors cannot install the integration.
- **A Slack workspace** your team uses. You'll need permission to authorize apps in that workspace (Slack workspace admin access may be required depending on your workspace settings).
- **Matching email addresses** — Invup matches team members to Slack users by email. For automatic linking to work, your team members' email addresses in Invup should match their Slack emails.

Each Slack workspace can only be connected to **one** Invup organization. If the workspace is already connected elsewhere, you'll need to disconnect it from that organization first.

---

## Step-by-Step Installation

### 1. Navigate to the Slack integration page

Go to **Settings &gt; Integrations** and click on the **Slack** card.

[![Admin - Slack Card.png](https://docfiles.invup.me/uploads/images/gallery/2026-03/scaled-1680-/admin-slack-card.png)](https://docfiles.invup.me/uploads/images/gallery/2026-03/admin-slack-card.png)

### 2. Click "Connect to Slack"

On the Slack integration detail page, click the **Connect to Slack** button in the top-right corner. You'll be redirected to Slack's authorization screen.

[![Admin - Slack Integration Page.png](https://docfiles.invup.me/uploads/images/gallery/2026-03/scaled-1680-/admin-slack-integration-page.png)](https://docfiles.invup.me/uploads/images/gallery/2026-03/admin-slack-integration-page.png)

### 3. Authorize Invup in Slack

Slack displays an authorization screen asking you to approve Invup's access to your workspace. Review the permissions being requested and click **Allow**.

[![Admin - Slack Authorization.png](https://docfiles.invup.me/uploads/images/gallery/2026-03/scaled-1680-/admin-slack-authorization.png)](https://docfiles.invup.me/uploads/images/gallery/2026-03/admin-slack-authorization.png)

The permissions Invup requests allow it to:

- Send direct messages to team members (for daily time tracking prompts)
- Read user profiles and email addresses (to match team members between systems)
- Respond to slash commands (for the `/invup` report command)

### 4. Confirm the connection

After authorizing, you're redirected back to Invup. The Slack integration page now shows a **Connected** status with three pieces of information:

- **Workspace** — the name of the connected Slack workspace
- **Connected by** — who installed the integration
- **Connected on** — the installation date

[![Admin - Slack Connected.png](https://docfiles.invup.me/uploads/images/gallery/2026-03/scaled-1680-/admin-slack-connected.png)](https://docfiles.invup.me/uploads/images/gallery/2026-03/admin-slack-connected.png)

A success notification confirms the workspace is connected.

---

## What Happens After Installation

### Team member linking

Immediately after connecting, Invup automatically matches your team members to Slack users by comparing email addresses. If a team member's email in Invup matches a Slack user's email, they're linked and will start receiving daily prompts.

This linking continues automatically:

- When you add a new team member to your Invup organization, Invup looks them up in Slack by email.
- When a new user joins your Slack workspace, Invup checks if they match an existing team member.

### Daily prompts begin

Once team members are linked, they'll start receiving daily time tracking prompts at the configured time (default: 4:45 PM in your organization's timezone). You can adjust the prompt time and working days in **Settings &gt; Organization**.

### What to check

After installation, verify the following:

1. **Go to the integration page** and confirm the workspace name is correct.
2. **Check team member linking** — the integration page shows how many team members are mapped. If some aren't linked, their Invup and Slack emails likely don't match.
3. **Adjust prompt settings** — go to **Settings &gt; Organization** to configure the prompt time and which days of the week prompts are sent.

---

## Disconnecting the Integration

If you need to remove the Slack integration:

1. Go to **Settings &gt; Integrations &gt; Slack**.
2. Click the **Disconnect** button in the top-right corner.
3. A confirmation dialog appears: *"This will stop all Slack time tracking prompts for your organization. Are you sure?"*
4. Confirm to disconnect.

Disconnecting:

- **Stops all daily prompts** — team members will no longer receive Slack DMs.
- **Unlinks all team members** — Slack user mappings are cleared.
- **Revokes the bot token** — Invup can no longer access your Slack workspace.
- **Preserves existing time entries** — any time entries already logged through Slack remain in Invup.

You can reconnect the same workspace at any time by following the installation steps again.

---

## Troubleshooting

### "Connect to Slack" redirects but nothing happens

Make sure you have permission to authorize apps in your Slack workspace. Some workspaces restrict app installation to Slack workspace admins. Ask your Slack administrator to approve the Invup app.

### Team members aren't linked after installation

Invup matches by email address. If a team member's Invup email doesn't match their Slack email, they won't be linked automatically. Update the email in either system so they match, and the next sync will link them.

### Workspace is already connected to another organization

Each Slack workspace can only be connected to one Invup organization. If you see an error about the workspace being in use, the workspace must be disconnected from the other organization first.

# Mapping Team Members to Slack Users

For the Slack integration to send daily prompts and accept time entries, Invup needs to know which Slack user corresponds to which team member. This connection is called **mapping**, and it happens automatically — Invup matches team members to Slack users by comparing email addresses.

---

## Why Mapping Is Needed

When Invup sends a daily time tracking prompt, it needs to know *which* Slack user to message. Mapping creates the link between a team member's Invup account and their Slack account. Without this link, the team member won't receive prompts and can't log time through Slack.

---

## How Automatic Mapping Works

Invup maps team members to Slack users by matching **email addresses**. When a team member's email in Invup matches a Slack user's email in the connected workspace, they're linked automatically.

This happens at three points:

### 1. On installation

When you first connect your Slack workspace, Invup immediately syncs all Slack users and matches them to your team members by email. Most of your team should be mapped within seconds of connecting.

### 2. When a new team member is added to Invup

When you add a new team member to your organization, Invup looks up their email in the connected Slack workspace. If a matching Slack user is found, the mapping is created automatically.

### 3. When a new user joins the Slack workspace

When someone joins your Slack workspace, Invup checks if their email matches an existing team member. If it does, the mapping is created automatically.

---

## Checking Mapping Status

### On the Slack integration page

Admins and owners can view the mapping summary on the Slack integration settings page (**Settings &gt; Integrations &gt; Slack**). This shows the total number of team members, how many are mapped, and how many are unmapped.

### On the team member list

For contributors, the team member list (**Settings &gt; Organization &gt; Team**) shows a mapping badge next to each contributor's role:

- **Matched** (green) — the contributor is linked to a Slack account and will receive prompts.
- **Unmatched** (gray) — the contributor hasn't been matched yet. They'll be matched automatically on the next sync.

Hovering over the badge shows a tooltip explaining the status.

---

## What Happens When a Team Member Isn't Mapped

If a team member isn't mapped to a Slack user:

- They **won't receive** daily time tracking prompts in Slack.
- They **can't use** the `/invup` slash command (Slack won't recognize them as an Invup user).
- They **can still** log time through the Invup web app as normal.

The most common reason for an unmapped team member is a **mismatched email address** — their email in Invup doesn't match their email in Slack.

---

## Fixing Unmapped Team Members

Since mapping is automatic and email-based, the fix is to make the emails match:

**Option A: Update the email in Invup**Go to **Settings &gt; Organization &gt; Team**, find the team member, and update their email to match their Slack email. A note reminds you: *"Changing the email may require Slack to re-sync the mapping."*

**Option B: Update the email in Slack**Have the team member (or a Slack admin) update their Slack profile email to match their Invup email.

After either change, the mapping will be picked up on the next automatic sync.

---

## Re-syncing the Slack User List

In most cases, mapping happens automatically and no manual action is needed. However, if you've made email changes and want to trigger a fresh sync, disconnecting and reconnecting the Slack workspace will re-run the full sync. See [How to Install the Slack Integration](https://docs.invup.me/books/slack-integration/page/how-to-install-the-slack-integration) for steps.

---

## Edge Cases

### Team member isn't in Slack

If a team member doesn't have a Slack account in your workspace, they can't be mapped. They'll remain unmapped and won't receive Slack prompts. They can still use the Invup web app to log time normally.

### Team member has a different email in Slack

Mapping depends on email addresses matching exactly. If someone uses `jane@company.com` in Invup but `jane.doe@company.com` in Slack, the mapping won't work. Update one of the emails so they match.

### One Slack workspace, multiple Invup organizations

Each Slack workspace can only be connected to one Invup organization. If you have multiple organizations, you'll need separate Slack workspaces for each.

### Team member changes their email

If a team member changes their email in either Invup or Slack, the existing mapping may become invalid. After the change, the next sync will attempt to re-match using the new email. If the emails no longer match, the team member will become unmapped.

# Configuring Daily Time Tracking Prompts

Daily prompts are automated Slack direct messages that remind each team member to log their hours. Every working day at a scheduled time, each linked team member receives a message listing their assigned projects with buttons to record time — right inside Slack.

This page covers how prompts are configured, what team members see, and how they interact with the prompt to log time.

---

## How Daily Prompts Work

Each working day, Invup checks which team members are linked to Slack and assigned to at least one project. At the configured prompt time, it sends each eligible team member a direct message listing their projects. The team member can then log time entries directly from that message.

### Who receives prompts

A team member receives a daily prompt when **all** of the following are true:

- Their Invup account is linked to a Slack user (matched by email)
- Their status is active
- They're assigned to at least one project (either directly or through a service)
- Daily prompts are enabled for the organization

If any of these conditions aren't met, the team member won't receive a prompt. For help with linking, see [Mapping Team Members to Slack Users](https://docs.invup.me/books/slack-integration/page/mapping-team-members-to-slack-users).

---

## Configuring Prompt Settings

Daily prompt settings are managed in **Settings &gt; Organization**, under the **Schedule Settings** section.

### Timezone

The **Timezone** setting determines when prompts are sent. Prompts are delivered at the scheduled time in your organization's timezone. For example, if your organization is set to `America/New_York` and the prompt time is 4:45 PM, all team members receive their prompt at 4:45 PM Eastern — regardless of where they personally are located.

[![Admin - Working Days Schedule.png](https://docfiles.invup.me/uploads/images/gallery/2026-03/scaled-1680-/admin-working-days-schedule.png)](https://docfiles.invup.me/uploads/images/gallery/2026-03/admin-working-days-schedule.png)

### Working Days

The **Working Days** setting controls which days of the week prompts are sent. By default, Monday through Friday are selected. Click a day to toggle it on or off. At least one working day must be selected.

Prompts are only sent on working days. If Saturday and Sunday are not selected (the default), no prompts go out on weekends.

This setting also affects the `/invup report` slash command — the "logged X of Y working days" count in reports is based on these configured days.

### Prompt Time

Prompts are sent at **4:45 PM** in your organization's timezone by default. This time is designed to catch team members before the end of the workday so they can log hours while the day's work is fresh.

---

## What the Prompt Looks Like

When a team member receives a daily prompt, the message includes:

1. **A greeting** with the team member's first name and the date
2. **A list of assigned projects**, each with its own action: 
    - **Non-service projects**: A **Record time** button (or **Edit time** with a checkmark and duration if time has already been logged)
    - **Service-based projects**: A dropdown to select a service (each option shows a checkmark and duration if already logged)
    - **Locked projects**: A lock icon with the unlock date — the button is disabled
3. **A dashboard link** (for non-contributor team members) to log time in the web app instead

[![Admin - Log Time Prompt.png](https://docfiles.invup.me/uploads/images/gallery/2026-03/scaled-1680-/admin-log-time-prompt.png)](https://docfiles.invup.me/uploads/images/gallery/2026-03/admin-log-time-prompt.png)

### How client names appear

If a project is linked to a client, the client name appears below the project name in the prompt — helping team members identify which project to log time to when they work with multiple clients.

---

## How Team Members Interact with the Prompt

### Logging time on a non-service project

1. Click the **Record time** button next to the project.
2. A modal opens with fields for **Hours**, **Minutes**, and an optional **Description**.
3. Fill in the duration and click **Submit**.
4. The prompt message updates in place — the button now shows **Edit time** with a checkmark and the logged duration.

[![Member - Log Time in Slack.png](https://docfiles.invup.me/uploads/images/gallery/2026-03/scaled-1680-/member-log-time-in-slack.png)](https://docfiles.invup.me/uploads/images/gallery/2026-03/member-log-time-in-slack.png)

### Logging time on a service-based project

1. Select a service from the dropdown next to the project.
2. A modal opens with the project name, service name, and the same duration and description fields.
3. Fill in the duration and click **Submit**.
4. The dropdown updates — the selected service now shows a checkmark and the logged duration.

### Editing an existing entry

If time has already been logged for a project (or a specific service), the button or dropdown option shows a checkmark with the duration. Clicking it opens the same modal, pre-filled with the existing values. Update the hours, minutes, or description and click **Submit** to save the changes.

### Locked projects

If a project's date falls within its lock period, the prompt shows a lock icon and the unlock date. Clicking the button displays a message explaining that the project is locked. Team members cannot log time to locked projects through Slack — admins can still log time through the web app.

---

## What Happens If a Prompt Fails

If a prompt can't be delivered (for example, because of a temporary Slack outage), Invup retries automatically with increasing delays. If all retries are exhausted, the prompt for that day is marked as failed. The team member won't receive it, but this doesn't affect future days — the next working day's prompt will be sent as normal.

Failed prompts don't require any action from admins. If a pattern of failures occurs, check that the Slack integration is still connected in **Settings &gt; Integrations &gt; Slack**.

---

## Summary

<table id="bkmrk-setting-where-to-con"><thead><tr><th>Setting</th><th>Where to configure</th><th>Default</th></tr></thead><tbody><tr><td>**Timezone**</td><td>Settings &gt; Organization &gt; Schedule Settings</td><td>EST</td></tr><tr><td>**Working Days**</td><td>Settings &gt; Organization &gt; Schedule Settings</td><td>Monday – Friday</td></tr><tr><td>**Prompt Time**</td><td>Default (not configurable in UI)</td><td>4:45 PM (organization timezone)</td></tr><tr><td>**Daily Prompts Enabled**</td><td>Enabled automatically when Slack is connected</td><td>On</td></tr></tbody></table>

# Slack Slash Commands

The `/invup` slash command lets you check your time tracking progress directly in Slack. You can pull up summaries for the current week, last week, or any month — without opening the Invup web app.

All commands are visible only to you (they don't post to the channel).

---

## Quick Reference

<table id="bkmrk-command-what-it-does"><thead><tr><th>Command</th><th>What it does</th></tr></thead><tbody><tr><td>`/invup help`</td><td>Shows all available commands</td></tr><tr><td>`/invup report`</td><td>This week's time summary</td></tr><tr><td>`/invup report this-week`</td><td>This week's time summary (same as above)</td></tr><tr><td>`/invup report last-week`</td><td>Last week's time summary</td></tr><tr><td>`/invup report [month]`</td><td>A specific month's time summary</td></tr></tbody></table>

---

## `/invup help`

Shows the list of available commands with their syntax.

**Example:**

```
/invup help

```

**Response:**

> **Available commands:**`/invup report` — This week's summary `/invup report last-week` — Last week's summary `/invup report [month]` — Monthly summary (e.g., `/invup report march`) `/invup help` — Show this help message

---

## `/invup report`

Generates a summary of your time entries for the **current week** (Monday through Sunday). This is the default report — running `/invup report` and `/invup report this-week` produce the same result.

**Example:**

```
/invup report

```

**Response includes:**

- **Header** with the date range (e.g., "Mon Mar 17 – Sun Mar 23")
- **Total hours** for the week
- **Project breakdown** — each project you logged time to, showing: 
    - Project name (and client name, if linked)
    - Duration and percentage of total
    - A visual progress bar
- **Working days count** — how many of your configured working days had logged time (e.g., "Logged 4 of 5 working days")

If no time has been logged for the week, the response says: *"No time logged this week yet. Use the daily prompt to record your hours!"*

---

## `/invup report last-week`

Same format as the weekly report, but for the **previous week** (Monday through Sunday).

**Example:**

```
/invup report last-week

```

---

## `/invup report [month]`

Generates a summary for a **specific month**. You can use the full month name or a common abbreviation.

**Accepted month names:**

<table id="bkmrk-full-name-abbreviati"><thead><tr><th>Full name</th><th>Abbreviations</th></tr></thead><tbody><tr><td>January</td><td>jan</td></tr><tr><td>February</td><td>feb</td></tr><tr><td>March</td><td>mar</td></tr><tr><td>April</td><td>apr</td></tr><tr><td>May</td><td>—</td></tr><tr><td>June</td><td>jun</td></tr><tr><td>July</td><td>jul</td></tr><tr><td>August</td><td>aug</td></tr><tr><td>September</td><td>sep, sept</td></tr><tr><td>October</td><td>oct</td></tr><tr><td>November</td><td>nov</td></tr><tr><td>December</td><td>dec</td></tr></tbody></table>

Month names are case-insensitive — `March`, `march`, and `MARCH` all work.

**Examples:**

```
/invup report march
/invup report jan
/invup report september

```

**Response includes everything in the weekly report, plus:**

- **Weekly breakdown** — hours logged per week within the month (e.g., "Week 1 (Mar 1–Mar 7): 38h 30m")

### Which year is used?

If the requested month hasn't occurred yet in the current year, Invup uses the **previous year**. For example, if it's March 2026 and you run `/invup report december`, you'll get December 2025.

---

## Error Messages

<table id="bkmrk-message-what-it-mean"><thead><tr><th>Message</th><th>What it means</th></tr></thead><tbody><tr><td>*"This workspace isn't connected to Invup."*</td><td>The Slack workspace doesn't have an active Invup integration. Ask an admin to connect it.</td></tr><tr><td>*"Your Slack account isn't linked to Invup. Please ask your admin to connect you."*</td><td>Your Slack email doesn't match any team member in Invup. See [Mapping Team Members to Slack Users](https://docs.invup.me/books/slack-integration/page/mapping-team-members-to-slack-users).</td></tr><tr><td>*"Unknown command: `/invup [text]`"*</td><td>You entered a command that doesn't exist. Run `/invup help` to see available commands.</td></tr><tr><td>*"Unknown argument: `[text]`"*</td><td>The argument after `report` wasn't recognized as a valid time period or month name.</td></tr><tr><td>*"Can't generate a report for a future month."*</td><td>You requested a month that hasn't started yet in the current year.</td></tr></tbody></table>

---

## Notes

- All reports use your **organization's timezone** to determine week and month boundaries. If your organization is set to Eastern Time, weeks run Monday 00:00 ET to Sunday 23:59 ET.
- The **working days count** respects your organization's working days setting. If your organization works Monday through Saturday, the count reflects six working days per week instead of five.
- Reports are **private** — they're only visible to you in Slack (ephemeral messages). Other people in the channel cannot see them.
- Reports show data for **your entries only** — admins don't see the entire organization's data through slash commands. Use the Invup web dashboard for organization-wide reporting.