# Getting Started with Spock π
Source: https://docs.spockoffice.com/getting-started
Follow these steps to setup Spock for your organization. It takes just a few minutes to get ready.
Follow these steps to setup Spock for your organization. It takes just few minutes to get ready.
Connect Spock to your Slack workspace
Configure leave types, approval workflows, and more
Organize your team structure and assign roles
Test the system with your first request
## Step 1. Add Spock to Slack
1. Visit our website [spockoffice.com](https://spockoffice.com/), go to **Pricing**, and choose your plan (the Professional plan includes a free trial). Then click **"Add Spock to Slack"**.
2. This action will redirect to the Slack website, where you have to **allow access permissions** for Spock in Slack. Please click on the **"Allow"** button. Do not forget to select your workspace in the top-right corner in the dropdown.
/>
At this moment Spock will install and it is ready to use. The next step is to set up leave policy for your organization.
## Step 2. Setup Leave Types
After allowing permissions for Spock, you will move to Spock Onboarding Wizard. There you can configure leave types and users.
Read detailed documentation on how to setup leave types
### Video: How to setup leave types
Video content would be embedded here in the actual documentation.
## Step 3. Setup Users Roles and Teams
### Assign User Roles
Assign roles to users to distribute application permissions.
Read more about user administration and role management
### Create Teams
Make teams and assign users to them to create an organizational structure.
Read more about teams and organizational structure
## Step 4. Request Your First Leave
You can request leave in Slack or via Spock Dashboard. Try to request the first one.
Read detailed guide on how to request a leave
## Next Steps
Now that you have Spock set up, explore these features:
Configure leave types for your organization
Sync Spock with your calendar applications
Set up approval workflows for leave requests
Configure public holidays for your organization
# Welcome to Spock π
Source: https://docs.spockoffice.com/index
Transform your team's leave management with Slack-integrated time-off tracking that brings transparency and simplicity to workplace culture.
**Spock** is your team's intelligent leave management companion, seamlessly integrated with Slack to make time-off tracking effortless, transparent, and human-centered. Say goodbye to complex spreadsheets and hello to a solution that actually works with your team's workflow.
**"It's like Spock took a weight off my shoulders... helps bring transparency to my team"** - Happy Spock User
## What Makes Spock Special?
Request leave, check balances, and get approvals right where your team already works - inside Slack.
Keep everyone in the loop with automatic daily absence notifications and clear visibility into team availability.
π Celebrate your team with automatic birthday and work anniversary tracking that builds connection.
π― Get up and running in minutes with instant Slack integration. No complex onboarding, no user training needed.
## Perfect for Growing Teams
Whether you're a startup of 5 or a scale-up of 500, Spock grows with your team. Designed specifically for **small to medium-sized businesses** who use Slack and want to eliminate the administrative burden of leave management while building a more transparent, connected workplace culture.
## Get Started in Minutes
Follow our step-by-step setup guide to get Spock running in your Slack workspace
Set up leave types, approval workflows, and allowances that match your company culture
Watch as your team seamlessly manages time-off without leaving Slack
Ready to transform your leave management? Let's get started with the complete setup guide.
## Ready to Transform Your Leave Management?
Join thousands of teams who've already discovered the joy of stress-free leave management. With Spock, you're not just tracking time-off β you're building a more transparent, connected, and happy workplace.
Start your free trial today. No credit card required, setup takes just minutes.
***
**Need help?** Our documentation covers everything you need to know, but if you get stuck, our support team is here to help you succeed.
# Billing Information
Source: https://docs.spockoffice.com/spock/billing/billing-information
Learn how to update your organization's billing information in Spock Dashboard.
When you want to change billing information, follow these steps.
## How to Change Billing Information
Click **Update Billing Information** button to submit.
Keep your billing information current to ensure you receive invoices and billing communications without interruption.
# Cancel Subscription
Source: https://docs.spockoffice.com/spock/billing/cancel-subscription
Learn how to cancel your Spock subscription.
When you want to cancel your subscription, follow these steps.
## How to Cancel Subscription
Sign in to Spock Dashboard.
Click **Account** tab.
Click the **Cancel Subscription** button.
Please enter your reason to cancel and feedback to help us with further development. Thank you.
Click the **Submit** button.
## After Cancellation
You can still use Spock unlimited until subscription ends.
Your subscription will remain active until the end of your current billing period, and you'll continue to have full access to all features during this time.
# Payment Method
Source: https://docs.spockoffice.com/spock/billing/payment-method
Learn how to update your payment method to ensure uninterrupted service.
Keeping your payment information up-to-date is essential for ensuring uninterrupted service and avoiding any potential disruptions due to an expired credit card. Whether your current card is nearing its expiration date or you've received a new one, it's important to update your payment method in our Billing System promptly.
## How to Change Payment Method
Click the **Update Payment Method** button to submit.
Update your payment method before your current card expires to avoid service interruptions.
# Upgrade to Professional Plan
Source: https://docs.spockoffice.com/spock/billing/subscription
Learn how to upgrade Spock to a monthly subscription and manage your billing information.
When you want to upgrade Spock to monthly subscription, follow these steps to complete the process.
## How to Upgrade to Monthly Subscription
Sign in to Spock Dashboard.
Click **Account** tab.
Click **Upgrade Now** button.
Enter your **billing** and **payment** information.
## Billing and Payment Details
The email address you enter is where we send invoices and receipts.
### Supported Payment Methods
We support the following credit cards:
* Visa
* Mastercard
* Maestro
* Discover
## Completing Your Subscription
When all information has been entered, click **Upgrade Now** button.
To finish payment you will be prompted to do **Purchase Authentication**.
After successful authentication, your subscription is created.
## After Upgrade
Once your subscription is successfully created, you will receive several communications:
1. **Subscription confirmation** - We will send you an email to confirm your subscription
2. **Payment receipt** - We send you the payment receipt immediately
3. **Invoice** - Invoice is sent in several hours by email
Keep these emails for your records. You can also access your invoices and receipts at any time through the Account section in the Spock Dashboard.
# Sign in to Spock Dashboard
Source: https://docs.spockoffice.com/spock/getting-started/dashboard-signin
Learn how to access the Spock Dashboard using your Slack account and troubleshoot common sign-in issues.
Follow these simple steps to access your Spock Dashboard:
Go to [https://spockoffice.com/spockapp](https://spockoffice.com/spockapp)
Click the **Sign in with Slack** button
On the Slack authentication page, **select your Slack workspace**
Click the **Accept and Continue** button
You are now **signed in** to Spock Dashboard and can start managing your leave requests.
## Troubleshooting Sign-in Issues
If you're having trouble signing in, check these common causes:
**Double-check** that you have **selected the correct Slack workspace** on the Slack authentication page and try again.
You are **not allowed to use Spock**. Please contact your HR manager or Spock Administrator to give you permission to use Spock.
**Spock was not installed** in your workspace. Please install Spock by clicking the "Add Spock to Slack" button on the [Spock homepage](https://spockoffice.com/).
Make sure you're using the same Slack account that has access to your organization's Spock installation.
# Birthdays and Anniversaries
Source: https://docs.spockoffice.com/spock/integrations/birthdays-anniversaries
Set up and manage birthday and work anniversary celebrations to elevate your workplace culture by celebrating important special dates directly within Spock.
The Birthdays & Anniversaries feature allows users to set birth dates π and hire dates π in their profile. Spock then calculates and automatically announces these special dates in the "Who is on leave" section in Slack, a dedicated "Birthdays and Anniversaries modal", in announcements, and in the Spock Dashboard.
## Prerequisites
* **Spock Professional Plan** subscription
* **General Manager** role to manage settings and permissions
## Enabling the Feature
The function is available if visibility of birthdays or anniversaries is enabled in **Privacy Settings** and **Date of birth** and **Hire Date** are filled in for the user.
## Privacy Settings
General Managers can manage the visibility of Birthdays and Anniversaries:
Go to **Settings** > **Privacy** in the Spock Dashboard.
Find the Birthdays and Anniversaries Visibility settings.
Toggle the visibility to ON or OFF for each as per your organization's privacy policy.
Save your changes to apply the new settings.
When toggled OFF, birthdays or anniversaries will not be displayed in the designated places.
## Managing Birth Dates and Hire Dates
To set up or edit a user's Birth date and Hire date:
Navigate to the user's profile in the **Work** tab.
Fill in the **Birth Date** and **Hire Date** fields using the calendar picker.
Save your changes to update the user's information.
You can also adjust other work information such as "Occupation Type", "Employee status", etc., in the same section.
## Viewing Announcements
Birthdays and Anniversaries are announced in four places:
### Who is on Leave Section (Slack)
This section in Spock Home provides a convenient overview of team members who are currently on leave or away from work. Additionally, apart from listing individuals on leave, it also includes a daily digest naming upcoming birthdays and work anniversaries.
### Birthdays and Anniversaries Window (Spock Home)
Dedicated section for displaying all birthdays and anniversaries. Not only can you view birthday and anniversaries dates, but you also have the option to filter them by month.
### Announcements
Birthdays and anniversaries appear in leave announcements in Spock notifications (Morning Report).
### Spock Dashboard
Birthdays and anniversaries are displayed in Calendar, member's profile and welcome page.
## Troubleshooting
Check if the Birthdays & Anniversaries visibility are toggled **ON** in **Privacy Settings** (Settings > Privacy).
Verify and correct the Birth and Hire dates in the affected user's profile in the **Work** tab.
# Calendar Integration Setup
Source: https://docs.spockoffice.com/spock/integrations/calendar-integration
Connect Spock with your calendar app to display leave information using iCal format, supporting Google Calendar, Apple Calendar, and Microsoft Outlook.
Spock allows you to display leave information directly in your calendar app using the iCal format, which is supported by all major calendar applications including Google Calendar, Apple Calendar, and Microsoft Outlook.
## Calendar Types
Spock offers two types of calendars for synchronization:
Displays all approved leaves for all active workspace members across the entire organization.
Displays all approved leaves for members of a selected team only.
## Integration via Slack
The quickest way to subscribe to your calendar:
Navigate to the Spock app within your Slack workspace.
Click the **"Subscribe Calendar"** button in the Spock interface.
Agree to subscribe to the calendar when prompted.
## Integration via Dashboard
### Company Calendar
Sign in to the [Spock Dashboard](/spock/getting-started/dashboard-signin).
Click the **Calendar** tab in the main navigation.
Click **"Subscribe Company Calendar"** on the right side of the page.
Agree to subscribe to the calendar.
### Team Calendar
Sign in to the [Spock Dashboard](/spock/getting-started/dashboard-signin).
Click the **Calendar** tab in the main navigation.
Choose the team by clicking on the team tab.
Click **"Subscribe Team Calendar"** on the right side.
Agree to subscribe to the calendar.
## Manual Integration via iCal URL
For more control or to add to multiple calendar applications:
Sign in to the [Spock Dashboard](/spock/getting-started/dashboard-signin).
Click the **Calendar** tab.
**Right-click** on **"Subscribe Company Calendar"** (or team calendar after selecting a team).
Select **"Copy Link Address"** from the context menu.
The **iCal URL** is now in your clipboard. Paste it into your preferred calendar application's import or subscription feature.
To get a team-specific iCal URL, follow the same steps but select your desired team first.
## Google Calendar Integration
Specific steps for Google Calendar integration:
Open [Google Calendar](https://calendar.google.com) in your web browser.
Click the **+** button next to "Other calendars" in the left sidebar.
Choose **"From URL"** from the dropdown menu.
Paste the iCal URL you copied from Spock into the URL field.
Click **"Add calendar"** to complete the integration.
The Spock calendar should now appear in your Google Calendar with all leave events.
## Benefits of Calendar Integration
Calendar events automatically update when leave statuses change
View leave schedules across all your devices and calendar apps
See team availability at a glance when planning meetings
Make informed decisions about project timelines and resource allocation
## Supported Calendar Applications
Full support with real-time synchronization and event updates.
Native support on macOS and iOS devices with automatic refresh.
Compatible with both desktop and web versions of Outlook.
Works with any calendar application that supports iCal/ICS format.
## Related Topics
Learn how to set up teams for team-specific calendar subscriptions.
Configure additional notification methods for leave updates.
Learn how to access the Spock Dashboard for calendar setup.
Understand how leave requests appear in your integrated calendar.
Calendar integration automatically syncs approved leave requests, so you'll always have an up-to-date view of team availability without manual updates.
# Personal Notifications
Source: https://docs.spockoffice.com/spock/integrations/notifications
Stay informed about team absences and leave requests with Spock's personal notification system, featuring daily morning reports and real-time event alerts.
Spock's personal notification system keeps you informed about leave activities that matter to you. Receive daily morning reports summarizing who is on leave, plus instant alerts when leave requests require your attention or involve your team.
## Morning Report
The Morning Report is a daily Slack notification that provides a summary of who is on leave for the current day. This helps you start your day informed about team availability and plan accordingly.
### How Morning Reports Work
* **Delivery time**: Sent every morning at 9:00 AM by default (customizable in your preferences)
* **Content**: Lists all team members who are on leave for the current day
* **Scope**: Can be configured to show your team members or the entire company
* **Frequency**: Sent every working day automatically
The morning report ensures you always know who is unavailable before you start planning meetings or assigning tasks.
You can customize your morning report delivery time and scope in your [Notification Preferences](/spock/preferences/notifications#morning-report-notification).
## Instant Event Notifications
Instant notifications alert you in real-time when important leave-related events occur. These notifications keep managers informed about approval requests and notify employees about their leave request status.
### 1. New Leave Registered
When a team member submits a leave request that **does not require approval**, Spock instantly notifies all General Managers and Team Managers.
**Who receives this notification:**
* General Managers
* Team Managers of the requesting employee
**Why it matters:** This keeps management aware of team availability without delays, even for auto-approved leave types.
### 2. Request for Approval Sent
When a team member submits a leave request that **requires approval**, Spock promptly sends a notification to all approvers.
**Who receives this notification:**
* General Managers
* Team Managers of the requesting employee
**Why it matters:** Approvers can quickly review and respond to requests, ensuring employees receive timely decisions about their time off.
### 3. Leave Request Was Approved
When a leave request is approved by a manager, Spock notifies all relevant parties to ensure everyone is informed about the updated leave schedule.
**Who receives this notification:**
* The employee who submitted the request
* General Managers
* Team Managers of the employee
**Why it matters:** Everyone stays synchronized on team availability and can adjust plans accordingly.
### 4. Leave Request Was Deleted, Canceled, or Changed
When a leave request is deleted, canceled, or modified, Spock notifies all affected parties about the change.
**Who receives this notification:**
* The employee who made the request
* General Managers
* Team Managers of the employee
**Why it matters:** Keeps everyone informed when availability changes, allowing for quick replanning.
### 5. Substitute Was Assigned
When a substitute is assigned to cover for an employee on leave, Spock notifies all involved parties to establish clear coverage responsibilities.
**Who receives this notification:**
* The substitute who will provide coverage
* The employee going on leave
* General Managers
* Team Managers
**Why it matters:** Ensures workflow continuity and clear communication about who is covering responsibilities during the absence.
## Personalizing Your Notifications
All personal notifications can be customized to fit your individual needs and preferences.
### Customize Your Settings
You can control:
* **Morning report timing**: Choose when you receive your daily summary
* **Morning report scope**: Select whether to see team members or entire company
* **Instant notifications**: Enable or disable real-time alerts
For detailed instructions on configuring your personal notification preferences, see [Notification Preferences](/spock/preferences/notifications).
### Who Should Enable Instant Notifications
Instant notifications are especially important for:
* **Managers and Team Leads**: Need to approve leave requests promptly
* **General Managers**: Require organization-wide visibility of leave activities
* **Team Members**: Want real-time updates about their own request status
Disabling instant notifications means you won't receive alerts about leave requests requiring your approval. If you have approval responsibilities, keep this setting enabled to avoid delays.
## Channel Notifications
In addition to personal notifications, Spock can post leave summaries and event notifications directly to Slack channels for broader team visibility.
### Organization-Wide Channel Notifications
Automatically post daily and weekly summaries of upcoming leave to a designated Slack channel for your entire organization. This provides centralized visibility of all leave across your workspace.
**Key features:**
* Daily summaries showing today's and tomorrow's leave
* Weekly summaries showing upcoming leave for 7, 14, or 30 days
* Customizable delivery times and timezones
* Single channel for organization-wide awareness
For setup instructions and best practices, see [Channel Notifications](/spock/leave-management/channel-notifications).
### Team-Specific Channel Notifications
Configure dedicated Slack channels for individual teams to receive notifications about their team members' leave activities.
**Key features:**
* Team-focused daily and weekly summaries
* Real-time event notifications (requests, approvals, rejections, cancellations, deletions)
* Independent configuration for each team
* Private or public channel support
To learn how to set up team channel notifications, see [Team Notifications](/spock/team-management/team-notifications).
## Related Topics
Customize your personal notification settings and preferences.
Set up organization-wide Slack channel notifications.
Configure team-specific Slack channel notifications.
Automatically update your Slack status when on leave.
# Integration Settings
Source: https://docs.spockoffice.com/spock/integrations/settings
Configure organization-wide integration settings for Slack user imports and external calendar content.
Integration Settings allow administrators to control how Spock integrates with Slack and external calendar applications. These organization-wide settings determine user access permissions and what information is shared with external calendars.
This page is for administrators only. These settings affect your entire organization and require admin privileges to modify.
## In this article
* [How to Access Integration Settings](#how-to-access-integration-settings)
* [Slack Users Import Settings](#slack-users-import-settings)
* [External Calendar Integration](#external-calendar-integration)
* [Saving Your Settings](#saving-your-settings)
## How to Access Integration Settings
Sign in to your Spock Dashboard with administrator credentials
Navigate to **Settings** > **Integrations**
Adjust integration settings according to your organization's needs
Click **Save Changes** to apply your settings
You can access Integration Settings directly at: [Open Integrations in Dashboard](https://spockoffice.com/spockapp/settings/integrations/)
## Slack Users Import Settings
### Control how imported Slack users access Spock
When you import users from Slack to Spock, you can control whether they can access the system immediately or require manual activation first. This setting helps you manage user onboarding and maintain control over workspace access.
**Setting:** Slack Users Import Settings
**Default:** Imported users can access Spock immediately
**Important:** Guest users (Single or Multi Channel Guests) always require manual activation regardless of this setting. Activate them in Settings > Users.
### Configuration Options
You can choose between two options:
When this option is selected:
* Users imported from Slack are automatically activated in Spock
* They can start using Spock right away without administrator intervention
* They receive access to all features according to their role
* No manual activation step is required
**Use this option when:**
* You want to streamline user onboarding
* You trust all Slack workspace members to access Spock
* You want to minimize administrative overhead
* Your organization has a small to medium-sized team
When this option is selected:
* Users imported from Slack are created but remain inactive
* They cannot access Spock until an administrator manually activates them
* Administrators must activate each user individually in Settings > Users
* This provides tighter control over workspace access
**Use this option when:**
* You want to control exactly who has access to Spock
* You need to review user permissions before granting access
* You have compliance or security requirements for user activation
* You want to onboard users in phases or groups
### How to Select Import Behavior
Find the **Slack Users Import Settings** section at the top of the Integrations page
Select one of the radio button options:
* **Imported users can access Spock immediately** (recommended for most organizations)
* **Imported users require manual activation before accessing Spock** (for controlled onboarding)
Click **Save Changes** at the bottom of the page to apply your selection
### Guest User Activation
Guest users in your Slack workspace are handled differently from regular members:
* Guest users are never automatically activated, even if you select "Imported users can access Spock immediately"
* Administrators must always manually activate guest users in the Users section
* This provides additional security control for external or limited-access users
To activate guest users:
1. Navigate to **Settings** > **Users**
2. Find the guest user in the user list
3. Click to activate their account
4. Configure their permissions and access level
Guest users typically have limited access to your Slack workspace. By requiring manual activation, you can ensure these users receive appropriate permissions in Spock as well.
## External Calendar Integration
### Select what appears in external calendar
Control what information from Spock appears in external calendar applications when users subscribe to Spock calendars. This setting determines the types of events that are included in the iCal feed for Google Calendar, Apple Calendar, Microsoft Outlook, and other calendar applications.
**Setting:** External Calendar Integration
**Default:** All options enabled (all content types visible)
### Content Options
You can choose to include or exclude the following types of information in external calendars:
**Checkbox:** Show approved leave requests
When enabled:
* All approved leave requests appear in external calendars
* Users can see when team members are on leave
* Leave events include relevant details like leave type and duration
* Only approved requests are shown (pending or rejected requests are excluded)
When disabled:
* Leave requests are hidden from external calendars
* Users must check the Spock Dashboard to see leave information
* Calendar integration focuses only on other event types
**Recommendation:** Keep this enabled. This is typically the primary reason for calendar integration and helps teams coordinate schedules.
**Checkbox:** Show public holidays
When enabled:
* Public holidays configured in Spock appear in external calendars
* Users can see official non-working days in their calendar app
* Holiday events are clearly marked and visible across all platforms
* Holidays reflect the holiday calendar assigned to each user
When disabled:
* Public holidays are hidden from external calendars
* Users must reference other sources for holiday information
* Calendar only shows leave requests and other selected event types
**Recommendation:** Enable this to help users plan around official non-working days.
**Checkbox:** Show team member birthdays
When enabled:
* Team member birthdays appear in external calendars
* Users receive reminders about upcoming birthdays
* Helps promote team culture and recognition
* Birthday information must be added to user profiles in Spock
When disabled:
* Birthdays are hidden from external calendars
* Users won't see birthday reminders in their calendar app
* Birthday information remains private
**Recommendation:** Enable this if your organization celebrates birthdays and wants to promote team engagement.
**Checkbox:** Show team member work anniversaries
When enabled:
* Work anniversaries appear in external calendars
* Users receive reminders about team members' milestone dates
* Helps recognize employee tenure and loyalty
* Anniversary dates must be configured in user profiles
When disabled:
* Work anniversaries are hidden from external calendars
* Users won't see anniversary reminders in their calendar app
* Anniversary information remains private
**Recommendation:** Enable this to celebrate employee milestones and promote team recognition.
### How to Configure Calendar Content
Find the **External Calendar Integration** section on the Integrations page
Review the four checkbox options:
* Show approved leave requests
* Show public holidays
* Show team member birthdays
* Show team member work anniversaries
Check or uncheck each option based on what you want to include in external calendars
Click **Save Changes** at the bottom of the page
After saving, inform users that they may need to re-subscribe to their calendars (see warning below)
### Re-subscription Requirement
**Important:** To include holidays, birthdays, and anniversaries in external calendar app, all users will need to re-subscribe to their calendar. [Learn how to subscribe to calendar](/spock/integrations/calendar-integration)
When you change the external calendar integration settings:
* Users who have already subscribed to Spock calendars may not see the changes immediately
* Calendar applications cache iCal feeds and may not refresh automatically
* Users should unsubscribe and re-subscribe to their Spock calendars to see updated content
#### How Users Should Re-subscribe
Direct users to follow these steps:
In their calendar application (Google Calendar, Apple Calendar, etc.), users should remove the existing Spock calendar subscription
Users should sign in to the Spock Dashboard
Click the **Calendar** tab in Spock
Click **Subscribe Company Calendar** or **Subscribe Team Calendar** to add the calendar again with updated settings
Users should verify that the new content types (holidays, birthdays, anniversaries) now appear in their calendar
For detailed calendar integration instructions, refer to the [Calendar Integration Setup](/spock/integrations/calendar-integration) documentation.
Plan calendar setting changes during a low-activity period and communicate with your team in advance. This gives users time to re-subscribe and minimizes disruption to their workflows.
## Saving Your Settings
After adjusting any integration settings, you must save your changes:
1. Review your selections for both Slack Users Import and External Calendar Integration
2. Click the blue **Save Changes** button at the bottom of the form
3. Alternatively, click **Cancel** to discard any changes and revert to previous settings
Changes to integration settings take effect immediately upon saving:
* Slack import behavior applies to all future user imports
* External calendar content changes require users to re-subscribe to their calendars
## Use Cases and Best Practices
### Recommended Settings for Most Organizations
For standard organizations:
* **Slack Users Import:** Imported users can access Spock immediately (streamlined onboarding)
* **External Calendar - Approved leave requests:** Enabled (essential for team coordination)
* **External Calendar - Public holidays:** Enabled (helps with planning)
* **External Calendar - Birthdays:** Enabled (promotes team culture)
* **External Calendar - Work anniversaries:** Enabled (celebrates milestones)
### Recommended Settings for Security-Conscious Organizations
For organizations with strict access controls:
* **Slack Users Import:** Imported users require manual activation (controlled access)
* **External Calendar - Approved leave requests:** Enabled (essential for team coordination)
* **External Calendar - Public holidays:** Enabled (helps with planning)
* **External Calendar - Birthdays:** Disabled if privacy is a concern
* **External Calendar - Work anniversaries:** Disabled if privacy is a concern
### When to Require Manual Activation
Choose manual activation for imported Slack users if:
* Your organization has compliance requirements for system access
* You want to verify user roles before granting access
* You're onboarding a large number of users and want to control the rollout
* You have a mix of full-time employees, contractors, and consultants with different access needs
* You need time to configure individual user permissions before they access Spock
### When to Show All Calendar Content
Enable all external calendar content options if:
* Your organization values team culture and recognition
* You want to maximize calendar integration benefits
* Privacy concerns about birthdays and anniversaries are minimal
* Your team actively uses external calendars for planning and coordination
### When to Limit Calendar Content
Disable some external calendar content options if:
* Your organization has privacy policies restricting personal information sharing
* You want to keep external calendars focused only on leave and holidays
* Your team doesn't celebrate birthdays or anniversaries organizationally
* You want to minimize calendar clutter
Integration settings are organization-wide and affect all users. Consider surveying your team or consulting with stakeholders before making significant changes.
## Related Topics
Learn how users can subscribe to Spock calendars in their calendar applications.
Manage user accounts and manually activate imported Slack users.
Configure birthday and work anniversary tracking for your organization.
Set up public holiday calendars that appear in external calendar apps.
After changing integration settings, communicate the changes to your team. For external calendar changes, provide clear instructions on how to re-subscribe and include a timeline for when they should complete the re-subscription.
# Slack Status Updating
Source: https://docs.spockoffice.com/spock/integrations/slack-status
Automatically update Slack statuses when users are on leave to enhance communication and transparency within your team.
This functionality enhances communication and transparency within your team by automatically updating Slack statuses when a user is on leave. By activating this feature, Spock will indicate a user's leave type and the duration of leave directly within Slack.
## Setup Slack Status Updating (Administrators)
The following steps guide administrators through the process of enabling the Slack Status Update feature within Spock:
Navigate to **Settings** in your Spock dashboard and click on **Leave Types** to view the different leaves available.
Select the specific **Leave Type** you wish to modify.
Within the Leave Type settings, locate the **"Allow Slack Status Update"** toggle switch and switch it on to enable the feature for that particular leave type.
Once enabled, you can select a **Status Emoji** that best represents the leave type and enter the **Status Text** that will appear alongside the emoji in Slack to describe the leave status.
After configuring the emoji and text, click **Save** to apply the settings. The Slack Status Update is now enabled for the selected leave type.
## Authorize Spock to Update Slack Status for User
Each user must grant permission for Spock to update their Slack status. Here's how users can authorize this feature:
In Slack, navigate to the **Spock home tab** and click the **"Allow Status Update"** button.
You'll be redirected to the **authorization page**. Click on the **"Authorize"** button to proceed and follow the prompts to give Spock permission to update your Slack status.
After completing the authorization, Spock will now have the ability to automatically update your Slack status when you submit a leave request. Once approved, your Slack status will reflect the type and duration of your leave automatically.
For the Slack Status Update feature to work effectively, all users planning to use this feature must go through the authorization process individually.
## Managing Slack Status Update Settings
You can manage your Slack Status Update authorization at any time through the Spock Dashboard:
Navigate to **Settings** > **Notifications** > **Slack Status Update** in the Spock Dashboard.
From this page, you can:
* **Re-authorize** Spock to update your Slack status if authorization has expired or been revoked
* **Switch off** Slack status updating temporarily if you need to disable it without removing authorization
If you only need to temporarily disable Slack status updates, use the switch-off option rather than revoking authorization. This makes it easier to re-enable the feature later without going through the full authorization process again.
# Accruals
Source: https://docs.spockoffice.com/spock/leave-management/accruals
Distribute leave allowances gradually over the year with monthly or weekly accrual, instead of granting the full balance on January 1st.
Accrual distributes an employee's yearly leave allowance gradually over the year instead of granting it all at once. You can configure accrual per employee from the **Allowances** tab.
Before setting up accrual, make sure the leave type has allowance tracking enabled and a default allowance configured. See [Allowances](/spock/leave-management/allowances) for details.
## Accrual Frequencies
Spock supports three accrual modes:
| Mode | How it works | Example |
| -------------------- | ------------------------------------------------------------------------ | --------------------------------- |
| **Yearly** (default) | Full allowance available from day one of the year | 25 days available on January 1st |
| **Monthly** | Yearly target divided into 12 portions, accrued on the 1st of each month | 24-day target = 2 days per month |
| **Weekly** | Yearly target divided into 52 portions, accrued every Monday | 26-day target = 0.5 days per week |
### Why Use Accrual?
* Prevents employees from using their entire annual leave early in the year and then leaving the company.
* Aligns with legal requirements in jurisdictions where leave must be earned over time.
* Gives managers better visibility into how much leave an employee has actually earned versus what they plan to use.
### Key Concepts
| Term | Meaning |
| ----------------- | -------------------------------------------------------------------------------------------------- |
| Yearly Target | Total days the employee will earn over the full year |
| Per-Period Amount | Days added each period (Yearly Target / 12 for monthly, / 52 for weekly) |
| Start Date | Date from which accrual begins (typically the hire date); past periods are automatically caught up |
| Pro-rate | When enabled, the first partial period is reduced proportionally |
| Accrual Schedule | Timeline showing completed, current, and planned accrual periods for the year |
## Setting Up Accrual for an Employee
Navigate to the employee's profile and go to the **Allowances** tab. You will see each leave type with its current accrual configuration.
Click the **Configure Accrual** button on the leave type you want to set up. A dialog titled **Configure Accrual Policy** opens.
Check **"Override default accrual policy"** to enable per-employee accrual settings that override the company default.
Select the **Accrual Frequency** from the dropdown:
* **Yearly** β full allowance granted at start of year
* **Monthly** β accrues on the 1st of each month
* **Weekly** β accrues every Monday
Enter the **Yearly Target (days)** β the total number of leave days the employee should earn over the full year.
Spock shows the calculated per-period amount below the input. For example, a yearly target of 24 days with monthly frequency shows: *"Per-period accrual: 2.000 days/month"*.
Enter a **Start Date** for the accrual. This is usually the employee's hire date or the date from which the new policy should begin.
* If the start date is in the past, Spock shows how many past periods will be automatically accrued as catch-up.
* The start date is also used for pro-rating the first partial period when pro-rate is enabled.
Check **"Pro-rate for partial periods"** to reduce the first period when the start date falls partway through it.
**Example:** Monthly accrual with a start date of January 15. The full monthly amount is 2 days. With pro-rating enabled, January accrual = 2 x (17/31) = 1.097 days. Without pro-rating, the full 2 days are granted.
If the employee already has a non-zero allowance balance, Spock asks whether you want to reset it to zero before starting accruals.
* **Check the box** to reset to zero β accruals will build the balance from scratch.
* **Leave unchecked** to keep the existing balance and add accruals on top.
Click **Save Accrual Policy**. Spock saves the configuration, processes any catch-up accruals for past periods, and updates the employee's balance.
**Required Role:** Administrator or General Manager access is needed to configure accrual policies.
## Viewing the Accrual Schedule
After setting up monthly or weekly accrual, an **Accrual Schedule** button appears next to Configure Accrual. Click it to see a timeline of the entire year showing:
* **Summary stats** β total Accrued (completed), Planned (future), and Yearly Target
* **Timeline** with each period displayed as a row:
* Green check = **Completed** (already accrued)
* Clock icon = **Current** period (in progress)
* Empty circle = **Pending** (future, planned)
* Minus icon = **Skipped** (before start date)
* **Pro-rated** periods are marked with an info badge showing the calculation reason
Monthly accrual follows calendar months. Weekly accrual follows MondayβSunday periods. If the leave type uses **Yearly** mode, there is no periodic schedule to display.
## Changing an Existing Accrual Policy
When you modify any accrual setting on an employee that already has accrual history, Spock shows a **policy change warning** panel:
> *"Changing this accrual policy will recalculate historical accruals."*
### Effective Date
Choose the date from which the new policy takes effect. Spock can align the recalculation start to a clean accrual boundary:
* A monthly change can align to the first day of the month
* A weekly change can align to Monday
* Switching to **Yearly** can recalculate from January 1
* Changing the yearly target inside an active periodic policy can also recalculate from January 1
### Reason for Change
Optionally enter a note explaining the policy change (for example, *"Promoted to senior role, increased PTO"*). This is recorded in the audit trail.
### Recalculation Preview
Spock automatically shows a preview of the impact before you save:
* **Balance change** β current balance vs. recalculated balance (with the difference shown as +/- days)
* **Periods affected** β how many existing accrual periods will be replaced and how many new ones will be created
Manual adjustments, carryover, and booked leave are preserved. Only accrual-generated balance is recalculated.
### Confirmation
You must check the box **"I understand this change will recalculate accrual history from the effective date"** before saving.
### Reverting to Company Default
To remove the per-employee accrual override:
1. Open **Configure Accrual**.
2. Uncheck **"Override default accrual policy"**.
3. Click **Save Accrual Policy**.
This returns the allowance to the company default policy and clears the custom accrual history tied to the employee override.
## Accrual Panel and Change History
After configuration, the Accrual panel on the employee's Allowances page displays:
| Field | Meaning |
| ----------------------- | --------------------------------------------------------------- |
| Mode | Current accrual frequency (Yearly / Monthly / Weekly) |
| Yearly Target | Total days to be earned over the year |
| Per Period | Calculated amount per accrual period |
| Start Date | Date accruals began |
| Pro-rate Partial | Whether the first partial period is pro-rated |
| Badge: Default / Custom | Whether the employee uses company defaults or a custom override |
All accrual-related events appear in the **Change History** section:
* **Accrual** β each time a period is accrued (automated)
* **Accrual policy change** β when the policy is modified
* **Accrual reset** β when custom accrual is disabled
* **Accrual reconciliation** β when historical accruals are recalculated after a policy change
Each entry shows the balance change, timestamp, and whether it was automated or performed by a specific admin.
## What Carries Into the Next Year
* **Frequency** carries forward
* **Yearly Target** carries forward
* **Pro-rate for partial periods** carries forward
* **Start Date** does not carry forward β it is treated as a one-time date for the year being configured
## When Accruals Run
| Frequency | Schedule |
| --------- | ------------------------------ |
| Monthly | 1st of each month at 00:05 UTC |
| Weekly | Every Monday at 00:05 UTC |
Accruals are processed automatically β no manual action is needed after setup.
## Related Topics
Configure default leave allowances and adjust individual employee balances.
Understand how unused balances transfer to the next period.
Set up leave categories including allowance tracking.
Configure which days count as working days for leave calculations.
# Allowances
Source: https://docs.spockoffice.com/spock/leave-management/allowances
Configure default leave allowances for leave types and adjust individual employee allowances to accommodate unique circumstances.
A leave allowance is the total number of paid days off an employee is entitled to for a specific leave category over a year. Spock allows you to set default allowances for each leave type and manually adjust them for individual employees.
By default, the full allowance is available from January 1st. If you want to distribute it gradually over the year instead, see [Accruals](/spock/leave-management/accruals) to set up monthly or weekly accrual for individual employees.
## Understanding Leave Allowances
Leave allowances provide structure and consistency to your organization's time-off policies while allowing flexibility for special circumstances. The system automatically assigns default allowances to eligible employees and tracks all adjustments for auditing purposes.
Default allowances are automatically assigned to all employees at the beginning of each leave period or when a new employee joins the company.
## Configuring Default Allowances
Set standard allowances that apply to all employees for specific leave types.
Go to **Settings** > **Leave Types** in your dashboard.
Choose the leave type you wish to configure from the list.
Toggle the **"Has Allowance"** option to enable allowance management for this leave type.
Enter the default number of days for the yearly allowance.
(Optional) Enable **"Allow Overrun"** to permit employees to request leave beyond their accrued balance, resulting in a negative balance.
**Required Role:** Administrator or General Manager access is needed to configure default allowances.
## Adjusting Individual Employee Allowances
Sometimes you need to modify an individual's leave allowance for special circumstances such as:
* Rewarding long-term service
* Carrying over unused days from previous periods
* Accommodating contractual agreements
* Addressing unique employment situations
Navigate to the **Members** section in your dashboard.
Find and select the employee whose allowance you want to adjust.
Go to the **"Allowances"** tab in the employee's profile.
Locate the specific leave type you need to adjust.
Click the **"Make Adjustment"** button to open the adjustment dialog.
Input the new allowance value in the dialog box.
(Recommended) Add a note explaining the reason for the adjustment for audit trail purposes.
Click **"Make Adjustment"** to save the change.
**Required Role:** General Manager access is required to adjust individual employee allowances.
## Calculate Prorated Allowance for Employee
When an employee starts partway through the year or has a change in employment status mid-period, you may need to prorate their allowance to reflect the actual time they're eligible for leave. The proration calculator automatically determines the appropriate allowance based on the employee's start date and the default yearly allowance.
Common scenarios for prorated allowances include:
* New employees joining mid-year
* Employees returning from extended unpaid leave
* Changes in employment status affecting leave eligibility
* Mid-year adjustments to leave policies
Navigate to the employee's **Allowances** tab and click **"Make Adjustment"** for the relevant leave type.
In the adjustment dialog, click the **"Prorate Allowance"** button to open the proration calculator.
Select the date to which the allowance should be prorated (typically the employee's start date or the date when the change takes effect).
The system automatically calculates the prorated allowance based on:
* The default yearly allowance for the leave type
* The number of days remaining in the year from the selected date
Click **"Use Prorated Allowance"** to insert the calculated value into the adjustment dialog. The system automatically adds a note documenting the proration details.
Review the prorated allowance value and note, then click **"Make Adjustment"** to save the change.
The proration calculation uses the formula: (Default Allowance Γ Days Remaining) Γ· Days in Year. For example, if an employee starts on July 1st with a 10-day default allowance, their prorated allowance would be approximately 5 days (10 Γ 184 Γ· 365).
## Best Practices
Always add notes when making allowance adjustments to maintain a clear audit trail and explain the reasoning behind changes.
Establish clear policies for when and why allowance adjustments should be made to ensure fair treatment across your organization.
Periodically review allowance settings to ensure they align with your organization's current policies and legal requirements.
Carefully consider whether to allow overruns, as this can impact payroll and budgeting processes.
## Related Topics
Learn about configuring different types of leave in your organization.
Understand how unused allowances can be carried forward to the next period.
Manage user roles and permissions for allowance management.
Generate reports on allowance usage and adjustments.
The system maintains a complete history of all allowance adjustments, making it easy to track changes and ensure compliance with your organization's policies.
# Approvals
Source: https://docs.spockoffice.com/spock/leave-management/approvals
Set up and manage approval workflows for leave requests, including automatic assignment based on organizational hierarchy and manual approver selection.
Spock streamlines the **approval process** for any type of leave request. When a submission requires approval, each request is automatically directed to the appropriate approver based on your organizational hierarchy or manually assigned approvers.
Upon submission, Spock promptly notifies designated approvers who can review and approve requests directly from Slack notifications or via the Dashboard. Once a decision is made, Spock immediately updates the requestor and informs other relevant approvers.
## Setting Up Approval Workflow
Configure which leave types require approval before they're processed:
Go to **Settings** > **Leave Types** in your dashboard.
Choose the leave type you want to add approval requirements to.
Set **Approval is required** to **ON**.
From this point forward, approval will be required whenever this leave type is requested.
## How to Approve Leave Requests
Approvers can process requests through three convenient methods:
Notification messages contain action buttons that allow immediate approval or rejection.
A list of pending approvals is displayed in the Spock Home Tab for easy access.
In the dashboard's **Leaves** section, pending approval requests are prominently displayed.
## Approval Reminders
If an approver doesn't act, Spock can follow up automatically. While a request is still waiting for a decision, approval reminders re-notify the approvers on a schedule you choose, tell the requester their request is still pending, and β optionally β escalate to your General Managers once the reminders run out.
Approval reminders are configured workspace-wide by a General Manager in **Settings** > **Policies**.
Choose the reminder interval, how many reminders each request generates, and whether unanswered requests escalate to General Managers.
## Approval Policy
Each member can have an individual approval policy that determines how their leave requests are routed. You can configure these policies in the member's profile under the **Approval** tab (**Members** > select member > **Approval**).
Spock supports three approval policies:
### 1. Manager Approval (Org Structure Based)
Requests are automatically routed to the member's Team Manager(s) when a team is assigned; otherwise, they are sent to the General Manager(s).
This is the default policy for all members.
This policy leverages your organizational hierarchy:
* **Team Members**: Requests go to their assigned Team Manager(s)
* **Members without a Team**: Requests go to the General Manager(s)
* **General Managers**: Requests are auto-approved (no further review required)
### 2. Custom Approvers
Manually select one or more approvers. This overrides the default routing to Team Manager(s) or General Manager(s).
Use this option when you need specific individuals to approve a member's requests, regardless of the organizational structure.
To configure custom approvers:
1. Select the **Custom Approvers** option
2. Click **Manage Approvers**
3. In the modal, search and select one or more approvers
4. Click **Save** to apply
Once set, these approvers will handle all future leave requests from this member.
### 3. Auto-Approve
Auto-approve all requests. Skips approval workflow entirely.
When enabled, the member's leave requests are approved automatically without requiring any manager review. This is useful for trusted employees or specific roles that don't require oversight.
## Approval Workflow Rules
The approval workflow follows these rules based on the member's configured approval policy:
| Approval Policy | How Requests Are Routed |
| ---------------- | -------------------------------------------------------------------------------- |
| Manager Approval | Routed to Team Manager(s) if assigned to a team, otherwise to General Manager(s) |
| Custom Approvers | Routed to the manually selected approver(s) |
| Auto-Approve | Approved automatically without review |
### Special Cases
* **General Managers**: Leave requests from General Managers are always approved automatically, regardless of their approval policy setting.
* **Team Managers**: By default, Team Manager requests are approved automatically. This can be changed in **Settings** > **Policies** > **Auto-Approval for Team Managers' Leave Requests** to require General Manager approval instead.
* **Approver Authority**: General Managers can approve any leave request in the organization, regardless of the requester's team or approval policy.
## Related Topics
Learn how to organize teams and assign managers.
Manage user roles and permissions.
Configure different types of leave and their requirements.
How managers can submit requests for team members.
By adhering to these rules, Spock ensures that your approval process is both streamlined and adherent to your organizational hierarchy and policies.
# Balances
Source: https://docs.spockoffice.com/spock/leave-management/balances
View and track your current leave balances across all leave types to make informed decisions about your time off.
Leave balances are real-time indicators of your current status for each leave type, showing how many days you've used, what remains available, and any carryover from previous periods. Understanding your balances helps you plan time off effectively and ensures you stay within your allocated allowances.
## Why Balances Matter
Monitoring your leave balances is essential for:
* **Planning ahead**: Know exactly how much leave you have available before requesting time off
* **Avoiding surprises**: Stay informed about your remaining allowance to prevent declined requests
* **Tracking usage**: See at a glance how much leave you've used throughout the year
* **Managing carryover**: Monitor expiring carryover days to use them before they're lost
* **Making decisions**: Understand approval requirements for different leave types
Your balances update automatically whenever leave is approved, rejected, or cancelled, ensuring you always have accurate information.
## Viewing Your Balances in Slack
Access your personal leave balances directly within the Slack app for quick reference.
Navigate to the Spock app from your Slack sidebar and go to the **Home** tab.
Click the **My Balances** button to open your balances overview.
The balances modal displays comprehensive information for each leave type. You can view all your leave balances with detailed breakdowns.
Use the **Year** dropdown at the top of the modal to view balances from previous or future years.
Click **Close** when you're finished reviewing your balances.
## Viewing Balances in the Dashboard
Access detailed balance information through your user profile in the Spock Dashboard.
Navigate to the [Spock Dashboard](https://spockoffice.com/spockapp) and go to **Profile** > Select your name.
Scroll down to the **Balances** section in your profile. This displays a comprehensive table with all your leave types.
The table shows key metrics for each leave type across multiple columns.
Use the **Year** dropdown in the top-right corner of the Balances section to view historical or future year balances.
## Viewing Team Member Balances
Managers can view team member balances when reviewing leave requests to make informed approval decisions.
When a team member submits a leave request, you'll receive a notification in Slack.
In the leave request notification, click the **Member Balances** button to view the requester's current balances.
The member's balances modal opens, showing their complete leave status to help you make an informed approval decision.
Managers with appropriate permissions can view balances for their team members to understand leave availability when processing requests.
## Understanding Balance Components
Your leave balances include several key metrics that provide a complete picture of your leave status.
The total number of days you've already used for this leave type during the current year. This includes all approved leave requests.
The total number of days allocated to you for this leave type for the entire year. This is your baseline entitlement set by your organization.
Unused days from the previous year that have been carried forward. Carryover days often have an expiration date (e.g., "Expires on: Mar 31, 2025") after which they'll be lost if not used.
The number of days currently available for you to request. This is calculated as: (Yearly allowance + Carryover - Spent this year).
Indicates whether requests for this leave type need manager approval or are automatically approved. This helps you understand the request workflow.
A color-coded bar showing your usage at a glance. The yellow/orange portion represents used days, while the green portion shows remaining available days.
## Best Practices
Always review your balances before submitting a leave request to ensure you have sufficient days available and avoid declined requests.
Pay attention to carryover expiration dates and prioritize using those days before they expire to maximize your time off.
Review your yearly allowance at the beginning of each year to plan your time off strategically throughout the year.
Periodically check your balances to stay aware of how much leave you've used and what remains available.
Note which leave types require approval to set appropriate expectations for request processing times.
Use the year dropdown to review previous years' balances for personal recordkeeping or to identify usage patterns.
## Related Topics
Learn how to submit leave requests through Slack or the Dashboard.
Understand how leave allowances are configured and adjusted.
Learn how unused days are carried forward to the next period.
Explore different leave types and their configurations.
Your balance information is always up-to-date and reflects real-time changes. Any approved, rejected, or cancelled leave automatically updates your available balance.
# Carryover
Source: https://docs.spockoffice.com/spock/leave-management/carryover
Set up and manage carryover policies to transfer unused leave balances to new periods, with customization options for individual employees.
Spock allows the carryover of unused balances to a new period through a structured carryover process. You can configure carryover policies for each leave type and customize them for individual members when needed.
You must have a **General Manager** role to process carryover. The carryover process can be executed from the start of the year until the end of March.
## Understanding Carryover
Carryover amounts are visible in:
* Members' profiles under the "Balances" section
* Slack in "My Balances" view
## Carryover Policies
Choose from three carryover policies to determine how unused balances transfer to new periods:
Unused balances will not be transferred to a new period.
**Example:** Balance of 5 days at year-end results in zero carryover.
The entire unused balance transfers to the new period.
**Example:** Balance of 5 days at year-end results in 5 days carryover.
Only a specified maximum number of days transfer to the new period.
**Example:** With a 3-day limit, a balance of 5 days results in 3 days carryover.
### Carryover Expiration
For "Remaining Count" and "Limited Count" policies, you can set an expiration period:
Carryover expiration defines how many days after the new period starts that carryover will expire. After expiration, leave requests are covered from the new period's allowance rather than carryover.
**Example:** With 31-day expiration and 5 days carryover, the carryover remains available until January 31st, then expires.
## Setting Up Carryover Policies
Configure carryover policies for each leave type that has allowances enabled:
Go to **Settings** > **Leave Types** in your dashboard.
Choose a leave type that has allowance tracking enabled.
Check **"Allow carryover of current balances to next period"**.
Select your desired carryover policy from the available options.
If using "Limited Count" policy, enter the maximum carryover limit.
(Optional) Check **"Carryover expires"** and enter the number of days until expiration.
Click **Save** to apply the carryover policy.
## Executing the Carryover Process
Once policies are configured, execute the carryover process to transfer balances:
Navigate to **Settings** > **Carryover**.
Check **"Do Balances Carryover"** to initiate the process.
Click **"Proceed"** to start the balance transfer.
The process may take some time to transfer all balances across your organization.
After completion, you can verify carryover amounts in members' profiles under the "Balances" section, where a "Carryover" column will display the transferred amounts.
## Customizing Carryover for Individual Members
Override the default carryover policy for specific employees when needed:
Go to **Members** and select the employee's profile.
Click on the **"Allowances"** tab.
Locate the leave type you want to customize carryover for.
Click the **"Override"** button next to the default policy.
In the dialog that appears, check **"Customize Carryover Policy"** and configure the new policy.
Click **"Save and Proceed Carryover"** to recalculate the carryover according to the new policy.
## Best Practices
Set up carryover policies before the end of the year to ensure smooth transition to the new period.
Inform employees about carryover policies and expiration dates to help them plan their leave effectively.
Review and adjust carryover policies annually to ensure they align with your organization's needs and legal requirements.
Maintain records of custom carryover overrides for individual employees for audit and compliance purposes.
## Related Topics
Learn how to configure and manage employee leave allowances.
Understand different types of leave and their configuration options.
Generate reports on carryover usage and patterns.
Manage user roles required for carryover administration.
# Channel Notifications
Source: https://docs.spockoffice.com/spock/leave-management/channel-notifications
Automatically post daily and weekly summaries of upcoming employee leave directly into Slack channels for better team coordination and visibility.
Channel Notifications allow you to automatically post summaries of upcoming employee leave directly into designated Slack channels. You can configure both organization-wide notifications and team-specific notifications to keep everyone informed about planned absences.
## Organization-Wide Channel Notifications
Organization-wide notifications send leave summaries to a single Slack channel for your entire workspace. This provides centralized visibility of all upcoming leave across your organization.
### Accessing Channel Notification Settings
Sign in to the [Spock Dashboard](/spock/getting-started/dashboard-signin).
Click the **Settings** tab, then select **Notifications** in the left menu under Leave Policy category.
### Channel Selection
Before configuring notifications, you must select the Slack channel where summaries will be posted.
Spock must be invited to your selected Slack channel before notifications will work. In your chosen channel, type `/invite @spock` to add Spock to the channel.
Select your preferred channel from the **Slack Channel** dropdown menu.
If you haven't already, go to your selected Slack channel and run:
```
/invite @spock
```
If you don't see private channels in the list, the Spock Administrator/Installer may need to reinstall Spock from the [pricing page](https://spockoffice.com/web/pricing/).
### Daily Summary
The Daily Summary sends a concise overview of leave every workday, helping your team stay informed about daily absences.
Check the **Enable Daily Summary** checkbox to activate daily notifications.
Set the **Send at** time when you want the summary delivered each workday. Choose a time that works best for your team, such as early morning before work begins.
Choose the appropriate **Timezone** to ensure summaries are sent at the correct local time.
Select what leave information to include from the **Include** dropdown:
* **Today**: Only include leave occurring today
* **Tomorrow**: Only include leave occurring tomorrow
* **Today & Tomorrow**: Include leave for both today and tomorrow (recommended for comprehensive daily awareness)
Click **Save Changes** to activate your Daily Summary configuration.
Daily summaries are sent on workdays only, based on your organization's working days configuration.
### Weekly Summary
The Weekly Summary provides a broader view of upcoming leave, helping teams plan ahead for coverage and project coordination.
Check the **Enable Weekly Summary** checkbox to activate weekly notifications.
Select the **Send every** day of the week when you want the summary delivered. Common choices include:
* **Sunday**: Review upcoming leave before the work week
* **Monday**: Start the week with leave visibility
* **Friday**: Plan for the following week
Configure the **Send at** time for weekly summary delivery.
Choose the appropriate **Timezone** for your organization.
Select the time range from the **Include** dropdown:
* **Next 7 Days**: One week ahead (ideal for short-term planning)
* **Next 14 Days**: Two weeks ahead (better for medium-term coordination)
* **Next 30 Days**: One month ahead (comprehensive long-term visibility)
Click **Save Changes** to activate your Weekly Summary configuration.
You can enable both Daily and Weekly summaries simultaneously. They serve different purposes and complement each other well.
## Team-Specific Channel Notifications
In addition to organization-wide notifications, you can configure dedicated Slack channel notifications for individual teams. This allows each team to receive notifications about their team members' leave in their own dedicated channels.
Team notifications offer more granular control, including:
* Team-specific Slack channels
* Daily reports with customizable send times
* Event-based notifications (requesting, approving, rejecting, canceling, or deleting leave)
For detailed instructions on setting up team-specific channel notifications, see [Team Notifications](/spock/team-management/team-notifications).
## Best Practices
### When to Use Daily Summaries
Daily summaries work best for:
* **Small to medium teams** (under 50 people) where daily absences significantly impact operations
* **Operations teams** that need real-time awareness of staffing levels
* **Customer support teams** that must ensure adequate coverage every day
* **Project teams** with tight deadlines where daily coordination is critical
**Recommended settings:**
* Send time: 8:00 AM (before work begins)
* Include: Today & Tomorrow
* Timezone: Your primary office location
### When to Use Weekly Summaries
Weekly summaries are ideal for:
* **Large organizations** where daily updates would be overwhelming
* **Management teams** that need strategic visibility without daily details
* **Planning and scheduling** departments that work on longer timelines
* **Cross-functional teams** that need advance notice for coordination
**Recommended settings:**
* Send every: Sunday or Monday
* Send time: 6:00 PM Sunday or 8:00 AM Monday
* Include: Next 14 Days (balances detail with actionability)
* Timezone: Your primary office location
### Combining Organization-Wide and Team Notifications
For optimal results, consider this approach:
1. **Organization-wide channel**: Use for leadership visibility and company-wide awareness
* Enable Weekly Summary (Next 14-30 Days)
* Post to a general channel like #announcements or #team-updates
2. **Team-specific channels**: Configure for operational coordination
* Enable Daily Reports in team channels
* Enable event notifications (requests, approvals) for real-time updates
* Each team manages their own channel preferences
### Channel Selection Strategy
* **Public channels**: Use for organization-wide summaries to maximize transparency
* **Private team channels**: Use for team-specific notifications to maintain focus
* **Dedicated leave channel**: Consider creating a #leave or #out-of-office channel specifically for organization-wide summaries
Avoid sending both organization-wide and team notifications to the same channel, as this may create duplicate notifications and confusion.
## Related Topics
Configure team-specific channel notifications with granular control.
Learn about personal notification settings and morning reports.
Customize your individual notification preferences.
Configure working days that affect when summaries are sent.
# Cancel Leave
Source: https://docs.spockoffice.com/spock/leave-management/delete-request
Learn how to delete or cancel your leave requests through Slack or the Spock Dashboard.
You can cancel a leave request through either Slack or the Spock Dashboard. This is useful when your plans change or you no longer need the time off.
Once you delete a leave request, this action cannot be undone. Make sure you really want to cancel before confirming.
## Delete Request in Slack
Navigate to the Spock application within your Slack workspace.
Click the **My leave** button to view your current requests.
Locate the leave request you want to delete from the list.
Click the **Delete** button next to the leave request.
Confirm the action when prompted to permanently delete the request.
## Delete Request in Dashboard
Access the [Spock Dashboard](/spock/getting-started/dashboard-signin) using your Slack credentials.
Click the **Profile** tab in the main navigation.
Locate the list of approved leaves section on your profile page.
Find your leave request and click the **Delete** button next to it.
Confirm the deletion when prompted to complete the cancellation.
## Important Considerations
You can typically delete leave requests that are:
* Pending approval
* Already approved (depending on company policy)
* Rejected requests (for cleanup purposes)
Deleting a leave request may trigger notifications to:
* Your manager or approvers
* Team members who were notified of your absence
* Colleagues assigned as substitutes
If you have calendar integration enabled, deleting the request will also remove the associated calendar events.
## Related Topics
Learn how to submit new leave requests.
Understand the approval process for leave requests.
If you need to modify a leave request instead of deleting it, consider canceling the current request and submitting a new one with the updated details.
# Public Holidays
Source: https://docs.spockoffice.com/spock/leave-management/holidays
Configure and manage public holiday calendars for your organization across different countries and regions.
Public Holidays are government-approved days that an organization provides for its employees as a day off from work. Holidays act as **non-working days**. When you request leave and there is a holiday between the start and end dates, this day is not counted to your leave.
If your team is multinational or geographically spread across more countries you would need to manage holidays for all these groups. Spock offers **Holiday Calendars** to solve this issue. You can easily create multiple holiday calendars and assign them to a specific group of employees.
See the full list of [Supported Countries](/spock/leave-management/supported-countries) for automatic holiday import.
## In this article
* [How to Create a Holiday Calendar](#how-to-create-a-holiday-calendar)
* [How to Import Holidays](#import-holidays)
* [How to Add Holidays Manually](#how-to-enter-holidays-manually)
* [How to Set Holiday Calendar as Primary](#how-to-set-primary-holiday-calendar-the-default-calendar)
* [How to Delete Holiday Calendar](#how-to-delete-holiday-calendar)
* [How to Assign Members to Calendar in Bulk](#how-to-assign-members-to-calendar-in-bulk)
* [How to Assign Holiday Calendar to User](#how-to-assign-holiday-calendar-to-user)
You can manage Holidays in **Dashboard** > **Settings** > **Holidays**
Link: [Open Settings in Dashboard](https://spockoffice.com/spockapp/settings/holiday-calendars/)
## Holiday Calendars
Holiday Calendar represents a list of holidays. You can have multiple holiday calendars, but one has to be **primary** (default calendar).
## How to create a Holiday Calendar
Navigate to **Settings** > **Holidays**
There is a list of all Holiday Calendars
Click **Add Holiday Calendar**
Enter **Calendar Title** and submit the form
Holiday Calendar was created
## How to add holidays to the holiday calendar
You can either manually enter holidays manually or import holidays for a specific country.
### Import holidays
Select the Holiday Calendar you want to add holidays to
Holidays for specific country and year are imported
## How to Enter holidays manually
Select the Holiday Calendar you want to add holidays to
Click **Save**
Repeat until all holidays are entered
You can anytime change the name of the holiday or delete it from the holiday calendar. If you want to **change the date** of the holiday, you have to delete it first and then create a new one.
## How to set primary holiday calendar (the default calendar)
One holiday calendar has to be Default Calendar. This calendar is used for all members who do not have been assigned to any holiday calendar.
To set holiday calendar as default:
Select the Holiday Calendar you want to set as default
Click the **Set as Default Calendar** button
Holiday Calendar is now the primary calendar
## How to delete Holiday Calendar
If the holiday calendar is not in use anymore you can delete it.
Click **Delete All Holidays** to delete holidays from the calendar
You can change the year in the top bar by selecting from the dropdown. Repeat until all holidays are deleted.
Then click **the Edit Calendar** button
Click **Delete Holiday Calendar** and confirm to delete
All the changes are **instantly propagated** in Spock and affect requesting leaves and displaying calendars.
## How to Assign Members to Calendar in Bulk
You can assign multiple members to a holiday calendar at once:
Select the Holiday Calendar you want to assign members to
Click the **Assign Members to This Calendar** button
In modal dialog, select members to assign
Click **Save Assignments**
## How to Assign Holiday Calendar to User
You can assign any holiday calendar to user:
Navigate to **Members** section
Select Member, you want to assign new Holiday Calendar
You see the current active calendar and list of holidays
Choose a new Holiday Calendar from the dropdown
Click **Change Calendar**
The new holiday calendar is already active for given user
# Leave Types
Source: https://docs.spockoffice.com/spock/leave-management/leave-types
Learn how to set up and configure different types of employee leave in Spock, including vacation, sick leave, and custom leave policies.
## What Are Leave Types?
Leave types categorize different kinds of employee absences, such as vacation, sick leave, parental leave, and more. Each leave type has specific conditions, entitlements, and approvals associated with it, ensuring that leave management is clear, fair, and consistent across the organization.
## Why Are Leave Types Important?
Clearly categorized leave types help in streamlining the approval process and provide a snapshot of who is out of office and why.
Ensures that all leave requests adhere to organizational policies and legal
regulations.
Simplifies the leave request process for employees, ensuring their
entitlements are easily accessible and fairly managed.
Accurate leave tracking helps in workforce planning, reducing the risk of understaffing during critical periods.
## Video Tutorial
Watch this video to learn how to manage leave types effectively in Spock:
[https://www.youtube.com/watch?v=pFuzULEQBlY](https://www.youtube.com/watch?v=pFuzULEQBlY)
## How to Setup Leave Types
You can configure the following settings for each leave type:
### Basic Configuration
**Purpose:** Determine whether the leave type is available for employees to request.
**Configuration:** Toggle to activate or deactivate the leave type.
**Purpose:** Define the name of the leave type.
**Configuration:** Enter a clear and descriptive name (e.g., "Sick Leave", "Vacation Leave").
**Purpose:** Define the description of the leave type.
**Configuration:** Specify when this leave type should be used by providing a clear and informative description (e.g., "Sick Leave" for illness-related absences, "Vacation Leave" for planned time off).
**Purpose:** Define the color of the leave type.
**Configuration:** Select a color for the leave type to visually identify it in the leave calendar.
**Purpose:** Define if the leave type allows half days.
**Configuration:** Toggle this option to allow half days for the leave type.
**Purpose:** Define if the leave type uses a discreet name.
**Configuration:** Toggle this option to use a discreet name for the leave type.
### Advanced Settings
**Purpose:** Specify if the leave needs to be approved by an approver.
**Configuration:** Select whether approval is mandatory.
Read more about how the approval process works
**Purpose:** Enable tracking of leaves in hours instead of full days.
**Configuration:** Toggle this option to allow hourly tracking for more granular leave management.
**Purpose:** Configure whether and how employees assign substitutes to cover their work during absences.
**Configuration:** Select one of three options from the **Substitute Coverage** dropdown:
* **Don't ask for substitute:** The substitute field will not appear in leave requests
* **Allow substitute (optional):** Employees can optionally select a substitute when requesting leave
* **Require substitute (mandatory):** Employees must select a substitute before submitting their leave request
Read more about substitute management and best practices for choosing the right option
**Purpose:** Define if the leave type has a yearly allowance.
**Configuration:**
* **Enable** this feature if the leave type has a yearly allowance
* Set the **Default Yearly Allowance** in days - the amount allocated per year to each member
* **Allow Allowance Overrun:** Specify if employees can have a negative balance
* **Allow Carryover:** Determine how unused leave balances carry over to the next period
Read our detailed Carryover Policy Guide
**Purpose:** Define a monthly limit for leaves when approval is not required.
**Configuration:** Set a maximum number of days that can be taken per calendar month without needing approval.
When the monthly limit is enabled, approval for this leave type is automatically turned off. Requests within the set monthly limit do not require approval.
**Purpose:** Update the requester's status in Slack while they are on leave.
**Configuration:**
* Enable this feature to automatically update the requester's Slack status
* Set the **Status Emoji** and **Text** to indicate the type of leave (e.g., π΄ "On vacation," π "Sick Leave")
## Best Practices
* **Vacation Leave:** Annual paid time off
* **Sick Leave:** Health-related absences
* **Personal Leave:** Personal matters and emergencies
* **Parental Leave:** Maternity/paternity leave
* **Bereavement Leave:** Time off for family loss
* Use clear, descriptive names
* Set appropriate allowances based on company policy
* Consider enabling hourly tracking for flexible arrangements
* Configure Slack status updates for better team visibility
## Related Topics
Configure approval workflows
Manage leave allowances
Set up carryover policies
# Policies
Source: https://docs.spockoffice.com/spock/leave-management/policies
Configure organizational policies for leave deletion, Team Manager approvals, administrative permissions, and approval reminders.
Policies in Spock allow you to define how your organization handles key leave management workflows and permissions. These settings determine who can perform certain actions, helping you establish clear governance while enabling appropriate autonomy for team leaders.
You can configure these settings from the Dashboard under Settings > Policies.
## Policy Configuration Options
**Purpose:** Control who has permission to delete leaves that have already been taken.
**Configuration:**
* **Enabled:** Regular users will have the ability to delete leaves that they have taken in the past
* **Disabled:** Only General Managers or Team Managers will be able to delete these leaves
**Use Cases:**
* Enable for organizations that trust employees to manage their own leave history and correct mistakes
* Disable to maintain stricter control over historical leave records and prevent unauthorized modifications
Enabling this option gives employees more autonomy to correct their own errors, but disabling it ensures that leave history remains under management oversight.
**Purpose:** Determine whether Team Managers' leave requests require approval from General Managers.
**Configuration:**
* **Enabled:** Automatically approve leave requests from Team Managers
* **Disabled:** The General Manager(s) will still need to approve a Team Manager's leave request
**Use Cases:**
* Enable to streamline the approval process for Team Managers who are responsible for their own schedules
* Disable if you want all leave requests, including those from Team Managers, to go through General Manager approval
Automatically approving Team Manager leave requests reduces administrative overhead and demonstrates trust in your team leaders while still maintaining oversight through the leave tracking system.
**Purpose:** Control whether Team Managers can modify administrative settings for their team members.
**Configuration:**
* **Enabled:** Allow Team Managers to adjust allowances, holidays, and working days for their team members
* **Disabled:** Only General Managers can manage members' allowances, holidays, and working days
**Use Cases:**
* Enable for organizations with decentralized management where team leaders should handle day-to-day administrative tasks
* Disable to maintain centralized control over employee allowances and schedules through General Managers only
Granting Team Managers this permission allows them to make significant changes to employee entitlements. Ensure your Team Managers understand their responsibilities before enabling this option.
This policy affects Team Manager access to:
* **Allowances:** Individual employee leave allowance adjustments
* **Holidays:** Holiday calendar assignments for team members
* **Working Days:** Individual employee working day configurations
## Approval Reminders
When an employee submits a leave request that needs approval, Spock immediately sends each approver a Slack DM with **Approve** and **Reject** buttons. Sometimes nobody clicks. The request sits there, the employee doesn't know whether to book flights, and the approver has scrolled past the message.
**Approval reminders** make Spock follow up. While a request is still waiting for a decision, Spock re-notifies the approvers on a schedule you choose, keeps the requesting employee informed, and β if you want it β escalates to your General Managers when the approvers still haven't acted.
Only **General Managers** can change approval reminder settings. These settings apply to the **whole workspace** β there are no per-team or per-leave-type overrides.
### Enabling Approval Reminders
Go to **Settings** > **Policies** and find the **Approval reminders** section.
Switch the master toggle on. The cadence options below become active.
Set how long Spock waits between reminders (**Remind every**) and how many reminders a single request can generate (**up to ... per request**).
Optionally tick **Escalate to General Managers**. This is off by default β see [General Manager Escalation](#general-manager-escalation) below.
Click **Save Changes**. Nothing is applied until you save β if you change the toggle without saving, the status line shows a "not saved yet" warning.
The default state depends on when your workspace was installed:
| Workspace | Approval reminders |
| ------------------------------------------ | -------------------------------------------------------------------- |
| Installed before this feature was released | **Off** β you need to switch them on |
| Installed after the release | **On**, with the default cadence (every 24 hours, up to 3 reminders) |
General Manager escalation is **off by default** in every workspace, new or existing.
**Reminders only apply to requests submitted after you enable them.**
Turning approval reminders on does not start reminding about leave requests that were already pending. Spock begins tracking a request for reminders at the moment the approval request is sent, and only while the feature is switched on.
This is deliberate β switching the feature on never floods your approvers with a burst of DMs about a months-old backlog. Your existing backlog stays visible in **Pending approvals** and on the dashboard card; it just won't generate reminder DMs.
The same applies if you switch reminders **off and then on again**: requests submitted during the "off" period are never reminded, even after you re-enable.
### Settings Explained
| Setting | Options | What it does |
| -------------------------------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Approval reminders** (master toggle) | On / Off | Turns the whole feature on or off for the workspace. When off, no reminder DMs, no requester notifications, and no escalations are sent. |
| **Remind every** | 24 / 48 / 72 hours | How long Spock waits between reminders. The first reminder is sent one full interval after the original approval request. |
| **up to ... per request** | 1 to 5 reminders | The maximum number of reminders sent for a single request. Default is 3. Once the cap is reached, Spock stops reminding β and escalates, if escalation is on. |
| **Escalate to General Managers** | Checkbox, off by default | Notifies your General Managers once when a request is still unanswered after the last reminder, or has no active approver left to remind. |
**Changing the interval mid-flight:** if you change the interval while requests are already being reminded, the new interval takes effect from each request's *next* reminder onwards. Reminders that are already scheduled keep their existing time.
### When Reminders Are Sent
Two rules decide the timing: the **interval** you configured, and the **delivery window**. Both must be satisfied.
Reminders are delivered at approximately **9:00 in the requesting employee's timezone**, and only on **working days**. Weekends, non-working days, public holidays, and company holidays are skipped β Spock rolls the reminder forward to the next working morning.
This means the interval behaves as "working mornings", not as an exact clock countdown:
| Scenario | What happens |
| ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
| Request submitted Monday 14:00, 24-hour interval | First reminder Tuesday around 9:00 in the requester's timezone |
| Request submitted Friday 16:00, 24-hour interval | Saturday and Sunday are skipped β first reminder Monday around 9:00 |
| A reminder would land on a public holiday | Rolled forward to the next working day at around 9:00 |
| 48-hour or 72-hour interval | The reminder is due 2 or 3 days later, then rolled forward to the next working morning if that day is not a working day |
A reminder is never sent **earlier** than the configured interval. If a request goes in at 14:00 with a 24-hour interval, the reminder waits until the following morning β it does not fire at 9:00 the same day just because that date matched.
**An approver who is on leave is still reminded.** Spock deliberately does not skip reminders because the approver happens to be on vacation β the request would otherwise be silently stranded. If this becomes a problem for you, use General Manager escalation.
#### When Reminders Stop
Spock stops reminding about a request as soon as any of these is true:
* The request is **approved** or **rejected**
* The request is **cancelled** or **deleted**
* The **leave's start date has passed** (judged in the requester's own timezone) β reminding about leave that already began is pointless
* The **maximum number of reminders** for the workspace has been reached
* The workspace **turns reminders off**
### What People Receive in Slack
Each approver gets **one DM per reminder round**, no matter how many requests are due for them. Approvers get a single, actionable message instead of one DM per request.
**One request waiting** β the full approval card, under a reminder header:
> π **Reminder β approval still needed**
> *This leave request is still waiting for your approval.*
>
> *\[the standard leave request card, with **Approve** and **Reject** buttons]*
**Several requests waiting** β a list, each row with its own buttons:
> π **Approval reminders β 4 requests waiting for you**
> *These leave requests are still waiting for your approval.*
>
> *\[each pending request, with **Approve** and **Reject** buttons]*
The Approve and Reject buttons in a reminder are the **same buttons** as in the original request card. Clicking them approves or rejects the request immediately β there is no extra step and no difference in behavior.
**Large digests:** if an approver has a lot waiting, the digest shows the first **10** requests and adds a note such as *"β¦and 3 more requests waiting β open Spock to review them all."* The header always shows the true total.
On each reminder round, the employee who submitted the leave also gets a short DM:
> β³ Reminder: your **Vacation** request for **12 Aug β 16 Aug** is still awaiting approval from Sarah Connor and John Doe.
The named approvers are the ones actually reminded in that round.
A reminder digest lists several requests at once, so it cannot simply flip to "Approved" the way a single request card does. Instead, Spock **re-renders** it:
* The moment any request in the digest is approved, rejected, cancelled, or deleted, each affected approver's **most recent** reminder digest is rewritten in Slack to show only what is still pending
* If nothing is left, the message becomes: *"β
All caught up β nothing waiting for your approval."*
* The **original** approval request card still flips to its resolved state exactly as it always has
**Older reminders may look stale.** Only the latest digest per approver is kept live. If you scroll back and click a button in an older reminder, Spock responds with *"Leave request was already approved by β¦"* β nothing breaks, and nothing is double-approved.
An assigned approver is skipped when they are:
* Deleted or deactivated in Slack
* Not using Spock
* A bot account
* Using Spock with **instant notifications switched off** in their own preferences
The requester's notification is likewise suppressed if they have instant notifications off.
**Approvers who lost their manager role are still reminded.** If someone was assigned as an approver and later stopped being a manager, Spock keeps reminding them as long as their account is active β they were the person asked, and Spock never silently rewrites who was asked. This preserves the record of who was responsible for the request.
### General Manager Escalation
When escalation is enabled, Spock notifies your workspace's **General Managers** once about a request that is stuck. A General Manager can approve or reject any request in the workspace, so they can resolve it straight from the DM.
Escalation fires in exactly two situations:
| Trigger | Meaning |
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- |
| **Reminder cap reached** | The assigned approvers were reminded the maximum number of times and still haven't decided. |
| **No active approver** | Every assigned approver has been deleted, deactivated, stopped using Spock, or turned notifications off β there is nobody left to remind. |
The escalation message contains the full leave request card with **Approve** and **Reject** buttons, plus an explanation:
> π¨ **Approval needed β escalated to you**
>
> *\[the full leave request card, with **Approve** and **Reject** buttons]*
>
> *Mark Smith's request has been waiting 4 days. The assigned approver(s) (Sarah Connor) were reminded 3 times and have not acted β escalating to you as a General Manager.*
To enable escalation, make sure the master toggle is on, tick **Escalate to General Managers when a request is still unanswered after the last reminder, or has no active approver left to remind**, then click **Save Changes**.
**Things to know:**
* Escalation is sent **once per request**. It is not a recurring reminder.
* It goes to **all active General Managers** in the workspace who have instant notifications enabled.
* It is a **notification, not a reassignment**. The original approvers stay assigned to the request and stay on record.
* It is delivered in the same **9:00 requester-local** window as reminders, on the first morning after the trigger condition is met.
Escalation is **off by default** β escalating over an approver's head is a policy decision each workspace should make deliberately.
If escalation is off and every approver is gone, the request is not silently lost. It is flagged as **needs attention** in the Policies status summary and on the General Manager's dashboard card.
### Tracking Pending Approvals
#### Status Summary on the Policies Page
Directly under the approval reminder settings, Spock shows a small read-only summary so you can confirm the feature is working:
| Indicator | Meaning |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| **Reminders are on / off** | The current saved state of the master toggle. |
| **N pending approvals** | All leave requests in the workspace currently awaiting a decision. |
| **N waiting > 48h** | How many of those have been waiting more than two days. |
| **N needs attention** | Pending requests with no active approver left to remind. Shown only when the count is above zero, with a link to the pending approvals list. |
**Needs attention** is the one to watch. It means Spock has nobody it can DM about that request. Either escalation will handle it (if enabled), or a General Manager needs to step in and approve or reject it directly.
#### The Pending Requests Dashboard Card
Managers see a **Pending requests** card on the Spock dashboard. It appears only when there is something pending in their scope, and only for managers.
**General Managers** see the whole workspace:
| Tile | Meaning |
| ------------------- | -------------------------------------- |
| **Pending** | All pending requests in the workspace. |
| **Waiting > 48h** | Pending for more than two days. |
| **Needs attention** | Pending with no active approver left. |
**Team Managers** who are not General Managers see only their own scope β requests from the teams they manage, plus any request they are personally an approver of:
| Tile | Meaning |
| -------------------------- | -------------------------------------------------------- |
| **Pending in your teams** | Pending requests across the teams they manage. |
| **Waiting > 48h** | Pending for more than two days. |
| **Awaiting your approval** | Requests where they are personally an assigned approver. |
Below the tiles, the card lists the **oldest waiting** requests (up to four), each showing the employee, leave type, dates, and how long it has been waiting. Rows are tagged **Awaiting you** when you are an assigned approver, and **No active approver** when nobody is left to remind (General Manager view only). A footer link opens the full pending approvals list.
Regular employees never see this card, and it disappears entirely when there is nothing pending in your scope. The card works whether or not reminders are enabled β you can use it as a manual follow-up tool even with reminders switched off.
### Approval Reminder FAQ
Reminders are enable-forward only. Only requests submitted *after* you enabled the feature are reminded. Use the dashboard card or the pending approvals list to clear the existing backlog manually.
At most one reminder DM per reminder round, regardless of how many requests are waiting for them. With the default settings (every 24 hours, up to 3), an approver with pending requests gets at most one DM per working morning, for at most three mornings per request.
Not in this version. The settings are workspace-wide.
No to both. Reminders are always delivered around 9:00 in the requesting employee's timezone, and snooze is not part of this version.
No. If they were the assigned approver when the request was submitted, Spock keeps reminding them while their account is active β it never rewrites who was originally asked. If they should no longer act on it, a General Manager can approve or reject the request directly.
## Best Practices
When configuring organizational policies, consider the following recommendations:
Configure policies to match your company's management hierarchy and decision-making processes.
Begin with more restrictive settings and gradually enable permissions as you build trust and processes.
If enabling Team Manager permissions, ensure they understand their responsibilities and the impact of their decisions.
Periodically review these policies as your organization grows to ensure they still meet your governance needs.
## Related Topics
Learn about user roles and their permissions
Understand team structure and Team Manager roles
Configure the leave approval workflow
Learn how leave deletion works for users
Policy settings play a crucial role in defining how your organization manages leave processes. Consider your company culture, size, and compliance requirements when configuring these options, and communicate any changes clearly to your team.
# Privacy
Source: https://docs.spockoffice.com/spock/leave-management/privacy
Configure what information members can view across your organization, including profiles, calendars, reports, birthdays, and anniversaries.
Privacy settings in Spock allow you to control the visibility of sensitive employee information across your organization. These settings help you balance transparency with privacy, ensuring that team members have access to the information they need while protecting personal data according to your organization's policies.
You can configure these settings from the Dashboard under Settings > Privacy.
## Privacy Configuration Options
**Purpose:** Control who can view detailed employee information including leave balances and request history.
**Configuration:**
* **Enabled:** All members can view comprehensive information on all member profiles, including leave balances and leave request history
* **Disabled:** Only General Managers or Team Managers can view this detailed information
**Use Cases:**
* Enable for organizations with a transparent culture where sharing leave information helps with team planning
* Disable for organizations that require stricter privacy controls or handle sensitive leave types
This setting affects the visibility of personal leave data. Consider your organization's privacy policies and employee expectations when configuring this option.
**Purpose:** Determine whether team members can view leave calendars from teams other than their own.
**Configuration:**
* **Enabled:** Team members can view the calendars of all teams across the organization
* **Disabled:** Team members can only view their own team's calendar
**Use Cases:**
* Enable for cross-functional organizations where multiple teams need to coordinate schedules
* Disable for organizations with distinct departments that operate independently
Enabling cross-team calendar visibility improves coordination for projects involving multiple departments and helps prevent scheduling conflicts for shared resources.
**Purpose:** Control access to organizational reports and analytics.
**Configuration:**
* **Enabled:** All members can view reports
* **Disabled:** Only General Managers or Team Managers can access reports
**Use Cases:**
* Enable for organizations that promote data transparency and want all employees to understand leave patterns
* Disable to restrict sensitive analytics to management roles only
Reports may contain aggregated data about leave patterns, team utilization, and other metrics that some organizations prefer to keep at the management level.
**Purpose:** Control whether member birthdays are displayed throughout the application.
**Configuration:**
* **Enabled:** Members' birthdays are visible to all members in the Calendar, Announcements, and member Profiles
* **Disabled:** Only managers will be able to see birthdays
**Use Cases:**
* Enable to foster team culture and allow colleagues to celebrate together
* Disable if employees prefer to keep birthday information private
Read more about how birthdays and anniversaries work in Spock
**Purpose:** Control whether work anniversaries are displayed throughout the application.
**Configuration:**
* **Enabled:** Members' work anniversaries are visible to all members in the Calendar, Announcements, and member Profiles
* **Disabled:** Only managers will be able to see anniversaries
**Use Cases:**
* Enable to recognize employee tenure and celebrate milestones across the organization
* Disable to keep anniversary information limited to management
Work anniversaries help build team morale by recognizing employee commitment and tenure with the organization.
## Best Practices
When configuring privacy settings, consider the following recommendations:
Find the right balance between team transparency and individual privacy based on your organizational culture and legal requirements.
Inform your team about privacy settings and any changes to ensure everyone understands what information is visible and to whom.
Periodically review your privacy settings as your organization grows and evolves to ensure they still align with your needs.
Ensure your privacy configuration complies with applicable data protection regulations such as GDPR or similar laws in your jurisdiction.
## Related Topics
Learn how to manage user roles and permissions
Understand how team structure affects visibility and access
Configure birthday and anniversary celebrations
Learn about available reports and analytics
Privacy settings are an important aspect of your Spock configuration. Take time to discuss these options with your leadership team and ensure they align with your organization's values and compliance requirements.
# Bulk Request
Source: https://docs.spockoffice.com/spock/leave-management/recurring-leaves
Learn how to request recurring leaves that repeat weekly, such as regular home office days or recurring appointments.
Spock offers the ability to request **recurring leaves** that repeat weekly, perfect for regular patterns like home office days every Monday and Friday. This bulk request feature saves significant time compared to submitting individual requests.
Recurring leaves can only be requested for leave types with **no approval** and **no monthly limit** requirements. Each recurring leave can be either one full day or half a day long.
## How to Request Recurring Leaves
You can submit bulk leave requests through either Slack or the Dashboard.
### Via Slack
Open Spock's Home tab in your Slack workspace.
Click the **Bulk Request** button to open the recurring leave form.
Choose a **Leave Type** from the dropdown menu.
Only leave types **without approval** and **monthly limit** requirements are available for bulk requests.
Select the **Duration** for each recurring leave:
* **All Day**: Full day leave
* **AM**: Half-day leave (morning)
* **PM**: Half-day leave (afternoon)
Under **Repeat Weekly**, check the days when leave should be requested.
Only your designated working days are available for selection.
Set the **Repeat Start Date** - the first day when leave can be requested.
Under **Repeat Ends**, specify how many weeks the pattern should continue.
The first repeat occurs during the week when the start date is specified.
(Optional) Add **Notes** that will be included with every leave request.
Submit the form to create individual leave requests for each specified day in the date range.
### Via Dashboard
Navigate to the Spock Dashboard and log in.
Locate and click the **Bulk Request** option in the dashboard interface.
Follow the same steps as the Slack method to configure your recurring leave pattern.
## Managing Bulk Requests
After submitting a bulk request, you can delete any individual leave request that was created if your plans change.
The system automatically respects your configured working days, so requests will only be created for days when you're scheduled to work.
Bulk requests are limited to leave types that don't require approval or consume allowance balances, ensuring the automated process doesn't create approval bottlenecks.
## Use Cases for Recurring Leaves
Request regular work-from-home days every week
Set up recurring shortened days or specific time blocks
Book regular appointments that occur weekly
Schedule recurring time for professional development
## Related Topics
Learn about standard individual leave requests.
Understand different leave types and their approval requirements.
Learn how to cancel individual leave requests.
Configure working days for your organization.
Bulk requests are perfect for establishing regular patterns, but remember that you can always modify or delete individual requests later if your schedule changes.
# Request on Behalf
Source: https://docs.spockoffice.com/spock/leave-management/request-on-behalf
Learn how General Managers and Team Managers can submit leave requests for their team members through the Dashboard.
Managers can submit leave requests on behalf of their team members when needed. This feature is particularly useful for situations where employees are unable to submit requests themselves or when managers need to coordinate team schedules.
## Role Requirements
Can request leave on behalf of **all users** in the organization.
Can request leave on behalf of **team members** they directly manage.
Only users with General Manager or Team Manager roles can access the request-on-behalf functionality.
## How to Request Leave on Behalf
Navigate to the [Spock Dashboard](https://spockoffice.com/spockapp/request-leave/) and sign in.
Click on **Request Leave** in the dashboard navigation.
Click the **"Request on Behalf"** button to activate the proxy request feature.
A new field called **"Requested for"** will appear. Select the user for whom you want to submit the request.
Calendar events will automatically update according to the selected user's calendar settings.
Complete the leave request form with all necessary information:
* Leave type
* Duration and dates
* Notes (public and private)
* Substitute assignments
Submit the leave request on behalf of the employee.
## Automatic Approval Process
When you request leave that normally **requires approval**, the request is **automatically approved** because of your General Manager or Team Manager role.
This streamlined process ensures that managers can efficiently handle urgent leave situations without creating additional approval bottlenecks.
## Notification System
After successful submission:
1. **Spock automatically notifies** the employee for whom the request was submitted
2. The employee receives notification through their preferred communication channels
3. The leave appears in the employee's personal leave calendar and balance
## Best Practices
Always inform the employee beforehand when possible, even though they'll receive automatic notification after submission.
Use the private notes field to document the reason for submitting on behalf (e.g., "Employee called in sick", "Emergency situation").
Verify that the leave dates don't conflict with critical team activities or other scheduled absences.
Confirm with the employee that they received the notification and understand the leave details.
## Common Use Cases
When employees need immediate leave but cannot access Spock themselves
Submitting requests for employees who are too ill to handle the process
When technical problems prevent employees from submitting their own requests
Coordinating team schedules and managing overlapping leave periods
## Related Topics
Learn about the standard leave request process.
Understand the approval workflow for different leave types.
Manage user roles and team assignments.
Learn how to organize and manage teams in Spock.
Remember that requesting leave on behalf should be used responsibly and with the employee's knowledge whenever possible to maintain trust and transparency.
# Request Leave
Source: https://docs.spockoffice.com/spock/leave-management/requesting-leave
Learn how to submit leave requests through Slack or the Spock Dashboard with all required information and approval processes.
You can request leave directly in **Slack** or via the **Spock Dashboard**. Both methods allow you to submit comprehensive leave requests with all necessary details.
## Required Information
When initiating a leave request, please provide the following information:
Specify the category of leave (e.g., Vacation, Sick Leave, Personal Day).
Choose from the following options:
* **One Day**: Single day leave
* **Half-Day**: Morning (AM) or afternoon (PM)
* **Multiple Days**: Extended leave period
* **Specific Hours**: Exact time tracking (if hourly tracking is enabled)
* **Start Date**: When your leave begins
* **End Date**: When your leave ends (for multi-day requests)
* **Start and End Time**: Exact hours for hourly leaves
* **Public Note to Colleagues** (Optional): Information visible to all team members
* **Private Note to Approvers** (Optional): Context only visible to approvers
* **Substitute** (Optional): Colleague covering your responsibilities during absence
Upon submission, Spock will notify designated approvers if the selected leave type requires approval. If approval is not required, your leave will be auto-approved.
## Request in Slack
Navigate to the Spock application within your Slack workspace.
Click on the **Request Leave** button.
Complete all required leave information as outlined above.
Click **Submit** to finalize your request.
## Request in the Dashboard
Navigate to the [Spock Dashboard](https://spockoffice.com/spockapp).
Click the **Request Leave** button located at the top-right corner.
Complete all necessary leave details in the form.
Check your request details in the **Request Preview** section.
Click **Submit** to send your request for processing.
## Related Topics
Learn how to cancel your leave requests.
Learn how to request leave on behalf of your team members.
Learn how to request recurring leaves.
Learn how to set up coverage arrangements for your absence.
General Managers and Team Managers have the authority to request leave on behalf of their team members when needed.
# Substitutes
Source: https://docs.spockoffice.com/spock/leave-management/substitutes
Enable and manage substitute assignments to ensure continuous coverage when team members take leave, with notifications to all involved parties.
The Substitute feature in Spock helps teams manage leaves efficiently by ensuring **someone is available to cover responsibilities** during an employee's absence. When requesting leave, employees can select a coworker as a substitute for the duration of their leave, maintaining team productivity and workflow continuity.
## Benefits of Using Substitutes
* **Continuous Coverage**: Ensures important tasks and responsibilities are handled during absences
* **Team Coordination**: Provides clear communication about who to contact in someone's absence
* **Workflow Management**: Minimizes disruption to ongoing projects and daily operations
* **Transparency**: All parties are notified about substitute arrangements
## Enabling Substitute Feature
General Managers can configure substitute coverage for each leave type with three different options:
Go to **Settings** > **Leave Types** in the Spock Dashboard.
Choose the leave type where you want to configure substitute coverage.
In the **"Substitute Coverage"** dropdown, select one of three options:
* **Don't ask for substitute**: The substitute field will not appear in leave requests for this leave type
* **Allow substitute (optional)**: Employees can optionally select a substitute when requesting leave
* **Require substitute (mandatory)**: Employees must select a substitute before submitting their leave request
Click the **Save** button to apply the changes.
A substitute is someone who covers the employee's work during their absence. When required or optional, employees will be prompted to name a substitute when requesting this leave type.
## Assigning a Substitute During Leave Request
When submitting a leave request for a leave type with substitute coverage set to optional or mandatory:
Open the leave request form in either Slack or the Dashboard.
Fill in all required information for your leave request.
In the **"Substitute"** section, choose a coworker from the list of available team members. If the leave type requires a substitute, this field is mandatory.
Complete and submit your leave request with the substitute assignment.
## Changing a Substitute
Modify substitute assignments at any time before or during your leave:
In Slack, go to the Spock Home tab and click **My Leaves**.
Locate the leave request where you want to change the substitute.
Click the context button (three dots) on your leave request.
Choose **"Change Substitute"** from the context menu.
Pick a new substitute from the list of available team members.
Click **"Save Changes"** to apply the new substitute assignment.
All parties involved (new substitute, previous substitute, and approvers) will be automatically notified of the change.
## Changing Substitutes During Approval
Approvers can modify substitute assignments while reviewing leave requests:
Open the leave request in the approval interface.
In the **"Substitute"** section of the approval form, select a different team member if needed.
Proceed with approving or rejecting the leave request with the updated substitute.
Approvers might change substitutes to better align with team expertise, availability, or workload distribution.
## Best Practices for Substitutes
Select the appropriate substitute coverage setting for each leave type:
* **Don't ask for substitute**: Use for casual leave types (sick days, personal days) where coverage isn't critical
* **Allow substitute (optional)**: Recommended for most leave types - gives flexibility while encouraging coverage planning
* **Require substitute (mandatory)**: Use for extended leaves or critical roles where coverage is essential (annual leave, long-term absences)
Select substitutes who have the necessary skills and knowledge to handle your responsibilities effectively.
Coordinate with your substitute before your leave to ensure smooth transition of tasks and responsibilities.
Assign substitutes as early as possible to give them time to prepare for additional responsibilities.
## Notification System
Spock automatically notifies relevant parties:
* **New Substitute**: Informed when assigned to provide coverage
* **Previous Substitute**: Notified when removed from assignment
* **Approvers**: Updated about substitute changes during approval process
* **Team Members**: May receive notifications based on team settings
## Related Topics
Learn the complete process for submitting leave requests.
Learn how to review, approve, or reject leave requests.
Organize teams to facilitate better substitute assignments.
Configure which leave types support substitute assignments.
Ensure your chosen substitute is available and willing to take on additional responsibilities during your absence to maintain team effectiveness.
# Working Days
Source: https://docs.spockoffice.com/spock/leave-management/working-days
Configure working days for your organization and individual team members to ensure accurate leave calculations.
In Spock, you have the flexibility to configure working days to fit the diverse schedules of your team members. While the typical working days are Monday to Friday, we understand that some team members may have different workweeks.
Our customizable working days feature allows you to set unique working schedules for each team member, ensuring that leave calculations accurately reflect their individual work patterns. When requesting leave, non-working days will not count towards the leave duration, making it simpler and fairer for everyone involved.
## In this article
* [Setup Working Days for the Team](#setup-working-days-for-the-team)
* [Setup Working Days for a Specific Member](#setup-working-days-for-a-specific-member)
## Setup Working Days for the Team
Sign in to Spock Dashboard
Go to **Settings** > **Working Days**
Check which weekdays are working days
Save to confirm
This default setting for all workspace members
## Setup Working Days for a Specific Member
Sign in to Spock Dashboard
Go to **Members** and select member
On the member's profile click the **Working Days** tab
Check "**Customize Working Days**"
Check which weekdays are working days
Save to confirm
When you want to remove customization, uncheck "**Customize Working Days**" and click "**Save Changes**". Member's calendar will use the default setting for the team.
# General Preferences
Source: https://docs.spockoffice.com/spock/preferences/general
Configure your personal preferences for holidays, working days, and calendar display settings.
General Preferences allow you to customize how Spock handles leave requests and displays your calendar. These personal settings help ensure that leave booking works according to your specific needs and preferences.
## In this article
* [How to Access General Preferences](#how-to-access-general-preferences)
* [Holidays Setting](#holidays-setting)
* [Working Days Setting](#working-days-setting)
* [Calendar Week Start Day](#calendar-week-start-day)
## How to Access General Preferences
Sign in to your Spock Dashboard
Navigate to **Preferences** > **General**
Adjust your preferences according to your needs
Click **Save** to apply your preferences
You can access General Preferences directly at: [Open Preferences in Dashboard](https://spockoffice.com/spockapp/settings/general/)
## Holidays
### Automatically skip public holidays in leave requests
This setting controls whether public holidays are automatically excluded when you book leave.
**Checkbox:** Automatically skip public holidays in leave requests
**Default:** Enabled (checked)
#### When Enabled
When this option is enabled (checkbox checked):
* You **cannot** book leave on public holidays
* The system automatically skips over public holidays when calculating leave duration
* Public holidays within your leave period do not count toward your annual leave balance
* Leave requests spanning public holidays will only consume working days from your allowance
**Example:** If you request leave from Monday to Friday, and Wednesday is a public holiday, only 4 days will be deducted from your leave balance.
#### When Disabled
When this option is disabled (checkbox unchecked):
* You **can** book leave on public holidays
* Public holidays are treated as regular working days in leave calculations
* Public holidays within your leave period **will count** toward your annual leave balance
* You must manually account for public holidays when planning leave
**Example:** If you request leave from Monday to Friday, and Wednesday is a public holiday, all 5 days will be deducted from your leave balance.
To view which holidays apply to you, click **View the current assigned holidays** link below the setting description. Your assigned holiday calendar is managed by your administrator.
## Working Days
### Automatically skip non-working days in leave requests
This setting controls whether non-working days (typically weekends) are automatically excluded when you book leave.
**Checkbox:** Automatically skip non-working days in leave requests
**Default:** Enabled (checked)
#### When Enabled
When this option is enabled (checkbox checked):
* You **cannot** book leave on non-working days
* The system automatically skips over non-working days when calculating leave duration
* Non-working days within your leave period do not count toward your annual leave balance
* Leave requests spanning weekends will only consume working days from your allowance
**Example:** If you request leave from Friday to Monday, and Saturday-Sunday are non-working days, only 2 days (Friday and Monday) will be deducted from your leave balance.
#### When Disabled
When this option is disabled (checkbox unchecked):
* You **can** book leave on non-working days
* Non-working days are treated as regular working days in leave calculations
* Non-working days within your leave period **will count** toward your annual leave balance
* You must manually account for non-working days when planning leave
**Example:** If you request leave from Friday to Monday, and Saturday-Sunday are non-working days, all 4 days will be deducted from your leave balance.
To view your working days schedule, click **View the current assigned working days** link below the setting description. Your working days schedule can be customized for your specific work pattern.
## Calendar Week Start Day
### Select whether the calendar should start the week on Monday or Sunday
This setting controls how weeks are displayed in your Spock calendar views.
**Dropdown options:**
* Monday (default)
* Sunday
#### How to Change Calendar Week Start Day
Find the **Calendar Week Start Day** section in General Preferences
Click the dropdown menu that shows your current selection (default: Monday)
Choose either:
* **Monday** - Week starts on Monday (European standard)
* **Sunday** - Week starts on Sunday (US standard)
Click **Save** to apply the new calendar display preference
The calendar week start day is a **visual preference only** and does not affect leave calculations or working days configuration. It simply changes how calendar grids are displayed throughout Spock.
Your choice will immediately affect all calendar views in Spock, including the main dashboard calendar, leave request dialogs, and reporting views.
## Saving Your Preferences
After adjusting any of the three settings above, you must save your changes:
1. Review your selections
2. Click the blue **Save** button at the bottom of the form
3. Alternatively, click **Cancel** to discard any changes and revert to previous settings
Changes to holiday and working day preferences will immediately affect how your future leave requests are calculated. Existing leave requests are not automatically recalculated. If you need to adjust existing requests, you may need to delete and recreate them with your new preferences applied.
## Use Cases and Best Practices
### Recommended Settings for Most Users
For standard employees working Monday to Friday:
* **Holidays:** Enabled (automatically skip)
* **Working Days:** Enabled (automatically skip)
* **Calendar Week Start Day:** Monday or Sunday based on regional preference
### When to Disable Automatic Skipping
You might want to disable automatic skipping if:
* You work non-standard hours and need to track all days off, including weekends
* Your role requires you to work on holidays and you want to record time off on those specific days
* You need precise control over every day in your leave requests
### Calendar Display Preference
Choose your calendar week start day based on:
* **Monday:** Common in Europe, Asia, and most international standards (ISO 8601)
* **Sunday:** Common in United States, Canada, and some other regions
These are personal preferences that only affect your account. They do not change organization-wide settings or affect how other team members see their calendars.
# Notification Preferences
Source: https://docs.spockoffice.com/spock/preferences/notifications
Configure your notification settings for morning reports, instant alerts, and Slack status updates.
Notification Preferences allow you to customize how and when Spock notifies you about leave-related information. These settings help you stay informed about team absences, leave requests requiring your approval, and automatically update your Slack status when you're on leave.
## In this article
* [How to Access Notification Preferences](#how-to-access-notification-preferences)
* [Morning Report Notification](#morning-report-notification)
* [Instant Notifications](#instant-notifications)
* [Slack Status Update](#slack-status-update)
* [Saving Your Preferences](#saving-your-preferences)
## How to Access Notification Preferences
Sign in to your Spock Dashboard
Navigate to **Preferences** > **Notifications**
Adjust your notification preferences according to your needs
Click **Save** to apply your preferences
You can access Notification Preferences directly at: [Open Notifications in Dashboard](https://spockoffice.com/spockapp/settings/notifications/)
## Morning Report Notification
### Receive a daily morning report about who is on leave
This setting sends you a daily Slack notification summarizing who is on leave for the day, helping you plan your workday and know who is available.
**Checkbox:** Send me a daily morning report about who is on leave today.
**Default:** Enabled (checked)
#### When Enabled
When this option is enabled (checkbox checked):
* You receive a daily Slack notification at your specified time
* The notification includes a list of team members who are on leave that day
* You can customize the scope of leave information (team members or entire company)
* The report is automatically sent every working day
#### When Disabled
When this option is disabled (checkbox unchecked):
* You will not receive daily morning reports
* You must manually check the Spock dashboard or calendar to see who is on leave
* Other notification settings remain unaffected
### Configuration Options
#### Send at
**Dropdown:** Select the time when you want to receive your morning report
**Default:** 9:00
You can choose from various times throughout the day to match your work schedule. The notification will be sent via Slack at your selected time each working day.
The morning report is sent based on your local timezone. Choose a time that works best for your morning routine and gives you enough time to plan your day.
#### Include leave information from
**Dropdown:** Choose whose leave information to include in your morning report
**Options:**
* **My team(s) members (or entire company if you are not member of any team)** - Default option that shows leave for your team members. If you're not assigned to any team, you'll receive information about the entire company
* **All members - Entire company** - Shows leave for all employees across the organization, regardless of team membership
If you manage multiple teams or need visibility across the organization, select "All members - Entire company". If you primarily work with your immediate team, the default "My team(s) members" option will provide more focused information.
## Instant Notifications
### Receive real-time notifications for leave requests and approvals
This setting controls whether you receive immediate Slack notifications when leave-related events occur that require your attention or involve you.
**Checkbox:** Notify me instantly about new leave requests and approvals.
**Default:** Enabled (checked)
#### When Enabled
When this option is enabled (checkbox checked):
* You receive instant Slack notifications for:
* Leave requests submitted by your team members that require your approval
* Approvals or rejections of your own leave requests
* Changes to leave requests that affect you
* Notifications are sent in real-time as events occur
* You can respond quickly to time-sensitive approval requests
#### When Disabled
When this option is disabled (checkbox unchecked):
* You will not receive instant Slack notifications for leave-related events
* You must manually check the Spock dashboard to see pending approvals
* You will miss real-time updates about your own leave request status
* You may experience delays in approving team member requests
**Important:** Turning this off means you won't receive notifications about leave requests requiring your approval.
If you are a manager or approver, disabling this setting may delay leave request approvals and impact your team's ability to plan their time off. Consider keeping this enabled if you have approval responsibilities.
Even when disabled, you can still access all pending approvals and leave information through the Spock Dashboard at any time.
## Slack Status Update
### Automatically update your Slack status when you're on leave
This setting allows Spock to automatically update your Slack status to indicate when you're on leave, helping colleagues know you're unavailable.
**Checkbox:** Update my Slack Status when I am on leave.
**Default:** Enabled (checked)
#### When Enabled
When this option is enabled (checkbox checked):
* Spock automatically updates your Slack status when your leave begins
* Your status shows that you're on leave (format depends on leave type configuration)
* Your status is automatically cleared when your leave ends
* Colleagues can see at a glance that you're unavailable
#### When Disabled
When this option is disabled (checkbox unchecked):
* Spock will not modify your Slack status
* You must manually update your Slack status when taking leave
* Colleagues won't automatically know you're on leave through Slack status
The Slack status update feature only works with leave types that are configured to allow status updates. Your organization administrator controls which leave types can update Slack status.
### Slack Authorization
To enable Slack status updates, you must authorize Spock to modify your Slack status on your behalf.
#### When to Authorize
You need to authorize Spock if:
* This is your first time enabling Slack status updates
* You previously revoked Spock's authorization in Slack
* You see an error message indicating authorization is required
* Your Slack status is not updating automatically during leave
#### How to Authorize
Click **Process authorization** link in the Slack Status Update section
You'll be redirected to Slack to confirm the authorization
Review the permissions and click **Allow** to grant Spock access to update your status
After authorization, you'll be redirected back to Spock
Ensure the "Update my Slack Status when I am on leave" checkbox is enabled
Click **Save** to apply your preferences
Slack requires explicit authorization for apps to update user status. Without completing the authorization process, Spock cannot update your Slack status even if this setting is enabled.
## Saving Your Preferences
After adjusting any of the notification settings, you must save your changes:
1. Review your selections
2. Click the blue **Save** button at the bottom of the form
3. Alternatively, click **Cancel** to discard any changes and revert to previous settings
Changes to notification preferences take effect immediately upon saving.
## Use Cases and Best Practices
### Recommended Settings for Most Users
For standard employees:
* **Morning Report Notification:** Enabled at 9:00 AM with team scope
* **Instant Notifications:** Enabled (especially important for managers and approvers)
* **Slack Status Update:** Enabled with authorization completed
### Recommended Settings for Managers and Approvers
For managers and team leads:
* **Morning Report Notification:** Enabled at your typical start time, set to show entire company or multiple teams
* **Instant Notifications:** Enabled (critical for timely approvals)
* **Slack Status Update:** Enabled to keep team informed of your availability
### When to Adjust Morning Report Time
Consider changing your morning report time if:
* You work in a different timezone than your team (you can change timezone in your Slack profile)
* You prefer to receive the report before your workday officially starts
* You want the report during your morning planning routine
* You start work earlier or later than the default 9:00 AM
### When to Expand Morning Report Scope
Choose "All members - Entire company" if you:
* Work across multiple teams regularly
* Need visibility into organization-wide capacity
* Coordinate resources across departments
* Are in a leadership or project management role
### When to Keep Instant Notifications Enabled
Keep instant notifications enabled if you:
* Have responsibility for approving leave requests
* Want to respond quickly to your team's needs
* Need real-time updates about your own leave request status
* Value immediate awareness of team availability changes
These are personal preferences that only affect your account. Each team member can configure their own notification settings independently.
# Reports
Source: https://docs.spockoffice.com/spock/reports/reporting
Track employee leave, spot patterns, and stay compliant with policies using Spock's reporting tools.
Efficient leave management is key to smooth operations. Our reporting tools make it easy to track employee leave, spot patterns, and stay compliant with policies. Whether you're in HR, management, or leadership, these insights will help you make smarter decisions and keep things running smoothly.
## Video Tutorial
Watch this video to learn how to generate and use leave reports in Spock:
## Available Reports
Spock provides the following reports:
* [Yearly Report](#yearly-report)
* [Monthly Report](#monthly-report)
* [Leave Request Report](#leave-request-report)
* [Leave Days Report](#leave-days-report)
All reports can be downloaded as a CSV file. It can be opened in any spreadsheet application. Reports are accessible to all by default. You can change access only for managers in **Settings** > **Policies**.
## Yearly Report
The yearly report aggregates the total number of days spent on each leave type for the entire year. For leave types with allowance tracking, the report includes both the current allowance and the carryover from the previous period.
### How to Access Yearly Report
The yearly report will be displayed. You can change the year using the option on the right side.
To download the report, click **Export Yearly Report**.
You can also generate a yearly report for your **team**. Simply select the team and click the **Report** tab.
## Monthly Report
The monthly report aggregates the total number of days spent on each leave type for the selected month.
### How to Access Monthly Report
Click **Export Monthly Report** to download it.
You can navigate through different months using the navigation on the right side.
You can also generate a monthly report for your team. Simply select the team and click the **Report** tab.
## Leave Request Report
Leave Request Report contains all leave requests for the selected date range and request status.
### How to Access Leave Request Report
To download the report, click **Export Requests**.
## Leave Days Report
The Leave Days Report details all approved leave days, split by each day.
### How to Access Leave Days Report
Select date range.
To download the report, click **Generate Leave Days Report**.
# Locations
Source: https://docs.spockoffice.com/spock/team-management/locations
Manage office locations to configure regional holiday calendars, working days, and location-specific leave type rules for your distributed workforce.
Locations represent the physical offices, branches, or regional hubs where your employees work. Every workspace has at least one location β the default **Headquarters (HQ)** β created automatically when you install Spock.
Use locations to tailor leave management across multiple offices:
* **Regional holiday calendars** β assign a different public holiday calendar per office so employees observe the correct local holidays.
* **Different working days** β configure location-specific work weeks (e.g., SundayβThursday for a Dubai office, MondayβFriday for Berlin).
* **Location-specific leave type rules** β override company-wide leave type settings per location, such as different allowance days or approval requirements.
* **Timezone awareness** β set each location's timezone for accurate date handling.
* **Organizational clarity** β see how many employees are in each office and manage them from a single screen.
Only **workspace administrators** (users with the Service Admin role) can create, edit, and delete locations, and assign users to them.
## Creating a Location
Go to **Settings** > **Locations** in the Spock Dashboard.
Click **+ Add Location** in the top-right corner.
Complete the three sections of the location form:
**Basic Information**
| Field | Required | Description |
| ----------------- | -------- | ------------------------------------------------------------------------------------------------- |
| **Location Name** | Yes | A descriptive name (max 100 characters). Example: *New York Office*. |
| **Code** | Yes | A short identifier (max 20 characters), automatically uppercased. Must be unique. Example: *NYC*. |
| **Description** | No | Optional free-text description. |
**Address**
| Field | Required | Description |
| ------------ | -------- | ------------------------------------------------------------------------ |
| **Country** | No | Select from the dropdown list. |
| **City** | No | City name. Example: *New York*. |
| **Timezone** | No | IANA timezone. Example: *America/New\_York*. Used for date calculations. |
**Work Configuration**
| Field | Required | Description |
| -------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Holiday Calendar** | No | Select which holiday calendar applies to this location. Choose **Use workspace default** to inherit the company-wide calendar, or pick a specific calendar. |
| **Working Days** | No | Check the days of the week that are working days. Defaults to MondayβFriday. Leave requested on non-working days is not deducted from balances. |
Click **Create Location** to save the new location.
The first location is automatically marked as the **default location**. All users without an explicit location assignment belong to it. The default attribute is permanent β it cannot be reassigned to a different location, and the default location cannot be deleted.
## Assigning Users to a Location
Each user in Spock belongs to exactly one location. Users not explicitly assigned belong to the default location.
Go to **Settings** > **Locations** and click on the location you want to manage.
Click the **Assigned Users** tab.
Click **+ Assign Users**. In the modal, search for users by name. The list shows available users along with their current location.
Select one or more users using the checkboxes, then click **Assign Selected**.
### Moving a User to Another Location
To move a user who is already assigned:
1. On the **Assigned Users** tab, find the user you want to move.
2. Click **Move User** next to their name.
3. In the modal, select the target location from the dropdown.
4. Click **Move User**.
Spock recalculates allowances automatically only for recently created users (less than 14 days old) being moved from the default location. For all other users, Spock shows a notification that allowances may need manual review β this avoids accidentally overwriting manual adjustments such as seniority bonuses.
When allowances are auto-recalculated, manual adjustments are preserved. Spock calculates the difference (delta) between the manual adjustment and the standard allowance, and applies the same delta to the new location's allowance.
### Inactive and Deleted Users
The **Assigned Users** tab shows only active users by default. If a location has inactive or deleted users, use the **Show inactive/deleted users** toggle to reveal them. Inactive and deleted users remain assigned to their location, which is relevant when [deleting a location](#deleting-a-location).
## Leave Type Overrides
By default, every location inherits the company-wide leave type settings configured in **Settings** > **Leave Types**. Location leave type overrides let you customize specific settings for a particular location without changing the company-wide defaults.
### What You Can Override
For each leave type at a location, you can override the following:
| Setting | Description |
| --------------------------- | ------------------------------------------------------------------------------------------------------------ |
| **Active in this location** | Toggle whether this leave type is available for users in this location. |
| **Approval Required** | Override whether leave requests of this type require manager approval. |
| **Yearly Allowance** | Set a different annual allowance (in days). Only available if the leave type has allowance tracking enabled. |
| **Allow Negative Balance** | Override whether employees can request leave that exceeds their remaining balance. |
| **Monthly Limit** | Set a different maximum number of days per month for this leave type. |
### How Overrides Work
Overrides use a simple inheritance model:
* **Not overridden (default):** The location uses the company-wide setting. Unchecked fields show the label *(default)* and display the company-wide value for reference.
* **Overridden:** The location uses the value you set. An override indicator appears next to the field in the Leave Types table.
If you later change the company-wide setting, locations that have **not** overridden that field automatically pick up the new value. Locations with an override keep their custom value.
### Setting Up a Leave Type Override
Go to **Settings** > **Locations** and click on the location you want to configure.
Click the **Leave Types** tab. You will see a table listing all company leave types with their effective values for this location. Fields with overrides are marked with an override indicator.
Click the **Edit** button on the leave type row you want to configure.
In the configuration modal:
* Use the **Active in this location** toggle to enable or disable the leave type.
* Check the **Override** checkbox next to any field you want to customize.
* Enter the location-specific value.
* The **Company default** label below each field shows the current company-wide value for reference.
Click **Save Override** to apply your changes.
### Resetting Overrides to Defaults
To remove all overrides for a leave type and revert to company-wide settings:
1. Open the leave type configuration modal (click **Edit** on the leave type row).
2. Click **Reset to Defaults** (button at the bottom-left of the modal).
3. Confirm the action in the dialog.
This clears all overrides and the leave type will fully inherit company-wide settings.
## Deleting a Location
A location can only be deleted when:
1. **It is not the default location.** The default location cannot be deleted.
2. **No active users are assigned to it.** You must reassign or move all active users to other locations first.
Go to **Settings** > **Locations** and click on the location you want to delete.
Click the **Location Settings** tab.
Click **Delete Location** in the bottom-right corner.
* If the location has no users, click **Delete Location** to confirm.
* If the location has only inactive/deleted users, click **Move inactive/deleted users to default and delete**. This moves all remaining users to the default location and deletes the location in one step.
Deletion cannot be undone. All leave type overrides configured for the location are automatically removed. Users who were moved to another location before deletion keep their current allowances β no automatic recalculation occurs.
The **Delete Location** button is hidden when deletion is not possible. Instead, an explanation message is shown β either *"Cannot delete default location"* or *"Location has assigned users"*. Always check for inactive users before attempting to delete. Use the **Show inactive/deleted users** toggle on the Assigned Users tab to see which users are still assigned.
## Related Topics
Configure company-wide leave type settings that locations inherit by default.
Set up holiday calendars that can be assigned to specific locations.
Configure the default working week for your organization.
Manage user roles and permissions across the organization.
# Team Notifications
Source: https://docs.spockoffice.com/spock/team-management/team-notifications
Configure automated Slack channel notifications for teams, including daily and weekly summaries plus real-time event alerts for leave activities.
Team channel notifications keep your team informed by automatically posting leave-related updates directly to a designated Slack channel. Unlike organization-wide notifications, team notifications focus specifically on team member activities and can include both scheduled summaries and real-time event notifications.
## Benefits of Team Channel Notifications
* **Team-focused updates**: Only see leave information for your team members
* **Flexible scheduling**: Configure daily and weekly summaries independently
* **Event-driven alerts**: Get notified instantly when leave requests are created, approved, rejected, deleted, or canceled
* **Centralized communication**: Keep all team leave information in one dedicated Slack channel
## Accessing Team Channel Notifications
Go to **Members** > **Teams** in the dashboard.
Choose the team you want to configure notifications for.
Click the **Channel Notifications** tab.
## Configuring the Slack Channel
Before setting up any notifications, you must designate which Slack channel will receive the team's updates.
Verify that the **Channel Notifications** toggle is set to **Active**.
Choose your preferred channel from the **Slack Channel** dropdown menu.
Spock must be invited to your selected Slack channel before notifications will work. In your chosen channel, type `/invite @spock` to add Spock to the channel.
If you don't see private channels in the list, ask the Spock Administrator/Installer to reinstall Spock from the [pricing page](https://spockoffice.com/web/pricing/).
## Setting Up Daily Summary
The Daily Summary provides a concise overview of team member leave every workday.
Check the **Enable Daily Summary** checkbox to activate daily notifications for your team.
Configure when the summary should be sent:
* **Send at**: Choose the time of day (e.g., 8 AM before work begins)
* **Timezone**: Select the appropriate timezone for your team
Select which leave information to include from the **Include** dropdown:
* **Today & Tomorrow**: See both today's and tomorrow's leave (recommended for comprehensive awareness)
* **Today**: Only include leave occurring today
* **Tomorrow**: Only include leave occurring tomorrow
## Setting Up Weekly Summary
The Weekly Summary gives your team a broader view of upcoming leave for better planning.
Check the **Enable Weekly Summary** checkbox to activate weekly notifications.
Configure when the weekly summary should be sent:
* **Day of Week**: Select which day to send the summary (e.g., Sunday to prepare for the week ahead, or Monday to start the week informed)
* **Send at**: Choose the time of day (e.g., 6 PM)
* **Timezone**: Select the appropriate timezone
Select the time range from the **Include** dropdown:
* **Next 7 Days**: One week ahead (ideal for short-term team planning)
* **Next 14 Days**: Two weeks ahead (better for medium-term coordination)
* **Next 30 Days**: One month ahead (comprehensive long-term visibility)
You can enable both Daily and Weekly summaries simultaneously. They complement each other by providing both immediate and strategic visibility.
## Configuring Event Notifications
Event notifications send real-time alerts to your team's Slack channel when specific leave-related actions occur. This keeps everyone immediately informed of changes affecting team availability.
Scroll to the **Send a notification when** section to configure event-based alerts.
Under **Send a notification when a new leave request is created**, choose:
* **When a new leave request is submitted and auto-approved**: Notify when leave is automatically approved without requiring manager review
* **When a new leave request is submitted and awaiting approval**: Notify when leave requires approval from a manager
Optionally, check **Notify only if the leave overlaps with today (in the team timezone)** to limit creation notifications to leave that includes today's date. When enabled, Spock only posts to the channel if the leave covers any time on today's date in the configured team timezone. This is useful for reducing noise from future-dated leave requests and focusing on what affects team availability right now.
Check **When a pending leave request is approved** to notify the team when a manager approves a leave request.
This applies only to requests requiring approval.
Check **When a pending leave request is rejected** to notify the team when a manager rejects a leave request.
This applies only to requests requiring approval.
Check **When a leave request is deleted** to notify the team when any leave request is permanently removed from the system.
Check **When a leave request is canceled** to notify the team when an approved leave is canceled.
This applies only to requests requiring approval.
Click **Save Changes** to activate all your notification settings.
## Best Practices for Team Notifications
### Recommended Event Notifications
* **Small teams (under 10 people)**: Enable all events for complete visibility
* **Medium teams (10-30 people)**: Enable approved, rejected, and canceled events; consider disabling creation events to reduce noise
* **Large teams (over 30 people)**: Focus on approved and canceled events only; rely on summaries for awareness
### Daily vs Weekly Summaries
* **Use Daily Summaries** for operational teams that need real-time coordination
* **Use Weekly Summaries** for strategic planning and longer-term visibility
* **Combine both** for teams that need both tactical and strategic awareness
### Channel Strategy
* Create dedicated team channels like `#team-marketing-leave` for focused communication
* Avoid using your main team channel to prevent notification overload
* Use private channels for teams handling sensitive information
Enabling too many event notifications in high-activity teams can create notification fatigue. Start with fewer notifications and add more based on team feedback.
## Related Topics
Learn how to create and manage teams.
Configure organization-wide Slack channel notifications.
Learn about personal notification settings and morning reports.
Understand how Team Managers handle leave approvals.
Team notifications help maintain transparency and enable better coordination when team members take leave, ensuring projects and responsibilities are properly managed.
# Teams
Source: https://docs.spockoffice.com/spock/team-management/teams
Create and manage teams to organize workspace members into departments, locations, or projects with dedicated managers and notification settings.
Teams allow you to divide workspace members into smaller groups that can represent departments, office locations, or projects. Team members are automatically notified about each other's leave requests, fostering better communication and coordination.
Each team can have one or more **Team Managers** who can approve team members' leave requests and manage team membership.
## Creating a New Team
Sign in to the [Spock Dashboard](/spock/getting-started/dashboard-signin).
Click the **Members** tab in the top navigation.
Click **+ Add Team** in the left sidebar under the Organization section.
Fill in the team details:
* **Team name** β a descriptive name for the team
* **Description** β an optional summary of the team's purpose and responsibilities
Click **Save** to create the new team, or **Cancel** to discard.
## Managing Team Members
The **Team Members** tab displays the current team composition, divided into **Team Managers** and **Members** sections.
### Adding or removing members
Navigate to **Members** in the top navigation, then select the team you want to manage from the left sidebar.
Click the **Manage Team Members** button in the top-right corner of the team detail view.
Use the two dropdown selectors to manage the team:
* **Team Managers** β select or remove users who can approve leave requests and manage the team
* **Team Members** β select or remove regular team members
Remove a user by clicking the **x** next to their name. Add users by selecting them from the dropdown.
Click **Save** to apply the changes, or **Cancel** to discard.
## Managing Team Settings
The **Settings** tab lets you update the team's basic configuration.
Select the team from the left sidebar, then click the **Settings** tab.
Edit the following fields:
* **Team Name** β the name that appears across the platform and in notifications
* **Description** β an optional description of the team's purpose
Click **Save Changes** to apply your updates.
## Deleting a Team
Deleting a team permanently removes it and all associated data. This action cannot be undone.
Select the team from the left sidebar, then click the **Settings** tab.
Click the **Delete team** link in the bottom-right corner of the settings page.
A confirmation section appears. Check the **Yes, delete team** checkbox to confirm.
Click the **Delete Team** button to permanently remove the team.
## Managing User Memberships via Profile
Alternatively, manage team memberships directly from user profiles:
Go to **Members**, search for the user, and open their profile.
Click the **"Roles and Teams"** tab.
Click **"Add New Membership"** to assign the user to a team.
Select the **Team** and assign the appropriate **Role**.
Click **Save** to confirm the new team membership.
## Team Notifications
Each team can configure automated Slack channel notifications to keep members informed about leave activities. Team notifications include daily and weekly summaries, plus real-time event alerts for leave requests.
For detailed setup instructions and configuration options, see [Team Notifications](/spock/team-management/team-notifications).
## Related Topics
Configure team-specific Slack channel notifications.
Learn how Team Managers handle leave approvals.
Manage user roles and permissions across the organization.
Configure organization-wide Slack channel notifications.
Learn about personal notification settings and morning reports.
Set up coverage arrangements within teams.
Team notifications help maintain transparency and enable better coordination when team members take leave, ensuring projects and responsibilities are properly managed.
# Users
Source: https://docs.spockoffice.com/spock/team-management/user-administration
Manage users, roles, and permissions effectively to maintain your organization's leave management system with automatic Slack synchronization.
Managing users and their roles effectively is crucial for maintaining the integrity and efficiency of your organization's leave management system. Spock integrates seamlessly with Slack, ensuring that user data remains synchronized and up-to-date.
## User Synchronization
Spock automatically synchronizes user data from Slack daily. When a new user is added to your Slack workspace, they are imported into Spock immediately, ensuring your user base remains current without manual intervention.
This automatic synchronization means you don't need to manually add or remove users - Spock stays in sync with your Slack workspace membership.
### Slack User Import Settings
You can configure how imported users are activated in **Settings** > **Integrations** > **Slack User Import**:
Imported users can access Spock immediately after being imported from Slack. This is ideal for organizations that want to minimize administrative overhead.
Imported users require manual activation before accessing Spock. This provides administrators with control over who can access the system.
Guest users always require manual activation regardless of this setting. Activate them in **Settings** > **Users**.
## Spock User Roles
Spock offers a structured role-based access control system with clearly defined responsibilities:
**Basic Access Level**
General users with permissions to:
* Interact with the Spock Slack App
* Access the Spock Dashboard
* Submit leave requests
* View their own leave history and balances
**Full HR Access**
Comprehensive permissions for human resources functions:
* Approve all leave requests across the organization
* Manage leave types, holidays, and leave policies
* Process carryovers and allowance adjustments
* Oversee all teams and team management
* Access all reports and analytics
* Configure organization-wide settings
**System Management Access**
Responsible for non-HR administrative functions:
* Manage user accounts and assign roles
* Oversee team structures and organizational hierarchy
* Handle billing processes and subscription management
* Configure integrations and system settings
* Manage application settings and policies
**Team-Level Management**
Manages tasks specific to their designated team(s):
* Manage team member assignments
* Approve leave requests within their team
* View team reports and analytics
* Configure team notifications
* Assign substitutes within the team
## Managing Roles in Bulk
Efficiently assign or modify roles for multiple users simultaneously:
Go to **Settings** > **Users** within the Spock Dashboard.
Choose the users whose roles you want to update by checking their names.
Use the bulk actions to assign appropriate roles to the selected users.
Apply the new roles by saving your changes.
Bulk role management is especially useful during organizational restructuring or when onboarding multiple team members.
## Managing Individual User Roles
For precise role adjustments on a per-user basis:
Sign in to the Spock Dashboard and navigate to the **Members** section.
Search for and select the user whose roles you want to modify.
Click on the user's name to access their detailed profile.
Click on the **Roles and Teams** tab to view current assignments.
Select or adjust roles and team assignments as appropriate for the user's responsibilities.
Save your changes to apply the updated role configuration.
## Role Hierarchy and Permissions
Understanding the permission hierarchy helps ensure proper access control:
1. **Administrator** - System and billing management
2. **General Manager** - Full HR operations and approvals
3. **Team Manager** - Team-specific management and approvals
4. **Spock User** - Basic leave management functions
Role changes take effect immediately. Ensure you verify the changes are correct before saving, as users will gain or lose access to features based on their assigned roles.
# Welcome Message
Source: https://docs.spockoffice.com/spock/team-management/welcome-message
Send onboarding messages to new team members and keep everyone informed about important information.
The Welcome Message feature allows administrators and managers to create and send standardized onboarding messages to all active users in the workspace. This ensures consistent communication and helps new team members get started with clear instructions.
## Why Use Welcome Messages
Welcome messages are particularly useful for:
* **Onboarding new employees** - Provide clear instructions on how to use Spock from day one
* **Communicating important updates** - Share workspace-wide announcements about new features or policy changes
* **Setting expectations** - Outline key processes and guidelines for leave management
## Prerequisites
To send welcome messages, you need:
* Administrator or Manager role in your workspace
## Sending a Welcome Message
Go to the **Dashboard** > **Getting Started with Spock** section > **Send Welcome Message to Team**
or navigate to [https://spockoffice.com/spockapp/onboarding/welcome-message/](https://spockoffice.com/spockapp/onboarding/welcome-message/)
In the message field, write or edit your welcome message. Include:
* A friendly greeting
* Key information about using Spock
* Instructions or links to important resources
* Contact information for questions
Before sending to all users, you can test the message:
1. Check the **"Send only to me as test"** checkbox
2. Click **Send Welcome Message**
3. Review the message you receive to ensure it looks correct
Once you're satisfied with the message:
1. Uncheck the **"Send only to me as test"** checkbox (if checked)
2. Click **Send Welcome Message**
The message will be sent to every active user in your workspace.
Welcome messages are sent to all **active users** in your workspace. Inactive or suspended users will not receive the message.
Always send yourself a test message first to verify formatting and content before sending to your entire team.
## Related Topics
Manage users, roles, and permissions
Organize members into teams
# Spock API
Source: https://docs.spockoffice.com/spock/workspace/api
Access your leave management data programmatically using the Spock REST API with API key authentication.
The Spock API gives you read-only access to your workspace's leave management data β users, leave types, leave requests, absences, and groups. Use it to build integrations with HRIS systems, payroll providers, reporting tools, or custom dashboards.
The Spock API requires a **Professional** or **Enterprise** plan. Teams on the Free plan will see an upgrade prompt instead of the API key management page.
## Why use the API
* **HRIS & payroll sync** β Pull leave data into your HR or payroll system automatically
* **Custom reporting** β Build dashboards and reports tailored to your organization
* **Data export** β Extract leave records for compliance, auditing, or analytics
* **Incremental sync** β Use `updated_since` filters to fetch only what changed since your last sync
## Authentication
The API uses key-based authentication. Every request must include an API key in the `Authorization` header.
```
Authorization: Bearer spk_a1b2c3d4e5f6...
```
**Key properties:**
* Keys use the format `spk_` followed by 48 hex characters (52 characters total)
* Each key is tied to a single workspace
* Multiple keys per workspace are supported for rotation without downtime
* Keys can be revoked at any time
* The full key is shown only once at creation β store it securely
## Creating an API key
Go to **Settings** > **API** in your Spock Dashboard. Only service admins can access this page.
Type a descriptive name in the **Key Name** field (e.g., `Payroll Integration`, `HRIS Sync`). This helps you identify the key's purpose later.
Click **Create API Key**. Spock generates a new key and displays it in full.
Copy the key immediately and store it in a secure location (e.g., a secret manager or environment variable). The full key is shown only once and cannot be retrieved later.
## Managing active keys
The **Active Keys** table shows all keys currently in use. Each entry displays:
| Column | Description |
| -------------- | ---------------------------------------------------------------------------- |
| **Name** | The descriptive name you assigned when creating the key |
| **Key Prefix** | The first characters of the key (e.g., `spk_b7818aee...`) for identification |
| **Created** | When the key was created |
| **Last Used** | When the key was last used to make an API request |
| **Actions** | Revoke button to deactivate the key |
### Revoking a key
Click the **Revoke** button next to any active key to deactivate it. Revoked keys stop working immediately and cannot be re-activated. Create a new key before revoking an old one to avoid downtime.
### Rotating keys
To rotate a key without interrupting your integration:
Create a new API key with a descriptive name (e.g., `Payroll Integration v2`).
Replace the old key with the new one in your integration's configuration.
Confirm your integration makes successful requests with the new key.
Once the new key is confirmed working, revoke the old one.
## Base URL
All API requests use this base URL:
```
https://spockoffice.com/spock-api/v1/
```
## Available endpoints
| Endpoint | Description |
| -------------------------- | --------------------------------------------------------- |
| `GET /team/` | Workspace metadata (name, domain, country, working days) |
| `GET /users/` | List active users with profile details |
| `GET /users/:id/` | Get a single user |
| `GET /leave-types/` | List enabled leave types |
| `GET /leave-types/:id/` | Get a single leave type |
| `GET /leave-requests/` | List leave requests with status, dates, and approver info |
| `GET /leave-requests/:id/` | Get a single leave request |
| `GET /absences/` | List individual absence day records |
| `GET /absences/:id/` | Get a single absence |
| `GET /groups/` | List teams/departments |
| `GET /groups/:id/` | Get a single group |
## Making your first request
```bash theme={null}
curl -H "Authorization: Bearer spk_a1b2c3d4e5f6..." \
"https://spockoffice.com/spock-api/v1/users/?page_size=5"
```
A successful response returns paginated JSON:
```json theme={null}
{
"next": "https://spockoffice.com/spock-api/v1/users/?cursor=cD0xMjM=",
"previous": null,
"results": [
{
"id": "Kx3mP9",
"name": "John Doe",
"username": "johndoe",
"is_manager": false,
"working_days": [0, 1, 2, 3, 4]
}
]
}
```
## Pagination
The API uses cursor-based pagination. Responses include `next` and `previous` URLs β follow them to navigate through results.
| Parameter | Type | Default | Max |
| ----------- | ---- | ------- | --- |
| `page_size` | int | 50 | 200 |
Cursor pagination performs consistently regardless of dataset size and prevents duplicate or missing items when data changes between pages. Always use the `next` URL from the response rather than constructing cursor values manually.
## Filtering
All list endpoints support these common filters:
| Parameter | Type | Description |
| --------------- | ------------------- | ------------------------------------ |
| `updated_since` | datetime (ISO 8601) | Records updated after this timestamp |
| `created_since` | datetime (ISO 8601) | Records created after this timestamp |
Each endpoint also supports resource-specific filters:
| Parameter | Type | Description |
| ------------------ | ------- | ---------------------------------- |
| `is_manager` | boolean | Filter managers |
| `is_service_admin` | boolean | Filter service admins |
| `employee_status` | int | 1=Active, 2=On Leave, 3=Terminated |
| Parameter | Type | Description |
| ----------------- | ------- | ---------------------------------------------------- |
| `status` | int | Filter by status code (comma-separated for multiple) |
| `user_id` | string | Filter by user ID |
| `leave_type_id` | string | Filter by leave type ID |
| `start_date_from` | date | Start date on or after value |
| `start_date_to` | date | Start date on or before value |
| `end_date_from` | date | End date on or after value |
| `end_date_to` | date | End date on or before value |
| `include_deleted` | boolean | Include deleted requests (default false) |
| Parameter | Type | Description |
| ------------------ | ------ | --------------------------------- |
| `user_id` | string | Filter by user ID |
| `leave_request_id` | string | Filter by parent leave request ID |
| `leave_type_id` | string | Filter by leave type ID |
| `status` | int | 0=Requested, 1=Active, 8=Deleted |
| `date_from` | date | Absence date on or after value |
| `date_to` | date | Absence date on or before value |
| Parameter | Type | Description |
| ----------- | ------- | ----------------------- |
| `is_active` | boolean | Filter by active status |
## Identifiers
All resource IDs in the API are opaque encoded strings (e.g., `"Kx3mP9"`, `"vW7nR2"`). Use them as-is in requests β do not attempt to decode or predict ID values.
```
GET /spock-api/v1/users/Kx3mP9/
GET /spock-api/v1/leave-requests/?user_id=Kx3mP9
```
## Rate limits
| Limit | Value |
| --------- | ----------------------------------- |
| Sustained | 1,000 requests per hour per API key |
| Burst | 60 requests per minute per API key |
Every response includes rate limit headers:
* `X-RateLimit-Limit` β max requests in the current window
* `X-RateLimit-Remaining` β remaining requests
* `X-RateLimit-Reset` β epoch seconds when the window resets
Exceeding the limit returns a `429` response. Back off and retry after the reset time.
## Error responses
All errors follow a consistent format:
```json theme={null}
{
"error": {
"code": "not_found",
"message": "The requested resource was not found.",
"details": {}
}
}
```
| Code | HTTP | Description |
| ----------------------- | ---- | -------------------------------------------- |
| `authentication_failed` | 401 | API key missing, invalid, or revoked |
| `billing_required` | 401 | Team is on Free plan β upgrade required |
| `not_found` | 404 | Resource not found or outside your workspace |
| `invalid_request` | 400 | Invalid query parameters |
| `rate_limit_exceeded` | 429 | Rate limit reached |
| `internal_error` | 500 | Unexpected server error |
## Best practices
### Use incremental sync
For recurring data pulls, use the `updated_since` parameter with the timestamp of your last sync. This is far more efficient than fetching all records every time.
```bash theme={null}
curl -H "Authorization: Bearer spk_..." \
"https://spockoffice.com/spock-api/v1/leave-requests/?updated_since=2026-03-15T00:00:00Z"
```
### Create dedicated keys per integration
Use separate API keys for each integration (e.g., one for payroll, one for your reporting dashboard). This way you can revoke or rotate a single key without affecting other integrations.
### Respect rate limits
Check the `X-RateLimit-Remaining` header and implement backoff logic. If you receive a `429` response, wait until `X-RateLimit-Reset` before retrying.
### Store keys securely
Never hardcode API keys in source code. Use environment variables, a secret manager, or your platform's credential store. Rotate keys periodically as a security measure.
### Handle pagination correctly
Always follow the `next` URL from the response to paginate through results. Do not construct cursor values manually β they may change format without notice.
## Related topics
Receive real-time push notifications when leave events occur.
Configure organization-wide integration settings.
Manage users that appear in the API responses.
Configure the leave types returned by the API.
# Webhooks
Source: https://docs.spockoffice.com/spock/workspace/webhooks
Set up outgoing webhooks to receive real-time notifications when leave request events occur in Spock.
Webhooks let you push real-time leave request events from Spock to your own systems. Instead of repeatedly checking the API for updates, your endpoint receives an HTTP POST notification the moment something happens β a request is submitted, approved, rejected, cancelled, deleted, or updated.
Webhooks require a **Professional** or **Enterprise** plan. Teams on the Free plan will see an upgrade prompt instead of the webhook configuration.
## Why use webhooks
* **Real-time sync** β Keep your HRIS, payroll, or calendar system in sync without polling the API
* **Reduced API calls** β Events are pushed to you, so you don't need to query for changes
* **Flexible automation** β Trigger custom workflows (e.g., update Google Calendar, notify an external channel, sync with your HR tool) based on specific leave events
* **Selective delivery** β Subscribe only to the events you care about
## Supported events
Spock sends webhook notifications for six leave request lifecycle events:
| Event | Description |
| --------------------------- | -------------------------------------------------------------------------------------- |
| `absence_request.requested` | An employee submits a new absence request |
| `absence_request.approved` | A manager approves an absence request, or the request is auto-approved |
| `absence_request.rejected` | A manager rejects an absence request |
| `absence_request.cancelled` | An employee cancels their absence request |
| `absence_request.deleted` | An absence request is permanently removed |
| `absence_request.updated` | Any field on an existing absence request is changed (e.g. dates, substitute, or notes) |
When a leave request is auto-approved (no approval required), two events fire in sequence: `absence_request.requested` followed by `absence_request.approved`. Design your integration to handle both events using the combination of the request ID and event type for idempotency.
## Setting up webhooks
Go to **Settings** > **Webhooks** in your Spock Dashboard. You can also navigate there directly at [Open Webhooks in Dashboard](https://spockoffice.com/spockapp/settings/webhooks/).
Toggle **Webhook status** to **Active**. You can disable it at any time without losing your configuration.
In the **Webhook URL** field, enter the HTTPS endpoint where Spock should send POST requests. For example:
```
https://acme.org/spock/webhook-delivery/
```
Only HTTPS URLs are accepted. Make sure your endpoint is publicly accessible and can accept POST requests.
Spock auto-generates a **Signing secret** (`whsec_...`) for your endpoint. Copy it using the clipboard button next to the secret field and store it securely β you will need it to verify that incoming payloads are genuinely from Spock.
You can click the eye icon to reveal the full secret, or click **Regenerate secret** to create a new one.
Regenerating the signing secret immediately invalidates the previous one. Update your endpoint's verification logic before regenerating.
Under **Subscribed events**, check the events you want to receive. Use **Select All** or **Deselect All** for convenience, or pick specific events.
Click **Save changes** to activate webhook delivery.
## Testing your webhook
Before relying on webhooks in production, verify that your endpoint receives and processes events correctly.
### Send a test event
Make sure you have saved a valid **Webhook URL** and the webhook status is **Active**.
Click the **Send Test** button next to the Webhook URL field. Spock sends a test event (`absence_request.test`) to your endpoint.
After a few seconds, scroll down to the **Recent deliveries** section. Your test delivery appears at the top of the list. Look for:
* **Status** β a green `200` badge means your endpoint responded successfully
* **Response** β shows the HTTP status code and response time (e.g., `200 Β· 96ms`)
If you don't have an endpoint ready yet, you can use a service like [webhook.site](https://webhook.site) to inspect incoming payloads during development.
### Checking the delivery log
The **Recent deliveries** section at the bottom of the Webhooks settings page shows the 20 most recent delivery attempts. Each entry displays:
| Column | Description |
| ------------- | ----------------------------------------------------------------------------------- |
| **Event** | The event type (e.g., `absence_request.approved`, `absence_request.test`) |
| **Timestamp** | When the delivery was attempted |
| **Status** | HTTP status badge β green for success (`200`), red for failure (`404`, `500`, etc.) |
| **Response** | HTTP status code and response time in milliseconds |
| **Actions** | View the payload (`>` button) or retry a failed delivery (retry button) |
Use the delivery log to:
* Confirm events are reaching your endpoint
* Debug failed deliveries by inspecting the response code and payload
* Retry failed deliveries with the retry button (available on non-200 responses)
## Verifying webhook signatures
Every webhook delivery includes an `X-Spock-Signature` header so you can verify the payload was sent by Spock and wasn't tampered with. The signature uses HMAC-SHA256 with your endpoint's signing secret.
The header looks like this:
```
X-Spock-Signature: t=1708185000,v1=5257a869...
```
To verify:
1. Parse the `t` (timestamp) and `v1` (signature) values from the header
2. Construct the signed string: `{timestamp}.{raw_json_body}`
3. Compute HMAC-SHA256 using your signing secret as the key
4. Compare your computed signature with `v1` using a constant-time comparison
5. Optionally reject payloads older than 5 minutes to prevent replay attacks
```python theme={null}
import hmac
import hashlib
import time
def verify_webhook(payload_body: bytes, signature_header: str, secret: str) -> bool:
parts = dict(p.split("=", 1) for p in signature_header.split(","))
timestamp = parts["t"]
expected_sig = parts["v1"]
# Reject if older than 5 minutes
if abs(time.time() - int(timestamp)) > 300:
return False
signed_payload = f"{timestamp}.{payload_body.decode('utf-8')}"
computed_sig = hmac.new(
secret.encode("utf-8"),
signed_payload.encode("utf-8"),
hashlib.sha256
).hexdigest()
return hmac.compare_digest(computed_sig, expected_sig)
```
## Payload format
All events are delivered as JSON POST requests. Here is an example payload for an `absence_request.approved` event:
```json theme={null}
{
"event": "absence_request.approved",
"timestamp": "2026-02-17T14:30:00Z",
"data": {
"id": 12345,
"status": "approved",
"status_code": 2,
"leave_type": "Vacation",
"start_date": "2026-03-01",
"end_date": "2026-03-05",
"duration_days": 5.0,
"is_hourly": false,
"start_hour": null,
"end_hour": null,
"duration_hours": null,
"notes": "Family trip",
"requestor": {
"slack_user_id": "U12345ABC",
"name": "John Doe",
"email": "john@company.com"
},
"acted_by": {
"slack_user_id": "U67890DEF",
"name": "Jane Manager",
"email": "jane@company.com"
},
"substitute": {
"slack_user_id": "U11111GHI",
"name": "Bob Cover"
},
"team": {
"slack_team_id": "T12345",
"name": "Acme Corp"
},
"approved_time": "2026-02-17T14:30:00Z",
"rejected_time": null,
"canceled_time": null,
"deleted_time": null,
"created_time": "2026-02-10T09:00:00Z"
}
}
```
| Field | Type | Description |
| --------------------- | ------------- | --------------------------------------------------------------------------------------------- |
| `event` | string | Event type (e.g., `absence_request.approved`) |
| `timestamp` | datetime | UTC timestamp of when the event was generated |
| `data.id` | int | Leave request ID |
| `data.status` | string | Human-readable status: `requested`, `approved`, `rejected`, `cancelled`, `deleted` |
| `data.status_code` | int | Numeric status code (0=Requested, 2=Approved, 4=Rejected, 8=Deleted, 10=Cancelled) |
| `data.leave_type` | string | Leave type name |
| `data.start_date` | date | Leave start date (`YYYY-MM-DD`) |
| `data.end_date` | date | Leave end date (`YYYY-MM-DD`) |
| `data.duration_days` | decimal | Duration in working days |
| `data.is_hourly` | boolean | Whether the request uses hourly tracking |
| `data.start_hour` | string/null | Start hour (`HH:MM`) for hourly requests |
| `data.end_hour` | string/null | End hour (`HH:MM`) for hourly requests |
| `data.duration_hours` | decimal/null | Duration in hours (hourly requests only) |
| `data.notes` | string | Request notes visible to the team |
| `data.requestor` | object | `{slack_user_id, name, email}` β the employee requesting leave |
| `data.acted_by` | object/null | `{slack_user_id, name, email}` β the person who triggered this event (null for auto-approval) |
| `data.substitute` | object/null | `{slack_user_id, name}` β assigned substitute, if any |
| `data.team` | object | `{slack_team_id, name}` β the Slack workspace |
| `data.approved_time` | datetime/null | When the request was approved |
| `data.rejected_time` | datetime/null | When the request was rejected |
| `data.canceled_time` | datetime/null | When the request was cancelled |
| `data.deleted_time` | datetime/null | When the request was deleted |
| `data.created_time` | datetime | When the request was originally created |
| Event | `acted_by` value |
| --------------------------- | ----------------------------------------------- |
| `absence_request.requested` | The requestor (or manager if created on behalf) |
| `absence_request.approved` | The approver; `null` if auto-approved |
| `absence_request.rejected` | The rejecting approver |
| `absence_request.cancelled` | The person who cancelled (employee or admin) |
| `absence_request.deleted` | The person who deleted the request |
| `absence_request.updated` | The person who modified dates/hours |
The `absence_request.updated` event includes a `changes` object showing what was modified:
```json theme={null}
{
"event": "absence_request.updated",
"timestamp": "2026-02-17T15:00:00Z",
"data": {
"...all standard fields with new values...",
"changes": {
"start_date": { "old": "2026-03-01", "new": "2026-03-03" },
"end_date": { "old": "2026-03-05", "new": "2026-03-07" },
"duration_days": { "old": 5.0, "new": 5.0 }
}
}
}
```
## Delivery and retry policy
| Property | Value |
| ----------------- | ------------------------------------- |
| HTTP method | `POST` |
| Content-Type | `application/json` |
| Timeout | 10 seconds |
| Max retries | 3 |
| Retry intervals | 60s, 300s, 900s (exponential backoff) |
| Expected response | Any `2xx` status code |
* Deliveries are asynchronous and do not block the leave approval flow
* Any non-2xx response or timeout triggers a retry
* After 3 failed retries, the delivery is marked as failed in the delivery log
## Best practices
### Respond quickly
Return a `200` response as soon as you receive the payload. Process the data asynchronously in your own system to avoid timeouts. Spock waits a maximum of 10 seconds before marking a delivery as failed.
### Verify signatures
Always validate the `X-Spock-Signature` header before processing payloads. This ensures requests are genuinely from Spock and prevents spoofed events from triggering actions in your system.
### Handle duplicates
Design your integration to be idempotent. In rare cases (e.g., network retries), you may receive the same event more than once. Use the combination of `data.id` and `event` to detect duplicates.
### Monitor the delivery log
Check the **Recent deliveries** section regularly to spot failures early. A pattern of `404` or `500` responses usually indicates a misconfigured endpoint URL or a bug in your handler.
### Use event filtering
Subscribe only to the events your integration needs. Fewer events mean less processing and fewer opportunities for errors.
### Keep your signing secret safe
Treat the signing secret like a password. Store it in environment variables or a secret manager β not in source code. If you suspect it has been exposed, use **Regenerate secret** immediately.
## Related topics
Configure organization-wide integration settings for Slack and external calendars.
Set up Slack channel notifications for team leave activity.
Configure organization-wide Slack notifications for leave events.
Manage the leave types that trigger webhook events.