# Analytics
Source: https://help.doozy.live/admin/analytics
Track how your team uses Doozy - introductions, celebrations, quizzes, and more.
Get insights into how your team is engaging with Doozy. View metrics across all features with flexible date filtering.
Analytics is available to Managers and Admins on the Team and Enterprise plans.
***
## ๐ Accessing Analytics
1. Go to [doozy.live/app](https://doozy.live/app) and sign in
2. Select **Usage** from the menu
3. Choose your date range using the picker
### Date Range Options
| Option | Description |
| ------------------ | --------------------------------- |
| **This year** | Current calendar year |
| **Last year** | Previous calendar year |
| **Last 30 days** | Rolling 30-day window |
| **Last 60 days** | Rolling 60-day window |
| **Last 6 months** | Rolling 6-month window |
| **Last 12 months** | Rolling 12-month window |
| **All time** | Since your account was created |
| **Custom range** | Pick specific start and end dates |
***
## ๐ Available Metrics
### ๐ Introductions
| Metric | Description |
| ---------------------- | ----------------------------------------------------------- |
| **Groups matched** | Total Doozy Roulette or one-off introduction groups created |
| **Introductions made** | Total people matched within introduction groups |
| **Meetings scheduled** | Groups who scheduled a meeting through Doozy |
### ๐ Celebrations
| Metric | Description |
| ---------------------------- | ------------------------------------------------ |
| **Total celebrations** | All birthday and anniversary celebrations shared |
| **Birthday celebrations** | Number of birthday celebrations posted |
| **Anniversary celebrations** | Number of work anniversary celebrations posted |
### โ๏ธ Quizzes
| Metric | Description |
| ------------------ | --------------------------------------- |
| **Active quizzes** | Number of quizzes running in the period |
| **Creators** | How many people created a quiz |
| **Participants** | How many people answered quiz questions |
### ๐ Polls & Surveys
| Metric | Description |
| --------------------------- | ---------------------------------------- |
| **Created polls + surveys** | Total polls and surveys created |
| **Creators** | How many people created a poll or survey |
| **Responders** | Total responses submitted |
### ๐ฃ Shoutouts
| Metric | Description |
| --------------------- | ------------------------------ |
| **Total shoutouts** | Number of shoutouts sent |
| **Shoutout creators** | How many people sent shoutouts |
### ๐ง Trivia & Icebreakers
| Metric | Description |
| --------------------- | ------------------------------------- |
| **Total questions** | Trivia questions posted in the period |
| **Answers submitted** | Total answers to trivia questions |
| **Correct answers** | How many answers were correct |
### ๐ฎ Team Socials
| Metric | Description |
| -------------------- | ---------------------------------------------- |
| **Socials hosted** | Total social video calls started |
| **Total organisers** | How many people organised socials |
| **Total attendees** | Participants who joined (including organisers) |
***
## ๐ Leaderboards
Many metrics include expandable charts showing top contributors:
* **Quiz Creators** - Who's creating the most quizzes
* **Quiz Participants** - Most active quiz participants
* **Top Answerers** - Most trivia answers submitted
* **Top Correct** - Best trivia accuracy
* **Most Shouted Out** - Who receives the most shoutouts
* **Shoutout Creators** - Who sends the most shoutouts
* **Social Organisers** - Most active social hosts
* **Social Attendees** - Most frequent social participants
***
## ๐ก Tips
Use analytics before quarterly reviews to highlight team engagement and participation.
Track introduction metrics to measure the impact of your coffee chat program.
Monitor shoutout trends to understand recognition culture across teams.
***
## ๐ฌ Feedback
Analytics is in beta! Tell us what data you'd like to see: [analytics@doozy.live](mailto:analytics@doozy.live)
# How to Change the Doozy Slack Bot Name
Source: https://help.doozy.live/admin/change-slack-bot-name
Step-by-step guide to updating the Doozy bot's name in Slack.
**Follow these steps to update the Doozy bot's name in Slack.**
***
Want to customize how the Doozy bot appears when posting messages in Slack?
If you have the necessary workspace permissions, you can update the bot's name in the Slack app configuration settings.
## Steps to Change the Doozy Slack Bot Name
1. Open the Doozy app in the Slack App Directory.
2. Click on the **Configuration** tab.
3. Scroll to the **Bot User** section.
4. If available, click **Edit**.
5. Enter the new bot name and click **Save Changes**.
Note: The ability to change the bot name may depend on your workspace permissions. If you don't see the option to edit, contact your Slack workspace administrator.
We can also customize your icon when posting messages in a shared channel. This won't change the bot's icon in the sidebar, or for direct messages between the user and the bot. If you want to change the icon, please contact us at [support@doozy.live](mailto:support@doozy.live).
# User Roles
Source: https://help.doozy.live/admin/how-to-change-user-permissions
Manage permissions - admins, managers, members, and disabled users.
Control what each team member can do in Doozy by assigning the appropriate role.
***
## ๐ฅ Role Types
| Role | What They Can Do |
| ------------ | ------------------------------------------------------------------------------- |
| **Admin** | Full access - billing, integrations, users, all activities, and tracks |
| **Manager** | Schedule activities and create tracks (no billing/integrations/user management) |
| **Member** | Participate in activities, schedule quizzes/surveys/trivia/icebreakers |
| **Disabled** | Cannot participate in activities and are not billed |
Need to limit member permissions further? [Contact us](mailto:hello@doozy.live) and we can help.
***
## โ๏ธ Changing a User's Role
1. Go to [doozy.live/app](https://doozy.live/app) and sign in
2. Navigate to **Settings** โ **Members**
3. Find the team member
4. Use the dropdown to select their role
5. Changes save automatically
***
## ๐ฏ Common Scenarios
| Scenario | Recommended Role |
| --------------------------------- | ---------------------------------------- |
| **HR or People Ops lead** | Admin |
| **Team lead managing onboarding** | Manager |
| **Regular employee** | Member |
| **Contractor or external user** | Member (or Disabled if no access needed) |
| **Left the company** | Disabled |
***
## โ FAQ
They lose access to all Doozy activities and are removed from billing. Their historical data (shoutouts, quiz results, etc.) is retained. Any track they were still going through is stopped: open quizzes, surveys, tasks, and invitations from it are canceled, the same as [manually removing them from a track](/tracks/remove-a-user-from-a-track).
Disabling also ends any mentor pairing they were part of, on either side - so the other person's mentorship ends too. This is the one difference from removing someone from a single track, which leaves an existing pairing in place.
Yes - you can have as many admins as needed. All admins have equal permissions.
Members can schedule some activities (quizzes, surveys, trivia, icebreakers). For full scheduling access, promote them to Manager.
# Uninstall Doozy from Slack
Source: https://help.doozy.live/admin/how-to-uninstall-doozy-for-slack
How to disconnect or remove Doozy from your Slack workspace.
You can uninstall Doozy from your Slack workspace using either the Doozy web app or directly from Slack.
***
## ๐ Option 1: From Doozy Web App
1. Go to [doozy.live/app](https://doozy.live/app) and sign in
2. Navigate to **Settings**
3. Click **Disconnect Slack**
***
## ๐ฌ Option 2: From Slack
1. In Slack, click your workspace name in the top left
2. Select **Settings & administration** โ **Manage apps**
3. Find **Doozy** in your installed apps
4. Click **Remove**
***
## โ ๏ธ What Happens When You Uninstall
| What's Removed | What's Kept |
| ------------------------------ | ----------------------------------------------- |
| All scheduled activities stop | Your Doozy account remains active |
| Doozy is removed from Slack | Historical data (shoutouts, quiz results, etc.) |
| Team members lose Slack access | Web app access (if re-connected later) |
Uninstalling stops all scheduled activities immediately - birthdays, anniversaries, introductions, trivia, and more.
***
## ๐ Reconnecting
You can reconnect Doozy to Slack anytime:
1. Go to [doozy.live/app](https://doozy.live/app)
2. Click **Connect Slack**
3. Authorize the app
Your previous settings and data will still be available.
***
## ๐ฌ Having Issues?
If something wasn't quite right or you're experiencing problems, we'd love to help before you go! Reach out to us at [hello@doozy.live](mailto:hello@doozy.live) - we're quick to respond and happy to assist.
# Sign-in Methods
Source: https://help.doozy.live/admin/sign-in-methods
Control how your team signs into Doozy - Slack, Google, or email.
By default, team members can sign into Doozy using Slack, Google, or email (magic link). Admins can restrict which methods are available.
***
## ๐ Available Sign-in Methods
| Method | Description |
| ---------------------- | --------------------------------------- |
| **Slack** | Sign in with your Slack account |
| **Google** | Sign in with Google (GSuite/Workspace) |
| **Email (Magic Link)** | Receive a one-time login link via email |
***
## โ๏ธ Restricting Sign-in Methods
To limit which sign-in options are available to your team:
1. Go to [doozy.live/app](https://doozy.live/app) and sign in
2. Navigate to **Settings** โ **Security**
3. Under **Allowed sign-in methods**, select which options to enable
4. Save your changes
Restricting sign-in methods applies to all team members. Make sure everyone has access to at least one enabled method.
***
## ๐ฏ Common Configurations
| Use Case | Recommended Setting |
| ------------------------------- | ------------------------ |
| **Maximum flexibility** | Enable all three methods |
| **SSO-only (Google Workspace)** | Google only |
| **Slack-first teams** | Slack only |
| **No third-party auth** | Email (Magic Link) only |
If your organization uses Google Workspace or Slack Enterprise Grid, restricting to that single method can simplify access management.
# Get introduction details
Source: https://help.doozy.live/api-reference/introductions/get-introduction-details
/openapi.json get /v1/introductions/{introductionId}
Retrieve a specific introduction by ID, including configuration, admin users, opted-out users, and instance/match counts. Only accessible if the user is an admin of the introduction.
# Get introduction report
Source: https://help.doozy.live/api-reference/introductions/get-introduction-report
/openapi.json get /v1/introductions/{introductionId}/report
Retrieve a detailed analytics report for an introduction, including summary statistics (total instances, matches, participants, meeting rates) and a paginated match list with participant details.
# Get track introductions report
Source: https://help.doozy.live/api-reference/introductions/get-track-introductions-report
/openapi.json get /v1/introductions/report
Generate an aggregated report for all introduction matches within a specific track (and optionally step). Includes summary statistics (total instances, matches, participants, meeting rates) and a paginated match list.
# List introduction instances
Source: https://help.doozy.live/api-reference/introductions/list-introduction-instances
/openapi.json get /v1/introductions/{introductionId}/instances
List all instances (rounds) for a specific introduction. Each instance represents one matching cycle. Results are paginated and sorted by match date (newest first).
# List introductions
Source: https://help.doozy.live/api-reference/introductions/list-introductions
/openapi.json get /v1/introductions
List all introductions (Doozy Roulette and Matchmaking) accessible to the authenticated user. Results are paginated and sorted by creation date (newest first). Supports filtering by type and status.
# Get quiz instance
Source: https://help.doozy.live/api-reference/quiz-instances/get-quiz-instance
/openapi.json get /v1/quizzes/{quizId}/instances/{instanceId}
Retrieve a specific instance by ID.
# List quiz instances
Source: https://help.doozy.live/api-reference/quiz-instances/list-quiz-instances
/openapi.json get /v1/quizzes/{quizId}/instances
List all instances for a specific quiz. Results are paginated and sorted by creation date (newest first).
# Get a participant's quiz result
Source: https://help.doozy.live/api-reference/quiz-reports/get-a-participants-quiz-result
/openapi.json get /v1/quizzes/{quizId}/instances/{instanceId}/participants/{userId}
One participant's per-question result for a single quiz instance: the questions they received, what they answered, and the correct answers. Visible to the quiz's admins and the participant's manager-of-record (subject to the quiz's result visibility).
# Get quiz details
Source: https://help.doozy.live/api-reference/quizzes/get-quiz-details
/openapi.json get /v1/quizzes/{quizId}
Retrieve a specific quiz by ID, including all rounds, questions, and answers. Only accessible if the user is an admin or delegated admin of the quiz.
# Get quiz report
Source: https://help.doozy.live/api-reference/quizzes/get-quiz-report
/openapi.json get /v1/quizzes/{quizId}/report
Retrieve a detailed analytics report for a specific quiz. Returns participant results with scores, completion status, and optionally per-question responses and analytics. Results are paginated by participant.
# List quizzes
Source: https://help.doozy.live/api-reference/quizzes/list-quizzes
/openapi.json get /v1/quizzes
List all quizzes accessible to the authenticated user. Returns quizzes where the user is an admin or delegated admin. Results are paginated and sorted by creation date (newest first).
# Get a respondent's survey result
Source: https://help.doozy.live/api-reference/surveys/get-a-respondents-survey-result
/openapi.json get /v1/surveys/{surveyId}/instances/{instanceId}/participants/{userId}
One respondent's answers for a single survey instance. Visible to the survey's admins and the respondent's manager-of-record (subject to the survey's result visibility). Anonymous surveys are never attributable and return 404.
# Get survey details
Source: https://help.doozy.live/api-reference/surveys/get-survey-details
/openapi.json get /v1/surveys/{surveyId}
Retrieve a specific survey by ID, including questions and delivery instances. Only accessible if the user is an admin of the survey.
# Get survey report
Source: https://help.doozy.live/api-reference/surveys/get-survey-report
/openapi.json get /v1/surveys/{surveyId}/report
Retrieve a detailed analytics report for a survey, including summary statistics, per-question analytics with breakdowns, and a paginated participant list. For anonymous surveys, only responded participants can be returned.
# Get survey trends
Source: https://help.doozy.live/api-reference/surveys/get-survey-trends
/openapi.json get /v1/surveys/{surveyId}/trends
Retrieve per-instance question analytics for a survey, suitable for trend charting. Returns chronologically ordered data points for each question across all delivery instances, including average scores, eNPS scores, and answer breakdowns.
# List surveys
Source: https://help.doozy.live/api-reference/surveys/list-surveys
/openapi.json get /v1/surveys
List all surveys accessible to the authenticated user. Returns surveys where the user is an admin. Results are paginated and sorted by creation date (newest first). Only polls and surveys are returned (excludes activity feedback).
# Enroll user in track
Source: https://help.doozy.live/api-reference/tracks/enroll-user-in-track
/openapi.json post /v1/tracks/{trackId}/enroll
Enroll a user in a track. The user must be connected to Slack and have at least one role assigned. Exactly one of email, user_id, or slack_user_id must be provided to identify the user.
# Get a specific enrollment
Source: https://help.doozy.live/api-reference/tracks/get-a-specific-enrollment
/openapi.json get /v1/tracks/{trackId}/enrollees/{enrolleeId}
Retrieve detailed information about a specific enrollment (enrollee) in the track, including all step progress and results.
# Get track details
Source: https://help.doozy.live/api-reference/tracks/get-track-details
/openapi.json get /v1/tracks/{trackId}
Retrieve a specific track by ID, including step summaries and enrollment metrics. Only accessible if the user is an admin of the track.
# Get track report
Source: https://help.doozy.live/api-reference/tracks/get-track-report
/openapi.json get /v1/tracks/{trackId}/report
Generate a comprehensive report for a track, including enrollment summary, enrollee progress, and optionally step-level results and analytics.
# List tracks
Source: https://help.doozy.live/api-reference/tracks/list-tracks
/openapi.json get /v1/tracks
List all tracks accessible to the authenticated user. Returns tracks where the user is an admin. Results are paginated and sorted by creation date (newest first). By default, archived tracks are excluded.
# Authentication
Source: https://help.doozy.live/api/authentication
Learn how to authenticate with the Doozy API using API keys
The Doozy API is currently in **closed beta**. To request access, please email [hello@doozy.live](mailto:hello@doozy.live).
## Enabling API Access
API access is **disabled by default** for all Doozy workspaces. Before any API keys can be generated, an Admin must enable API access:
Navigate to your Doozy dashboard and open **Settings**.
Select the **Security** page from the settings menu.
Toggle on the **API Access** option to allow API key generation.
## Creating an API Key
Once API access is enabled, **Admins** and **Managers** can generate API keys:
In your Doozy dashboard, navigate to the API keys section.
Click **Generate API Key** to create a new key.
Copy your API key immediately. For security reasons, the full key is only shown once.
Store your API key securely. Treat it like a password - never commit it to version control or share it publicly.
## Using Your API Key
Include your API key in the `x-api-key` header with every request:
```bash theme={null}
curl https://api.doozy.live/v1/quizzes \
-H "x-api-key: dzy_xxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
```
### API Key Format
Doozy API keys follow this format:
```
dzy_xxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
```
## Access Scoping
API keys inherit the permissions of the user who created them. This means:
* You can only access quizzes, surveys, and other resources that you have permission to view as an Admin or Manager
* If you are removed as an admin from a quiz or survey, your API key will **immediately lose access** to that resource
* Different users' API keys may have access to different resources based on their individual permissions
If you need to access data across your entire workspace, ensure the user generating the API key has appropriate permissions for all resources.
## Rotating API Keys
To rotate your API key (recommended periodically for security):
Create a new API key following the steps above.
Replace the old API key with the new one in all your integrations and scripts.
Once all integrations are updated, delete the old API key from your Doozy dashboard.
Rotate your API keys regularly and immediately if you suspect a key has been compromised.
## Rate Limiting
The Doozy API enforces rate limits to ensure fair usage:
| Limit | Value |
| ----------------- | ----- |
| Requests per hour | 1,000 |
When you exceed the rate limit, the API returns a `429 Too Many Requests` response. See the [Errors](/api/errors) page for details on handling this.
Rate limits are applied per API key. If you need higher limits, please contact us at [hello@doozy.live](mailto:hello@doozy.live).
# Error Handling
Source: https://help.doozy.live/api/errors
Understand Doozy API error responses and how to handle them
The Doozy API is currently in **closed beta**. To request access, please email [hello@doozy.live](mailto:hello@doozy.live).
## Error Response Format
When an error occurs, the API returns a JSON response with an `error` object containing a `code` and `message`:
```json theme={null}
{
"error": {
"code": "invalid_key",
"message": "Invalid API key."
}
}
```
## Error Codes
| HTTP Status | Error Code | Description |
| ----------- | ---------------- | ------------------------------------------------------------------- |
| `400` | `bad_request` | The request was malformed or missing required parameters |
| `401` | `invalid_key` | The API key is missing, invalid, or has been revoked |
| `403` | `forbidden` | The API key doesn't have permission to access this resource |
| `404` | `not_found` | The requested resource doesn't exist or you don't have access to it |
| `429` | `rate_limited` | You've exceeded the rate limit of 1,000 requests per hour |
| `500` | `internal_error` | An unexpected error occurred on our servers |
## Handling Errors
### Invalid API Key (401)
```json theme={null}
{
"error": {
"code": "invalid_key",
"message": "Invalid API key."
}
}
```
**Causes:**
* The API key is missing from the request
* The API key format is incorrect
* The API key has been revoked or deleted
**Solution:** Verify your API key is correct and included in the `x-api-key` header.
### Forbidden (403)
```json theme={null}
{
"error": {
"code": "forbidden",
"message": "You do not have permission to access this resource."
}
}
```
**Causes:**
* Your user account doesn't have permission to access this resource
* You were removed as an admin/manager from the quiz or survey
**Solution:** Check your permissions in the Doozy dashboard. If you were recently removed from a resource, you'll need to be re-added to regain API access.
### Not Found (404)
```json theme={null}
{
"error": {
"code": "not_found",
"message": "Resource not found."
}
}
```
**Causes:**
* The resource ID is incorrect
* The resource has been deleted
* You don't have access to view this resource
**Solution:** Verify the resource ID and your permissions.
### Rate Limited (429)
```json theme={null}
{
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded. Please try again later."
}
}
```
**Causes:**
* You've exceeded 1,000 requests per hour
**Solution:** Wait before making additional requests. Implement exponential backoff in your integration:
```javascript theme={null}
async function fetchWithRetry(url, options, maxRetries = 3) {
for (let attempt = 0; attempt < maxRetries; attempt++) {
const response = await fetch(url, options);
if (response.status === 429) {
// Wait 60 seconds before retrying
const waitTime = 60 * 1000 * Math.pow(2, attempt);
await new Promise(resolve => setTimeout(resolve, waitTime));
continue;
}
return response;
}
throw new Error('Max retries exceeded');
}
```
If you consistently hit rate limits, consider caching responses or reducing request frequency. Contact [hello@doozy.live](mailto:hello@doozy.live) if you need higher limits.
### Internal Error (500)
```json theme={null}
{
"error": {
"code": "internal_error",
"message": "An unexpected error occurred."
}
}
```
**Causes:**
* An unexpected error on our servers
**Solution:** Retry the request after a short delay. If the issue persists, contact [support@doozy.live](mailto:support@doozy.live).
# Calling the API from Make
Source: https://help.doozy.live/api/integrations/make
Learn how to integrate Doozy API with Make (formerly Integromat)
The Doozy API is currently in **closed beta**. To request access, please email [hello@doozy.live](mailto:hello@doozy.live).
This guide walks you through calling the Doozy API from [Make](https://www.make.com) (formerly Integromat) to automate your reporting workflows.
## Prerequisites
Before you begin, ensure you have:
* A Doozy account with API access enabled (see [Authentication](/api/authentication))
* A Doozy API key
* A Make account
## Setting Up the HTTP Module
Make doesn't have a native Doozy integration, so you'll use the **HTTP** module to make API requests.
Log in to Make and click **Create a new scenario**.
Click the **+** button and search for **HTTP**. Select **Make a request**.
Set up the HTTP module with the following settings:
| Field | Value |
| ----------- | ----------------------------------- |
| **URL** | `https://api.doozy.live/v1/quizzes` |
| **Method** | `GET` |
| **Headers** | Add a header (see below) |
Add a header:
* **Name:** `x-api-key`
* **Value:** Your Doozy API key (`dzy_xxxxxxxx_...`)
Click **Run once** to test the connection. You should see a list of your quizzes in the response.
## Example: Fetching Quiz Results
To fetch detailed results for a specific quiz:
| Field | Value |
| ----------- | --------------------------------------------------- |
| **URL** | `https://api.doozy.live/v1/quizzes/{quizId}/report` |
| **Method** | `GET` |
| **Headers** | `x-api-key: your-api-key` |
Replace `{quizId}` with the actual quiz ID from your Doozy dashboard.
## Handling Pagination
For endpoints that return multiple items, you may need to handle pagination:
Make the initial request with your desired `limit` parameter:
```
https://api.doozy.live/v1/quizzes?limit=25
```
Check if the response has more items by looking at the `has_more` field.
If there are more results, use the last item's ID as the `starting_after` parameter:
```
https://api.doozy.live/v1/quizzes?limit=25&starting_after=quiz_abc123
```
Use Make's **Iterator** and **Repeater** modules to loop through paginated results automatically.
## Storing Your API Key Securely
Instead of hardcoding your API key, use Make's **Data Stores** or **Variables** to store it securely:
1. Go to **More** โ **Keys**
2. Create a new key with your API key value
3. Reference this key in your HTTP module headers
## Error Handling
Add a **Error handler** route to your scenario to handle API errors gracefully:
* **429 errors**: Add a **Sleep** module and retry
* **401 errors**: Check your API key is valid
* **404 errors**: Verify the resource ID exists
See [Error Handling](/api/errors) for a complete list of error codes.
## Example Workflow: Weekly Quiz Report to Google Sheets
Add a **Schedule** trigger to run weekly.
Use the HTTP module to fetch `/v1/quizzes/{quizId}/report`.
Use the **JSON** module to parse the response data.
Use the **Google Sheets** module to append the data to your spreadsheet.
# Calling the API from Zapier
Source: https://help.doozy.live/api/integrations/zapier
Learn how to integrate Doozy API with Zapier
The Doozy API is currently in **closed beta**. To request access, please email [hello@doozy.live](mailto:hello@doozy.live).
This guide walks you through calling the Doozy API from [Zapier](https://zapier.com) to automate your reporting workflows.
## Prerequisites
Before you begin, ensure you have:
* A Doozy account with API access enabled (see [Authentication](/api/authentication))
* A Doozy API key
* A Zapier account (Professional plan or higher recommended for Webhooks)
## Using Webhooks by Zapier
Since there isn't a native Doozy app in Zapier, you'll use **Webhooks by Zapier** to make API requests.
Log in to Zapier and click **Create Zap**.
Choose any trigger that suits your workflow (e.g., **Schedule by Zapier** for periodic reports).
Click **+** to add an action, search for **Webhooks by Zapier**, and select **Custom Request**.
Set up the webhook with the following settings:
| Field | Value |
| ----------- | ----------------------------------- |
| **Method** | `GET` |
| **URL** | `https://api.doozy.live/v1/quizzes` |
| **Headers** | `x-api-key \| your-api-key` |
In Zapier, headers use the format `Header-Name | Header-Value`. Enter your API key as:
```
x-api-key | dzy_xxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
```
Click **Test action** to verify the connection. You should see your quiz data in the response.
## Example: Fetching a Quiz Report
To fetch detailed results for a specific quiz:
| Field | Value |
| ----------- | --------------------------------------------------- |
| **Method** | `GET` |
| **URL** | `https://api.doozy.live/v1/quizzes/{quizId}/report` |
| **Headers** | `x-api-key \| your-api-key` |
Replace `{quizId}` with the actual quiz ID from your Doozy dashboard.
## Parsing the Response
The API returns JSON data. To use specific fields in subsequent Zap steps:
After testing the webhook, Zapier automatically parses the JSON response.
In subsequent actions, you can reference specific fields from the response, such as:
* `quiz.title` - The quiz title
* `summary.totalParticipants` - Number of participants
* `summary.averageScore` - Average quiz score
## Handling Pagination
For endpoints returning multiple items:
1. Make the initial request with a `limit` parameter in the URL:
```
https://api.doozy.live/v1/quizzes?limit=100
```
2. Use Zapier's **Looping by Zapier** or **Paths** to handle pagination if you need more than 100 items.
## Example Workflow: Daily Quiz Summary to Slack
Use **Schedule by Zapier** to run daily at your preferred time.
Add **Webhooks by Zapier** โ **Custom Request** to fetch `/v1/quizzes/{quizId}/report`.
Use **Formatter by Zapier** to create a summary message with the quiz results.
Add **Slack** โ **Send Channel Message** to post the summary.
## Example Workflow: Export Quiz Results to Google Sheets
Use **Schedule by Zapier** to run weekly.
Use **Webhooks by Zapier** to fetch quiz report data.
Use **Google Sheets** โ **Create Spreadsheet Row** to log the results.
## Error Handling
Zapier will mark a Zap step as failed if it receives a non-2xx response. Common errors:
| Error | Cause | Solution |
| ------------------------- | ---------------------- | ------------------------------ |
| **401 Unauthorized** | Invalid API key | Verify your API key is correct |
| **404 Not Found** | Resource doesn't exist | Check the quiz ID |
| **429 Too Many Requests** | Rate limit exceeded | Reduce frequency or add delays |
Use Zapier's built-in **Error Handling** feature to add retry logic or send notifications when errors occur.
See [Error Handling](/api/errors) for a complete list of error codes.
## Security Best Practices
Never share your Zap publicly if it contains your API key. Anyone with access to the Zap could view your key.
* Keep your Zaps private
* Regularly rotate your API keys (see [Authentication](/api/authentication#rotating-api-keys))
* Monitor your Zap history for unexpected errors
# API Overview
Source: https://help.doozy.live/api/overview
Learn about the Doozy Public API for reporting and analytics
The Doozy API is currently in **closed beta**. To request access, please email
[hello@doozy.live](mailto:hello@doozy.live).
The Doozy Public API provides access to your Doozy data, designed primarily for reporting and analytics use cases, as well as enrolling users on to tracks. Use it to extract quiz results, survey responses, and other engagement data into your preferred reporting tools.
## Base URL
All API requests should be made to:
```
https://api.doozy.live
```
## Available Endpoints
### Quizzes
The Quiz API allows you to retrieve quiz data and detailed analytics reports:
| Endpoint | Description |
| ------------------------------------------------- | ------------------------------------------------------------ |
| `GET /v1/quizzes` | List all quizzes you have access to |
| `GET /v1/quizzes/{quizId}` | Get detailed quiz information including rounds and questions |
| `GET /v1/quizzes/{quizId}/report` | Get comprehensive analytics and participant responses |
| `GET /v1/quizzes/{quizId}/instances` | List scheduled instances of a quiz |
| `GET /v1/quizzes/{quizId}/instances/{instanceId}` | Get a single quiz instance |
### Tracks
The Track API lets you read track definitions and progress and enroll users. Each step has a `day`, counted in the Track's working days from enrollment (`0` is the enrollment day), and a `time` such as `09:00`; `null` uses 9:00 AM.
`catch_up` controls overdue steps. `true` makes them eligible in order, subject to Working Hours. `false` shifts Day 1 to the next working day. Nothing is skipped.
`working_hours` contains `days_of_week`, `start_time`, `end_time`, and an IANA `time_zone`. Working days and overdue catch-up hours are evaluated in each recipient's time zone, including both time boundaries. `time_zone` is the default only when a recipient has no time zone. A Track value of `null` inherits the workspace policy. A legacy Track that omits `working_hours` keeps `run_days` as its working-day list while inheriting workspace/default hours and time zone. An enrollment request can override all four fields. Each enrollment snapshots the resolved policy, so later workspace or Track changes do not affect it.
For schedule triggers, `frequency: "once"` schedules one run at the configured start date and time. The read-only `next_run_at` field contains the next scheduled run time. It is `null` for draft or paused tracks and after Doozy finishes processing a one-off schedule. Updating other track fields does not schedule another run. To schedule another run, change the start date, time, or time zone.
| Endpoint | Description |
| ------------------------------------------------- | ------------------------------------------------------ |
| `GET /v1/tracks` | List all tracks you have access to |
| `GET /v1/tracks/{trackId}` | Get a track including its steps and their day and time |
| `GET /v1/tracks/{trackId}/report` | Get enrollment and completion analytics |
| `GET /v1/tracks/{trackId}/enrollees/{enrolleeId}` | Get one enrollee's progress |
| `POST /v1/tracks/{trackId}/enroll` | Enroll a user in a track |
### Surveys
| Endpoint | Description |
| ----------------------------------- | ----------------------------------- |
| `GET /v1/surveys` | List all surveys you have access to |
| `GET /v1/surveys/{surveyId}` | Get detailed survey information |
| `GET /v1/surveys/{surveyId}/report` | Get responses and analytics |
| `GET /v1/surveys/{surveyId}/trends` | Get response trends over time |
### Introductions
| Endpoint | Description |
| -------------------------------------------------- | --------------------------------------------------------- |
| `GET /v1/introductions` | List all introductions you have access to |
| `GET /v1/introductions/{introductionId}` | Get detailed introduction information |
| `GET /v1/introductions/{introductionId}/instances` | List instances of an introduction |
| `GET /v1/introductions/{introductionId}/report` | Get match and meeting analytics |
| `GET /v1/introductions/report` | Get aggregated analytics for introductions within a track |
## Pagination
The API uses cursor-based pagination for list endpoints. Use these query parameters:
| Parameter | Description | Default | Maximum |
| ---------------- | -------------------------------------------------------------- | ------- | ------- |
| `limit` | Number of items to return | 25 | 100 |
| `starting_after` | Cursor for pagination (ID of the last item from previous page) | - | - |
### Example
```bash theme={null}
# First page
curl https://api.doozy.live/v1/quizzes?limit=25 \
-H "x-api-key: dzy_xxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# Next page (using the last quiz ID from the previous response)
curl https://api.doozy.live/v1/quizzes?limit=25&starting_after=quiz_abc123 \
-H "x-api-key: dzy_xxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
```
## OpenAPI Specification
Download the full OpenAPI specification for use with API clients, code generators, or other tooling:
OpenAPI 3.0 specification (JSON)
## Next Steps
Learn how to generate and manage API keys
Understand API error responses
# How does billing work?
Source: https://help.doozy.live/billing/how-does-billing-work
Answers to billing FAQs.
Doozy uses flat-rate pricing based on company size, so there are no per-user fees. Core covers up to 350 employees, Scale up to 1,000, and Enterprise pricing is custom. You're charged monthly or annually in advance; annual billing saves 10%. Customers on older per-seat plans keep their existing terms.
We accept all major credit and debit cards, as well as payments made through
Apple Pay and Google Pay. All payments are processed securely through Stripe.
Log into your Doozy account and navigating to Settings -> Billing. There, you
will be able to view all of your previous invoices and payment receipts.
We use Stripe to securely handle our payments, billings and subscriptions.
If you are a VAT/tax registered business, you'll be able to enter your business name during the checkout process and this will appear on your invoices.
If you have any questions, get in touch.
If a payment fails, we will automatically attempt to charge your payment
method again. If the payment continues to fail, your account may be suspended
until the outstanding balance is paid.
# Work Anniversary Celebrations
Source: https://help.doozy.live/celebrations/anniversaries
Automatically celebrate work anniversaries with announcements, digital cards, and manager notifications.
We recommend [connecting your HRIS](/integrations/how-to-connect-my-hris) to sync anniversary dates automatically.
Never miss a work anniversary again! Doozy automatically announces anniversaries in your chosen channel, sends digital cards for your team to sign, and notifies managers ahead of time.
## ๐ Getting Started
1. Go to [doozy.live/app](https://doozy.live/app) and open **Celebrations**
2. Set up a new **Anniversaries** celebration
3. Configure your settings (see below)
4. Save to start celebrating ๐
## โ๏ธ Configuration
### Channel & Timing
| Setting | Description |
| ------------- | --------------------------------------------------------------------------------- |
| **Channel** | Which Slack channel to post anniversary announcements |
| **Time** | What time of day to post (in your local timezone) |
| **Frequency** | **On the day** (weekday, Friday if weekend) or **Start of week** (Monday roundup) |
### Message Customization
Personalize your anniversary announcements:
* **Individual message template**: Customize the message for each person being celebrated
* Available variables: `{{name}}` (mentions the person), `{{years}}` (number of years), `{{year-label}}` (year/years)
* **Footer message**: Optional message shown once at the bottom of all announcements
* **Preview**: Click "๐ Preview message" to see how it will look
### Notifications
| Setting | Description |
| ------------------------------ | --------------------------------------------------------------------------------------- |
| **Announce in channel** | Post the celebration publicly in your chosen channel |
| **Notify managers** | Privately alert managers ahead of their team's upcoming anniversaries *(requires HRIS)* |
| **Notify managers on the day** | Also alert managers on the celebration day itself |
| **Other users to notify** | Additional people to privately notify (e.g., the People Team) |
### Other settings
| Setting | Description |
| --------------------------- | --------------------------------------------------------------- |
| **Include celebration GIF** | Add a fun GIF to announcements |
| **Posted by** | Have announcements come from a specific person instead of Doozy |
If **Posted by** is disabled with a warning icon beside it, Doozy hasn't been
granted the Slack permission it needs to post under someone else's name. An
Admin can click the icon to update Slack, which enables the control; everyone
else is asked to chase an admin. See [Slack
permissions](/getting-started/permissions).
### Celebration Cards
Digital cards your team can sign with messages, images, GIFs, and more!
| Setting | Options | Description |
| ---------------------------- | -------------------------- | ------------------------------------------ |
| **Include anniversary card** | Yes / No | Create a digital card for the team to sign |
| **Who should sign** | Everyone / Managers / None | Who gets asked to add their message |
## ๐
How It Works
1. **A week before**: Managers (and selected users) are notified about the upcoming anniversary
2. **Card sharing**: Notified users can share the digital card with others to sign
3. **On the day**: Anniversary is announced in your chosen channel with the signed card
4. **Team participation**: Everyone can add their message if they haven't already
Connect your HRIS to automatically sync anniversary dates and enable manager notifications!
## ๐ง Troubleshooting
**Why wasn't someone's anniversary posted?**
* Check that their start date/anniversary is recorded in Doozy
* Verify they haven't opted out of anniversary celebrations
* Ensure they're a member of the celebrations channel in Slack
**How do I update someone's anniversary date?**
* If connected to an HRIS, update it in your HR system and it will sync automatically
* Otherwise, update the date from **Celebrations** in the Doozy dashboard - see [Manage Celebrations](/celebrations/manage-celebrations)
## โญ Best Practices
1. **Connect your HRIS** - Auto-sync dates and enable manager notifications
2. **Choose a visible channel** - Use a general or company-wide channel
3. **Customize your message** - Make it feel personal with template variables
4. **Enable cards** - Digital cards make celebrations more meaningful
5. **Notify managers early** - Gives them time to prepare something special
## ๐ Related
* [Birthday Celebrations](/celebrations/birthdays) - Celebrate birthdays automatically
* [Manage Celebrations](/celebrations/manage-celebrations) - Edit and manage active celebrations
* [Connect your HRIS](/integrations/how-to-connect-my-hris) - Sync employee data automatically
# Birthday Celebrations
Source: https://help.doozy.live/celebrations/birthdays
Automatically celebrate birthdays with announcements, digital cards, and manager notifications.
We recommend [connecting your HRIS](/integrations/how-to-connect-my-hris) to sync birthday dates automatically.
Never miss a birthday again! Doozy automatically announces birthdays in your chosen channel, sends digital cards for your team to sign, and notifies managers ahead of time.
## ๐ Getting Started
1. Go to [doozy.live/app](https://doozy.live/app) and open **Celebrations**
2. Set up a new **Birthdays** celebration
3. Configure your settings (see below)
4. Save to start celebrating ๐
## โ๏ธ Configuration
### Channel & Timing
| Setting | Description |
| ------------- | ------------------------------------------------------------------------ |
| **Channel** | Which Slack channel to post birthday announcements |
| **Time** | What time of day to post (in your local timezone) |
| **Frequency** | **On the day** (Friday if weekend) or **Start of week** (Monday roundup) |
### Message Customization
Personalize your birthday announcements:
* **Individual message template**: Customize the message for each person being celebrated
* Available variables: `{{name}}` (mentions the person), `{{date}}` (Today or the day of their birthday)
* **Footer message**: Optional message shown once at the bottom of all announcements
* **Preview**: Click "๐ Preview message" to see how it will look
### Notifications
| Setting | Description |
| ------------------------------ | ----------------------------------------------------------------------------------- |
| **Announce in channel** | Post the celebration publicly in your chosen channel |
| **Notify managers** | Privately alert managers ahead of their team's upcoming birthdays *(requires HRIS)* |
| **Notify managers on the day** | Also alert managers on the celebration day itself |
| **Other users to notify** | Additional people to privately notify (e.g., the People Team) |
### Other settings
| Setting | Description |
| ------------------------ | --------------------------------------------------------------- |
| **Include birthday GIF** | Add a fun GIF to announcements |
| **Posted by** | Have announcements come from a specific person instead of Doozy |
If **Posted by** is disabled with a warning icon beside it, Doozy hasn't been
granted the Slack permission it needs to post under someone else's name. An
Admin can click the icon to update Slack, which enables the control; everyone
else is asked to chase an admin. See [Slack
permissions](/getting-started/permissions).
### Birthday Cards
Digital cards your team can sign with messages, images, GIFs, YouTube videos, and more!
| Setting | Options | Description |
| ------------------------- | -------------------------- | ------------------------------------------ |
| **Include birthday card** | Yes / No | Create a digital card for the team to sign |
| **Who should sign** | Everyone / Managers / None | Who gets asked to add their message |
## ๐
How It Works
1. **A week before**: Managers (and selected users) are notified about the upcoming birthday
2. **Card sharing**: Notified users can share the digital card with others to sign
3. **On the day**: Birthday is announced in your chosen channel with the signed card
4. **Team participation**: Everyone can add their message if they haven't already
Connect your HRIS to automatically sync birthday dates and enable manager notifications!
## ๐ง Troubleshooting
**Why wasn't someone's birthday posted?**
* Check that their birthday is recorded in Doozy
* Verify they haven't opted out of birthday celebrations
* Ensure they're a member of the celebrations channel in Slack
**How do I update someone's birthday?**
* If connected to an HRIS, update it in your HR system and it will sync automatically
* Otherwise, update the date from **Celebrations** in the Doozy dashboard - see [Manage Celebrations](/celebrations/manage-celebrations)
## โญ Best Practices
1. **Connect your HRIS** - Auto-sync dates and enable manager notifications
2. **Choose a visible channel** - Use a general or company-wide channel
3. **Customize your message** - Make it feel personal with template variables
4. **Enable cards** - Digital cards make celebrations more meaningful
5. **Notify managers early** - Gives them time to prepare something special
## ๐ Related
* [Work Anniversary Celebrations](/celebrations/anniversaries) - Celebrate work anniversaries automatically
* [Manage Celebrations](/celebrations/manage-celebrations) - Edit and manage active celebrations
* [Connect your HRIS](/integrations/how-to-connect-my-hris) - Sync employee data automatically
# Manage Celebrations
Source: https://help.doozy.live/celebrations/manage-celebrations
Edit your birthday and anniversary celebration settings, or pause them.
Admins and managers manage birthday and anniversary celebrations in the
[Doozy dashboard](https://doozy.live) - edit their settings or pause them at any time.
***
## โ๏ธ Manage Birthday & Anniversary Celebrations
Update the configuration for your birthday and anniversary celebrations.
### How to Access
1. Go to [doozy.live/app](https://doozy.live/app) and open **Celebrations**
2. You'll see a card for **Birthday Celebrations** and one for **Anniversary Celebrations**
### Available Actions
Use the actions menu (**โฎ**) on each celebration card:
| Action | Description |
| ---------- | ------------------------------------------------------------------ |
| **Edit** | Modify message, channel, schedule, notifications, or card settings |
| **Pause** | Temporarily stop the celebration from posting |
| **Resume** | Restart a paused celebration |
You can also click anywhere on a celebration card to open it for editing.
***
## ๐ Common Tasks
### Change the Celebration Channel
1. Open **Celebrations** and click the celebration to edit it
2. Update the **Channel** setting
3. Save changes
### Update the Celebration Message
1. Open **Celebrations** and click the celebration to edit it
2. Edit the message template
3. Save changes
### Temporarily Pause Celebrations
1. Open **Celebrations**
2. On the celebration card, open the actions menu (**โฎ**) and click **Pause**
3. Resume anytime from the same menu
Pausing is great for holidays, company events, or quiet periods when you want a break from automated posts.
***
## ๐ค Opt Out of Celebrations (As a Team Member)
Team members can opt out of having their own birthday or anniversary celebrated, from the Doozy app in Slack:
1. Open **Doozy** from your Slack sidebar
2. Select **Celebrations**
3. Choose **Your birthday** or **Your anniversary**
4. Click **Opt out**
Opting out only hides your celebration - you'll still see others' celebrations in channels.
***
## โ Troubleshooting
| Issue | Solution |
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| **Missing team member dates** | Connect your [HRIS](/integrations/how-to-connect-my-hris) to sync dates, or the team member is prompted to add their own |
| **Wrong date showing** | If connected to an HRIS, correct the date there and it will sync |
| **Someone doesn't want to be celebrated** | They can opt out themselves in Slack (see above) |
| **Celebrations posting in wrong channel** | Update the channel in the celebration's settings |
***
## ๐ Related
Set up birthday celebrations
Set up work anniversary celebrations
Recognize team members anytime
# Celebrations
Source: https://help.doozy.live/celebrations/overview
Celebrate birthdays, work anniversaries, and special moments with your team in Slack.
Recognize important moments within your team - birthdays, work anniversaries, and shoutouts. Doozy posts celebratory messages in Slack and lets your team sign personalized birthday and anniversary cards with GIFs, images, and videos.
***
## ๐ Celebration Types
| Type | Description | Automation |
| ----------------- | ------------------------------------------- | --------------------- |
| **Birthdays** | Celebrate team member birthdays | Automatic on the date |
| **Anniversaries** | Recognize work anniversaries and milestones | Automatic on the date |
| **Shoutouts** | Quick recognition for great work | Sent anytime |
***
## ๐ How It Works
### Automated Celebrations (Birthdays & Anniversaries)
1. **Set up once** โ Choose channel, message, and timing
2. **Dates sync automatically** โ From your HRIS or added manually
3. **Doozy posts on the day** โ Celebratory message appears in your chosen channel
4. **Team can sign cards** โ Add personalized messages, GIFs, and videos
### Manager Notifications
Managers can opt to receive a heads-up one week before a team member's celebration. This gives time to:
* Plan any additional recognition
* Ensure nothing slips through the cracks
***
## ๐
Where Dates Come From
| Source | How It Works |
| -------------------- | ---------------------------------------------- |
| **HRIS Integration** | Dates sync automatically from your HR system |
| **Manual Entry** | Team members are prompted to add missing dates |
Connect your HRIS to automatically keep dates in sync. [Learn how](/integrations/how-to-connect-my-hris)
***
## ๐ Being Celebrated
When it's your turn to be celebrated:
1. **You're notified** in the channel where celebrations are running
2. **Open your card** to see messages from colleagues
3. **Share externally** using the unique card link - post on LinkedIn or share with friends and family!
***
## โ๏ธ Get Started
Set up automatic birthday celebrations
Celebrate work anniversaries and milestones
Recognize great work anytime
***
## ๐ ๏ธ Manage Celebrations
Edit settings or pause celebrations
Sync dates automatically from your HR system
# Shoutouts
Source: https://help.doozy.live/celebrations/shoutouts
Recognize teammates with public kudos - quick, easy, and visible to the whole team.
Give kudos to colleagues for great work, helpfulness, or just being awesome. Shoutouts are posted publicly in a channel so the recognition is visible to everyone.
Shoutouts are sent from Slack. Web app support is on the way. Owners can configure shoutout options, such as company values, under **Settings โ Shoutouts** in the [Doozy dashboard](https://doozy.live).
***
## ๐ Sending a Shoutout
### Option 1: Slash Command (Fastest)
1. Go to the channel where you want to post
2. Type `/doozy shoutout`
3. Write your message and **@mention** the person you're celebrating
4. Send - your shoutout is posted instantly!
### Option 2: From Doozy Home
1. Open **Doozy** from your Slack sidebar
2. Select **Shoutouts**
3. Write your message and @mention the recipient(s)
4. Choose which channel to post in
5. Click **Post**
To post in a private channel, first invite Doozy by typing `/invite @doozy` in that channel.
***
## ๐ Viewing Your Shoutouts
See all the shoutouts you've received:
1. Open **Doozy** from your Slack sidebar
2. Select **Shoutouts**
3. View your shoutout history - who sent them and when
### Export Shoutouts
Click **Download CSV** to export a record of all your shoutouts.
Great for performance reviews, 1:1s, or just a weekly confidence boost!
***
## ๐ก Shoutout Ideas
| Scenario | Example Message |
| ------------------------ | --------------------------------------------------------------------- |
| **Great work** | "Huge shoutout to @Sarah for crushing the product launch!" |
| **Helping out** | "Thanks @Mike for jumping in to help with the customer issue ๐" |
| **Going above & beyond** | "@Lisa stayed late to make sure we hit the deadline - you're a star!" |
| **Team effort** | "Shoutout to the whole @engineering team for shipping v2.0!" |
| **New hire welcome** | "Welcome to the team @Alex! Excited to have you here ๐" |
***
## โญ Best Practices
| Practice | Why It Works |
| ------------------ | ------------------------------------------------------------ |
| **Be specific** | "Great job on the presentation" hits harder than "Good work" |
| **Make it public** | Recognition in a team channel amplifies the impact |
| **Do it promptly** | Shout out great work while it's fresh |
| **@mention them** | Ensures they see it and get notified |
***
## ๐ Related
Automate birthday celebrations
Celebrate work anniversaries
See all celebration options
Update settings and view activity
# Facilitators
Source: https://help.doozy.live/cohorts/facilitators
Add the people who run a cohort to its Slack channel with the Facilitator toggle.
**Facilitators** are the people who help run a cohort day to day: a hiring
manager, a trainer, an onboarding buddy. A facilitator is anyone on a program's
[Access](/cohorts/set-up-cohorts#access) list with **Facilitator** turned on.
Doozy adds them to each cohort's Slack channel when it opens.
The **Facilitator** toggle only appears when the program has a channel; with
**No channel** there's nothing to join.
## Facilitator toggle vs dashboard role
The **Facilitator** toggle only affects the Slack channel. What someone can see
and do in the dashboard comes from their **role** on the same Access list. Most
facilitators are **viewers**, who see (but can't change):
* The program and its cohorts
* Each cohort's roster: who's in it and how they got there
* Each person's progress through the per-person tracks
Anyone in your workspace can be a facilitator, and they see only the programs
they're on. Give someone the **editor** role if they should also manage members,
the schedule, and tracks.
## Managing facilitators
Facilitators are managed on the program's **Access** list. Admins add and remove
people; if the program has a channel, a new person starts as a viewer with
**Facilitator** on. Editors can toggle **Facilitator** for anyone on the list.
Changes apply to cohorts that haven't finished. A new facilitator can see running
cohorts right away and joins the channel of the next cohort that opens; an
already-open channel isn't back-filled.
## Sharing the channel link before it opens
You don't have to wait for a cohort to open to share its channel: copy the
link from the Cohorts list, the program's schedule table, or the cohort's own
page, and paste it into a kickoff invite or joining-instructions email ahead
of day one. See [Share the cohort channel
link](/cohorts/set-up-cohorts#share-the-cohort-channel-link) for where to
find it and which cohorts offer one.
Members join a cohort's channel on **their own** start date, not the
cohort's: someone starting later in the intake window isn't there yet when
the channel opens. If you send the link to the whole cohort in advance, it
won't take that group's later starters to the channel until Doozy adds them
on their own first day.
When a cohort needs a human (it couldn't open, or someone couldn't be enrolled),
facilitators get the Slack DM alert along with the program's admins. See
[when something goes wrong](/cohorts/set-up-cohorts#when-something-goes-wrong).
# Cohorts: onboard and train people in groups
Source: https://help.doozy.live/cohorts/overview
Group people who start together into cohorts and run tracks for the whole group and for each person.
**Cohorts** group people who start around the same time (an onboarding intake, a
training class, a bootcamp) so they go through it together. You set up how
cohorts form once, and Doozy does the rest: creates each cohort, adds the right
people, opens a Slack channel if you want one, and runs your tracks on schedule.
Cohorts is rolling out gradually. Once it's on for your workspace, admins and
managers see **Cohorts** in the dashboard menu, and anyone added to a program's
[Access](/cohorts/set-up-cohorts#access) list sees it too. To turn it on,
contact [support@doozy.live](mailto:support@doozy.live).
## Programs, cohorts, and tracks
Cohorts have three layers:
| | Example | What it is |
| ------------------ | ------------------------------------- | -------------------------------------------------------------------------- |
| **Cohort program** | "Engineering onboarding" | The blueprint: how cohorts form, whether they get a channel, and what runs |
| **Cohort** | "Jul 14, 2026" | One group of people whose start dates fall in the same range |
| **Tracks** | "Week 1 kickoff", "Security training" | The content each cohort runs |
You build one program. Doozy creates a cohort from it on your schedule (or you
add each one by hand), and every cohort runs the same tracks.
## Cohort track vs per-person track
A program can run two kinds of track:
| Track | Runs | For |
| -------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| **Cohort track** | Once per cohort | Whole-group content: a kickoff post in the channel, weekly group content, a group quiz |
| **Per-person track** | For each person | Each person's content: onboarding steps, check-ins, and quizzes by DM, timed from the cohort's start in each person's timezone |
See [Cohort tracks](/tracks/triggers/cohort) for how these run in the builder.
## Who can see and manage a program
Workspace admins and managers can create a program, and the creator becomes its
admin. After that, access is per program, set on its
[Access](/cohorts/set-up-cohorts#access) list:
* Everyone on the list is a **viewer**, an **editor**, or an **admin**.
* **Workspace admins** see and manage every program without being added. That's
the only blanket access. Workspace managers get none, and see a program only
once they're added to it.
* **Facilitators** are people added to a cohort's Slack channel to help run it.
That's a toggle on the Access list, not a role. See
[Facilitators](/cohorts/facilitators).
## Get started
Create a program: members, schedule, and channel
Attach tracks that run once per cohort or for each person
Add the people running each cohort to its channel
Group people by their real start dates
Welcome new hires by email before their first day
# Cohort Programs
Source: https://help.doozy.live/cohorts/set-up-cohorts
Create and manage a cohort program: members, schedule, channel, tracks, access, pausing, and archiving.
A **cohort program** sets how your cohorts form and what they get: who joins,
whether each cohort gets a Slack channel, and which tracks run. You build it
once, and Doozy creates the cohorts.
## Create a program
Open **Cohorts** in [doozy.live/app](https://doozy.live/app), click **New cohort
program**, and set its name, how people join, start time, and channel.
Workspace admins and managers can create a program. You become its admin, and
you decide who else can see and manage it on its [Access](#access) list.
### Name
Name the program after what it runs, like "Engineering onboarding". Each cohort
is named for its start date, so the hierarchy reads: Cohorts โ Engineering
onboarding โ Jul 14, 2026.
### How people are added
* **By start date**: Doozy creates cohorts on a schedule and adds the people
whose start date falls in each one's range. You set the cadence in a sentence:
"*Weekly* on a *Monday*", choosing daily, weekly, every 2 weeks, or every 4
weeks. The day you pick is each cohort's first day.
* **Add manually**: you create each cohort, set its start date and when
**Intake ends**, and add its members yourself.
On a **By start date** program, **First cohort starts** is the day the program's
first cohort begins. Doozy fills it in as the next occurrence of your start
weekday, or today for a daily program, rolling forward one cycle if today's
open time has already passed. Change it to a later occurrence of that
weekday if you don't want the program starting straight away. After you create
the program the field is gone; re-date cohorts by [editing a schedule
row](#edit-the-schedule) or [changing the cadence](#changing-the-cadence).
Start dates come from your connected HRIS, or from Slack join dates when there's
no HRIS. Both work, but an [HRIS
connection](/integrations/how-to-connect-my-hris) groups people by their real
start dates instead of Slack activity.
You can switch modes later from **Edit cohort program**. Going manual stops
cohorts filling from start dates and keeps everyone already placed; going back
resumes filling on your cadence. Neither disturbs a cohort that's started.
### Start time
Pick the time and timezone each cohort starts (9:00 AM by default). On the
cohort's first day, at this time, the channel opens, the cohort track runs, and
each person's per-person tracks begin. This applies even with no channel.
### Slack channel
| Option | What happens |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **No channel** | No channel. Cohort tracks still run, and per-person tracks DM each person. |
| **Create automatically** (recommended) | Doozy creates a fresh channel for each cohort when it opens, from a name template based on the program name (`engineering-onboarding-{date}`) with a live preview. Tokens, in the program's timezone: `{date}`, `{month}`, and `{name}` or `{cohort}`. |
| **Link existing** | Each cohort's members and facilitators are invited into a channel you pick, which Doozy never archives. @Doozy must already be in it; the dialog checks and prompts you. |
Both channel options need Slack channel-management permissions. Without them,
they're disabled with a prompt to [update
Slack](https://doozy.live/app/update-slack). Everything else works with **No
channel** meanwhile.
### Share the cohort channel link
Wherever a cohort's channel name appears (the Cohorts list, a program's
schedule table, its Now/Next strip, and the cohort's own page), you can open
or copy a link to it. Anyone who can see the cohort can copy the link; no
extra permission is needed.
* **Link existing**: every cohort's channel is a live link, including a
cohort that hasn't started yet, since the linked channel already exists.
* **Create automatically**, cohort not yet started: the name is shown but
isn't clickable, because the channel doesn't exist in Slack yet. A copy
control is still offered. The link it copies starts working the moment
the channel opens on the cohort's first day. If the program is active and
that day is still ahead, the copy confirmation names it; if the program is
paused, archived, or a draft, the confirmation stays generic, since the
channel isn't guaranteed to open on schedule.
* **No channel**, or a cohort that was skipped or passed without ever
opening: nothing is offered.
Doozy never creates the channel early just because a link was copied. It's
still created on the cohort's first day, same as before.
Cohort channels Doozy creates are private, so a copied link only opens the
channel for someone who's already a member. Anyone else lands on a Slack
"not found" page.
Members are invited on **their own** start date, not the cohort's: someone
whose start date falls later in the cohort's intake window isn't in the
channel when it opens, and joins only once their own enrollment starts. If
you email the channel link to a whole cohort in advance, it won't work yet
for that group's later starters.
A cohort with nobody in it [never opens](#which-cohort-a-person-joins), so
its channel never appears and its link never works. A few other things can
make a copied link stop matching the real channel:
* If the name Doozy predicted is already taken in Slack when the cohort
opens, Doozy retries with a different name for the real channel, and a
link copied beforehand won't point at it.
* Moving an upcoming cohort's dates changes the channel name when the
template uses `{date}` or `{month}`, so a link copied before the move goes
stale.
## Draft and activate
A new program starts as a **Draft**: no cohorts, nothing posted. On a **By start
date** program the draft's [schedule](#the-schedule) is already laid out on your
cadence, so you can reshape the dates first.
An admin clicks **Activate**, and Doozy starts forming cohorts. This is one-way:
to take a live program offline, [pause](#pause-resume-and-archive) it rather than
returning it to draft.
On a **By start date** program, the first cohort takes only the start dates
inside its own dates โ it kicks off on the day you picked, and nobody is pulled
back into it. If you activate on Aug 5 and the first cohort starts Aug 10,
someone starting Aug 7 joins no cohort. The schedule bands those days so you
can see them, and **Add cohort** on the band covers them with a cohort.
Activating never re-dates the schedule you laid out in draft. A cohort whose
range had already passed never runs, and the cohort whose range covers the day
you activate becomes the current one.
## The program page
A strip at the top shows the active cohort ("Now"), or if none is active, the
next one forming ("Next"): its start date, people count, channel, and opening
time.
### Tracks
Tracks are listed as **Cohort track** and **Per-person track**, with drafts and
paused tracks marked inline. You can also attach any draft track to this
program straight from its trigger settings in the track builder - the program
and run mode lock once the track goes live (see [Cohort
tracks](/tracks/triggers/cohort)). From here, each group offers two ways to add
one:
* **Create a cohort track** / **Create a per-person track** opens the builder
with a blank track, already wired to the program and run mode.
* **Import an existing track** copies one of your non-archived, non-cohort tracks
into a new draft attached to this program, and opens the copy. The original is
never changed. Steps that don't fit the run mode (like Introductions or Tasks
in a once-per-cohort track) are kept but flagged until you fix or remove them.
Import stays available on the Cohort track card even when a track already runs
there: a program can hold any number of Once per cohort drafts. Activating the
copy is what needs the running track paused or archived first (see
[Cohort tracks](/tracks/triggers/cohort)).
Editors can manage tracks; activating one still needs a workspace admin or
manager.
### The schedule
On a **By start date** program the schedule table has one row per cohort,
soonest first, each covering a range of start dates.
| Column | What it shows |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Cohort** | Named for its start date, the day it starts at the [start time](#start-time). Click it to open [the cohort's own page](#each-cohorts-page). |
| **Intake dates** | The range of start dates this cohort takes in. It starts on the first day; intake closes at the end. |
| **People** | A count with a preview of faces. Click it to open the full list. On a cohort that isn't done, add, exclude, or restore people from there, or from [the cohort's own page](#each-cohorts-page). A cohort that's started shows its real roster; before that, the row predicts who'll join. |
| **Status** | **Scheduled** until it starts, **Active** while it runs, **Done** once finished or its dates have passed |
| **Channel** | The cohort's channel: a link into Slack once it exists, or, on an upcoming **Create automatically** cohort, the name it will take with a copy control (see [Share the cohort channel link](#share-the-cohort-channel-link)) |
Doozy lays the schedule out about a year ahead and creates the actual cohorts
only as they approach. Dates everywhere in cohorts show in the program's
timezone. An **Add manually** program has no generated schedule; the table
lists the cohorts you created.
Intake dates only decide who joins a cohort. They don't limit how long its
tracks run: a six-week track still takes six weeks in a cohort with a one-week
intake, and keeps delivering after the cohort's dates pass and it shows as
**Done**.
#### Which cohort a person joins
A person joins the cohort whose dates cover their start date, including someone
who arrives late (a new HRIS hire, or a start-date correction). If that cohort is
**Active**, they join late and catch up. If it's already **Done**, they fall
forward to the next cohort: right away if it's running, otherwise once its start
day arrives. Two exceptions: someone excluded from a cohort doesn't fall
forward, they just don't join; and a start date before the FIRST cohort joins
nothing, because the first cohort never reaches back past its own start.
A cohort with nobody in it never opens (no channel, no cohort track) and is
archived once its dates pass.
Before a cohort starts, the people it predicts (in the schedule's **People**
count and on [the cohort's own page](#each-cohorts-page)) match who the program
will add: anyone the program's membership settings exclude, and anyone
deactivated, is left out.
#### Who's joining
Click a cohort's **People** count to open the full, uncapped list of everyone
joining, split into who's coming in automatically by start date (**By start
date**) and who was added by hand (**Added manually**). From that list,
editors and admins can:
* **Add** someone by hand, choosing them from the picker. They join as
**Added manually**, alongside anyone matched by start date.
* **Exclude** anyone, whether the cohort is still **Scheduled** or already
**Active**. Excluding holds them out for good: they don't join this cohort,
and Doozy won't place them back on it or carry them into a later one.
Excluding someone already on an **Active** cohort ends their per-person
tracks for it the same way [removing them from a
track](/tracks/remove-a-user-from-a-track) does: any open quiz, survey,
task, or invitation those tracks had opened for them is canceled.
* **Restore** someone they'd excluded, putting them back on the joining
list.
* **Move** someone straight into another cohort of the same program. The
picker lists each other cohort by name, with its date range and status
underneath (worded like the schedule table's **Intake dates** and **Status**
columns), and it defaults to the next upcoming (**Scheduled**) cohort rather
than simply the first in the list. Picking a cohort that's already
**Active** shows a caution: that cohort is already running, so the person's
enrollment (their tracks and the invite to its Slack channel) isn't
immediate. Both wait until their own start date arrives, the same as they
would for anyone else added to a running cohort. Confirm with **Move
person**. They're added to the cohort you pick (shown as **Added
manually**) and held out of this one, overriding their HRIS start date. Use
this to pull a new hire into, say, the cohort two weeks out instead of the
one their start date would otherwise match, or to move someone who's already
started into a cohort that's still running even though its intake has
closed. Only cohorts that aren't **Done** are offered as destinations, and
you can't move someone into or out of a **Done** cohort. If the destination
you picked stops being available while the dialog is still open (it
finished, or someone else changed the schedule), Doozy tells you and blocks
the move until you pick another. If they'd already started that cohort's
per-person tracks, moving them ends those journeys the same way excluding
them does - open items those tracks had opened for them are canceled -
before their new cohort's tracks pick up from the start.
Adding, moving, and restoring someone all place them into a specific cohort by
hand. Whichever of the three you're doing, Doozy refuses a placement that
could never do anything for the person: a hire who hasn't started yet can't
be placed into a cohort whose intake closes before their first day, since
nothing would ever run for them there. The action is refused with a message
naming their start date and the cohort's intake-close day, and nothing
changes. In the move picker, any destination that can't take that particular
person is marked and can't be chosen, so you see the clash while you're
choosing rather than on submit. If you pick several people at once and any
one of them clashes, nobody is added, and the message names who clashed.
Doozy also won't place someone into a second cohort of the same program by
hand. **Add** and **Restore** refuse anyone who is already in another
cohort of this program that hasn't finished: the message names the person and
that cohort, and tells you to move them from there into this one instead. The
same all-or-nothing rule applies to a batch: if any one person clashes,
nobody is added, and the message names every person who clashed, with the
cohort each is in. A cohort they're excluded from, a cohort that's already
finished, and a cohort of a different program (one person can be in cohorts
of several programs) never block it.
"Already in" means a cohort that actually holds them: one they were
hand-picked onto, or one whose roster they're on. A cohort they merely match
by start date, and which hasn't started yet, doesn't hold anyone, so you can
still hand-pick them into a different cohort, which is the point of **Move**
above: pulling a new hire into, say, the cohort two weeks out instead of the
one their start date would otherwise match. Once that earlier cohort starts,
though, it has a real roster with them on it, and hand-picking them elsewhere
is refused from that point. Move them instead.
**Move** is never refused for this. Moving someone into a cohort they're
already in still takes them out of the cohort you're moving them from, which
is how you resolve someone showing up in two cohorts. Doozy just says so
afterwards, naming the cohort they were already in and confirming they're no
longer in this one, rather than reporting a plain move.
Once someone's start date has arrived on their own calendar, or if there's no
start date on record, that check no longer applies โ including on a cohort
whose intake has already closed. A cohort keeps running for as long as its
tracks do, often well past the last day people can join by start date, so you
can still fold a late hire into the class that's already going. They get their
own onboarding from that point; anything already sent to the cohort's channel
won't be resent.
Viewers can open the same list to see who's joining, but only editors and
admins can add, exclude, restore, or move, and only while the cohort is
still **Scheduled** or **Active**. Once it's **Done**, the list is read-only
for everyone.
### Each cohort's page
Every cohort has its own page, whether or not it's started yet. Click a cohort
anywhere it's listed, on the **Cohorts** page or in a program's schedule, to
open it. A link or bookmark to a cohort keeps working once it starts.
Before a cohort starts, its page shows what's known so far: its name, status,
and intake dates, and the program's facilitators. **Channel** names the channel
the cohort will use: the linked channel on **Link existing**, or on **Create
automatically** the name this cohort will take, grayed out until it exists. A
cohort with nobody in it never opens, so an empty one has no channel name to
show yet. **People** lists everyone currently expected to join, marked **By
start date** or **Added manually**. **Excluded** lists anyone held out; restore
them from there.
**Cohort tracks** lists what runs once for the whole cohort, **Per-person
tracks** what runs for each person. A track that isn't active won't run:
activate it on the program page. A draft, paused, or archived program opens no
cohorts and runs no tracks either; activate, resume, or restore it on the
program page.
You can add people, exclude or remove someone, restore someone excluded, and
move someone to another cohort in the program right from this page, the same
actions as [Who's joining](#whos-joining) above.
Some things only apply once the cohort has started: renaming it, **End
cohort**, retrying a failed open, and, on the roster, the **Added** date and
each person's **Progress**. A cohort whose dates passed without it ever
starting (its program was a draft or paused, or nobody was added to a manual
cohort) says so on its page instead of showing an error.
### Access
The **Access** list controls who can see and manage the program. Access is per
program: apart from workspace admins, who see everything, a person sees only the
programs they've been added to.
| Role | What they can do |
| ---------- | ---------------------------------------------------------------------------------------------- |
| **Viewer** | See the program, its cohorts, each roster, and each person's progress |
| **Editor** | Plus edit settings and the schedule, manage members, pause and resume, and manage tracks |
| **Admin** | Plus **Activate** the program, create cohorts, manage the Access list, and archive the program |
A program always keeps at least one admin, so you can't remove or demote the last
one. When the program has a channel, each row also has a **Facilitator** toggle
that adds that person to each cohort's Slack channel to help run it (see
[Facilitators](/cohorts/facilitators)). A newly added person starts as a viewer
with **Facilitator** on.
## Edit the schedule
Editors reshape the schedule in the table, on either kind of program. Click a
cohort's **Intake dates** cell to open a calendar, pick its first and last day,
and save.
Cohorts never overlap. Extending a cohort *into* a neighbor trims that neighbor so
the two meet; a neighbor the new dates cover completely is merged into it. Shrinking a
cohort *away* from its neighbor leaves a gap, and start dates in a gap fall
forward into the next cohort, so nobody is left without one. Moving a cohort's
**first day** moves its whole clock: its channel opens and its tracks start on
the new day.
Changing a boundary reassigns the people whose start dates cross it: they join the
cohort that now covers their date, and their per-person onboarding restarts on
that cohort's clock. If Doozy opened a channel for the cohort they left, they're
removed from it; a channel you linked yourself is never touched.
| Action | What it does |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Split into two** | Breaks an upcoming cohort into two, covering the same span with no gap or overlap. Pick the day the new cohort starts. Not offered on a cohort that's already started, or one that only spans a single day. |
| **Remove cohort** | Takes that cohort out (a holiday week, say), so no channel opens and no cohort track runs. Its start dates, and anyone already on it, fall forward into the next cohort โ unless it was the first cohort, whose dates then belong to nobody. On a **By start date** program a gap band takes its place, naming the dates it covers; on an **Add manually** program the row just disappears. Not offered on the last cohort, which has no successor. |
| **Add cohort** | On a gap band, puts back the span it covers. Two removed weeks side by side share one band, so adding it back makes a single cohort spanning both; a band straddling today starts from today. |
**Split into two**, in the same โฎ menu as Remove cohort, opens a small
calendar to pick the day the new (second) cohort starts. You can only pick an
interior day of the cohort's range, so both halves are at least a day long; on
a single-day cohort there's no interior day to cut at, and the option shows
disabled with a reason. The original cohort keeps its name and identity,
shrunk to end the day before the split; the new cohort is a separate cohort,
named for its start date like any other. On a **By start date** program,
people matched by start date re-sort across the split: anyone starting on or
after the chosen day ends up in the new cohort. People added by hand, which on
an **Add manually** program means everyone, stay on the original cohort; the
new one starts with nobody on it, so add its people with **Add people**
afterward.
**Add a cohort**, on the Cohorts card above the schedule, opens a calendar to
pick the new cohort's first and last day, the same range calendar the
**Intake dates** cell uses to change a cohort's dates. It needs admin access. Nothing
is picked for you, and while running or finished cohorts are off limits, an
upcoming cohort's days aren't: picking over them is how you carve out room the
schedule doesn't already have.
A range that's clear of every other cohort just creates on **Add**. Pick a
range that overlaps one or more upcoming cohorts, and the dialog previews how
each one reshapes and who's in it, with the button now reading **Add anyway**:
* A cohort the new range fully covers **folds into** the new cohort. Its
people move in.
* A cohort the new range lands inside **splits in two** around it.
* A cohort the new range only partly covers **shortens** to whatever's left.
One new cohort can reshape several existing ones at once, each with its own
line in the preview. People re-sort by start date once it lands, and the new
cohort is named for its start date, like any other.
People you added by hand stay put whatever the dates do around them, whether
you're splitting, removing, or restoring a cohort. The exception is removing
the cohort they're on: they move forward to the cohort taking over those
dates, and restoring the week doesn't bring them back. People matched by start
date *are* re-added by a restored week.
### What can't change
A cohort that's started, running or done, can't have its dates changed, can't
be removed, and can't be split. If you catch a cohort in the minute it's
opening, the edit is refused rather than half-applied; try again shortly.
### Changing the cadence
Changing the **cadence or start day** re-lays the upcoming schedule, and Doozy
warns you first. Cohorts that have started, and weeks already past, keep their
dates; your edits to upcoming cohorts, including removed weeks, are re-laid onto
the new cadence. The channel choice can also be edited, and applies to cohorts
that haven't opened yet.
## Pause, resume, and archive
Editors can **Pause** a program. While paused:
* No new cohorts are created, and any cohort that hasn't opened waits.
* Cohorts already running are **not** held: their channels stay open and content
keeps delivering.
* People whose start date falls during the pause aren't added to a cohort. Resume
before their start date, or add them by hand.
**Resume** picks the schedule back up from now, without creating cohorts for
periods that fully passed. To cancel one specific upcoming week, [remove it from
the schedule](#edit-the-schedule) instead.
An admin can **Archive** a program that's done for good, a permanent pause: no
new cohorts open, but cohorts already running keep delivering. The program leaves
the **Programs** list, though its page stays reachable from its running cohorts.
Archiving isn't deletion: open the page and **Restore** it.
## When something goes wrong
| What happened | What you see | What to do |
| ------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| A cohort couldn't open, or opened but couldn't start its cohort track | A **Needs attention** chip in the cohort lists, and an error banner on the cohort's page | Read the reason on the banner and click **Retry**. If it keeps failing, contact [Doozy support](mailto:support@doozy.live). Needs editor access. |
| A person's enrollment couldn't start: they never connected to Slack in time, or enrolling kept failing | A warning on their roster row | Remove and re-add them to retry |
| One person couldn't be invited to the channel (a deactivated account, a restricted guest) | A note on their roster row | Nothing. They aren't dropped, and their tracks still run |
| Nobody can be invited (@Doozy was removed, or the channel was archived or deleted) | A note on the roster rows, or, if it happens at opening time, the cohort fails to open | Re-invite @Doozy, unarchive the channel, or relink the program |
Every row except the per-person invite refusal also DMs the program's admins and
facilitators. Workspace admins who aren't on the Access list aren't alerted.
# Getting Started with Doozy
Source: https://help.doozy.live/getting-started/how-to-add-doozy-to-slack
Create your account, connect Slack, and set up your first activity.
Getting started is quick. When you go to [doozy.live/app](https://doozy.live/app), the
**Get started with Doozy** screen gives you two ways to sign up - we recommend adding
Doozy to Slack as you go.
***
## 1. Sign up
### Add to Slack *(recommended)*
The fastest way in - this installs Doozy into your Slack workspace and creates your
account in one step, in about 60 seconds.
1. On the sign-up screen, click **Add to Slack**
2. Sign into your Slack workspace and click **Allow** to grant permissions
3. Finish a couple of setup details - you're in, with Slack already connected
### Or start without Slack
You don't need Slack connected to get full use of the dashboard. Sign up with
**Continue with Google** or **Continue with email**, and you can explore everything -
build quizzes, surveys, tracks, and more, try the AI builder, and get your activities
ready to go.
This is a great option if you'd like to see the value of Doozy for yourself before
asking for it to be installed in your Slack workspace. When you're ready, connect Slack
from **Settings โ Integrations** โ **Connect Slack**.
Slack must be connected before Doozy can deliver anything to your team - so connect it before scheduling your first activity.
### If app installation is restricted
Some Slack workspaces require a workspace admin to approve new apps before they can be
installed. If yours does, clicking **Add to Slack** (or **Connect Slack**) will prompt
you to **request approval** rather than installing straight away.
1. Submit the request - your Slack workspace admin is notified
2. Once they approve Doozy, return to Doozy and complete the connection
If you have Slack admin access yourself, you can approve and install in one step.
We only request the [permissions necessary](/getting-started/permissions) to support our Slack functionality - sharing that list with your admin can help speed up approval.
***
## 2. Create your first activity
Everything is created from the dashboard. Pick a section from the menu -
**Quizzes**, **Surveys**, **Introductions**, **Celebrations**, and more - then
build and schedule your activity. See [The Doozy Dashboard](/getting-started/the-doozy-dashboard)
for a tour, and [The Slack App](/getting-started/the-slack-app) for how the dashboard
and Slack work together.
Already have a Doozy account? Just sign in at [doozy.live/app](https://doozy.live/app).
***
## ๐ Recommended next steps
Learn how to create, schedule, and manage activities
Sync birthdays, anniversaries, and org data
Automate birthdays and anniversaries
Get your team excited about Doozy
***
## โ Troubleshooting
| Issue | Solution |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| **Can't connect Slack** | Make sure you have Slack admin permissions |
| **Doozy not appearing in Slack** | Try refreshing Slack or searching "Doozy" in apps |
| **Permission errors** | Check that your Slack workspace allows third-party apps |
| **Already installed error** | Doozy may already be connected by someone else - only one installation per Slack workspace is allowed. Search "Doozy" in Slack to find it. |
Need help? Reach out at [hello@doozy.live](mailto:hello@doozy.live)
# Slack permissions
Source: https://help.doozy.live/getting-started/permissions
Understand what permissions Doozy requests and how it uses those permissions.
### Content and info about channels & conversations
| Permission | Why we need it |
| ------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| View basic information about public channels in a workspace | To allow us to get a list of members in public channels who are participating in Doozy Roulette and Celebrations. |
| View basic information about group direct messages that Doozy has been added to | So we can respond to group conversations that have been responded to in Doozy Roulette and individual introductions. |
### Content and info about your workspace
| Permission | Why we need it |
| -------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| View the name, email domain, and icon for workspaces Doozy is connected to | So we can pre-populate new Doozy team accounts with their existing Slack team name and logo. |
| View people in your workspace | To be able to get a list of all users in a Slack workspace so that they can be added to your Doozy team. |
| View the email addresses of people in your workspace | To be able to link existing users' Slack and HRIS accounts and provide notifications and an accurate "What's On" board. |
### Perform actions in channels & conversations
| Permission | Why we need it |
| ------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| View messages that directly mention @Doozy in conversations that the app is in | To respond to mentions of Doozy in any channel with information on how Doozy works. |
| Send messages as @Doozy | So Doozy can post celebrations, introductions, icebreakers and trivia and respond to mentions and slash commands. |
| Send messages to channels where @Doozy isn't a member | So Doozy can post scheduled activities and respond to mentions and slash commands. |
| Send messages as @Doozy with a customized username and avatar | So a track step or a celebration can post under a chosen person's name and profile picture instead of Doozy's. Workspaces connected before Doozy requested this need to update Slack to grant it. See [Posted by](/tracks/steps/message). |
| Start group direct messages with people | So we can create conversations between users who are participating in Doozy Roulette. |
### Perform actions in your workspace
| Permission | Why we need it |
| ------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| Add shortcuts and/or slash commands that people can use | To allow users to launch rooms and activities in Doozy using shortcuts and slash commands. |
***
โญ If you'd like more information, reach out to the team at [hello@doozy.live](mailto:hello@doozy.live)
# Promoting Doozy to Your Team
Source: https://help.doozy.live/getting-started/promoting-doozy-to-your-team
Copy-paste messages to get your team excited about Doozy.
Doozy works best when your whole team uses it! Here are ready-to-send messages you can share in Slack to introduce different features.
***
## ๐ Quick Reference
| Feature | How to access |
| -------------------------------- | ---------------------------------------------- |
| **Create & schedule activities** | Go to [doozy.live/app](https://doozy.live/app) |
| **Quick poll** | `/doozy poll "Question" "A" "B" "C"` in Slack |
| **Shoutout** | `/doozy shoutout` in Slack |
| **Social room** | `/doozy social` in Slack |
***
## ๐ General Introduction
> Hey team! We've added a new tool called **Doozy** to help us connect and celebrate each other. Here's what you can do:
>
> ๐ **Celebrations** - Birthdays, anniversaries, and shoutouts\
> ๐ **Polls & Surveys** - Quick feedback from the team\
> ๐ง **Trivia & Icebreakers** - Daily fun to spark conversation\
> โ๏ธ **Quizzes** - Create your own on any topic\
> โ **Introductions** - Get matched for coffee chats
>
> ๐ You'll see celebrations and activities right here in Slack. Want to create something? Head to [doozy.live/app](https://doozy.live/app)!
***
## ๐ Birthday Celebrations
> **Birthday shoutouts are coming to Slack!** ๐
>
> Thanks to Doozy, we'll be celebrating birthdays in #general. On your special day, expect some virtual confetti from the team! ๐ฅณ
>
> **How it works:**
>
> * Your birthday syncs automatically from HR (or you'll get a quick prompt to add it)
> * Don't want yours announced? You can opt out with one click
>
> Questions? Let me know!
***
## ๐ Anniversary Celebrations
> **Work anniversary shoutouts are here!** ๐
>
> Doozy will now help us celebrate work anniversaries in #general! On your milestone day, expect some well-deserved kudos from the team. ๐
>
> Got ideas for making anniversaries even better? Let me know!
***
## ๐ Polls
> **Did you know you can create instant polls?** ๐
>
> Just type in any channel:
>
> ```
> /doozy poll "Your question" "Option 1" "Option 2" "Option 3"
> ```
>
> Add `anonymous` at the end for anonymous responses!
>
> For advanced polls with emoji scales, ratings, and more - create one at [doozy.live/app](https://doozy.live/app)
***
## ๐ Surveys
> **Need to gather feedback?** ๐
>
> Doozy makes it easy to create multi-question surveys and send them to channels or individuals.
>
> ๐ Create one at [doozy.live/app](https://doozy.live/app)
***
## โ๏ธ Quizzes
> **Create and share quizzes with the team!** โ๏ธ
>
> Test your colleagues on product knowledge, engineering trivia, or just for fun.
>
> ๐ Create one at [doozy.live/app](https://doozy.live/app)
***
## ๐ง Trivia
> **Daily trivia is here!** ๐ง
>
> Doozy posts a new trivia question every day with a different theme each week. Compete on the leaderboard!
>
> ๐ Keep an eye on the channel and climb that leaderboard!
***
## ๐ง Icebreakers
> **Want to get to know the team better?** ๐ง
>
> Doozy can post daily icebreaker questions to get us talking - things like "What's your go-to comfort food?" or "Share a ridiculous pet photo!"
>
> ๐ Look out for them in the channel and join in!
***
## ๐ฃ Shoutouts
> **Give kudos to a teammate!** ๐ฃ
>
> Type `/doozy shoutout` to recognize great work. We'll track all shoutouts and share highlights!
***
## ๐ Team Socials
> **Get the team together!** ๐
>
> Type `/doozy social` to launch a video room and share the link with your team.
***
## ๐ค๏ธ Tracks
> **Automated workflows for onboarding and more!** ๐ค๏ธ
>
> Tracks guide team members through a series of steps - messages, tasks, surveys, introductions - all on autopilot. Perfect for:
>
> ๐ **New hire onboarding** - Welcome messages, buddy intros, check-in surveys\
> ๐ **Training programs** - Quizzes, tasks, and resources over time\
> ๐ **Recurring processes** - Monthly check-ins, quarterly reviews
>
> Talk to your admin or manager to get a Track set up!
***
## โญ Tips for Success
| Tip | Why It Works |
| ------------------------------ | -------------------------------------------------------- |
| **Start with celebrations** | Everyone loves birthdays and shoutouts |
| **Lead by example** | Send the first shoutout or answer the first trivia |
| **Pick one feature at a time** | Don't overwhelm - introduce gradually |
| **Make it optional** | Let people opt out of things like birthday announcements |
# The Doozy Dashboard
Source: https://help.doozy.live/getting-started/the-doozy-dashboard
Where admins create, schedule, and manage everything Doozy does.
The **Doozy dashboard** at [doozy.live/app](https://doozy.live/app) is where admins, managers,
and creators set up everything - quizzes, surveys, introductions, tracks, celebrations,
and more. Your team still receives and answers everything in Slack, but you build and
schedule it all from the web app.
***
## Signing in
1. Go to [doozy.live/app](https://doozy.live/app)
2. Sign in with Slack, Google, or email (depending on your workspace's
[sign-in methods](/admin/sign-in-methods))
3. You'll land on your dashboard
If you haven't connected Doozy to Slack yet, see
[Getting Started with Doozy](/getting-started/how-to-add-doozy-to-slack).
***
## Finding your way around
The dashboard menu groups everything by feature:
| Section | What you do there |
| ----------------- | --------------------------------------------------------------------------------- |
| **Quizzes** | Build quizzes and schedule them to your team |
| **Surveys** | Create polls and surveys, then send and review results |
| **Icebreakers** | Set up icebreakers and daily trivia |
| **Introductions** | Run coffee chats and new-hire introductions |
| **Tracks** | Build multi-step workflows for onboarding and training |
| **Cohorts** | Group people who start together and run tracks per cohort (rolling out gradually) |
| **Celebrations** | Automate birthdays and anniversaries |
| **Time Off** | Schedule announcements of who's away |
| **Settings** | Manage members, integrations, billing, and security |
***
## How creating works
You build each activity in a **visual editor**. Its settings appear as chips you can
expand - content, recipients, schedule, and feature-specific options like scoring or
notifications. Many editors also offer **AI-assisted generation**: describe what you
want and Doozy drafts it for you to refine.
**Quizzes** and **surveys** work a little differently: you build the quiz or survey
once as reusable content, then schedule it separately - so the same quiz can be sent
to different audiences at different times.
### Choosing recipients
When scheduling any activity, you pick recipients from:
* **Channels** - post into a Slack channel
* **Individuals** - direct-message specific people
* **Groups** - members of a custom or HRIS-synced group
* **Managers / direct reports** - target managers or the people who report to them
* **New hires** - automatically reach people who recently joined
### Choosing a schedule
Most activities can run **once** or on a **recurring** schedule, at a time of day in
the timezone you select. The exact recurrence options vary by activity type.
***
## Where your team sees it
Doozy delivers everything to your team **in Slack** - they receive messages, answer
quizzes, and join introductions there. The dashboard is the admin side; Slack is the
member side.
***
## Next steps
Sync birthdays, anniversaries, and org data
Automate birthdays and anniversaries
Launch coffee chats with Doozy Roulette
Get your team excited about Doozy
# The Doozy Slack App
Source: https://help.doozy.live/getting-started/the-slack-app
What the Slack app and the Doozy dashboard each do, and how they work together.
Doozy has two parts that work together:
* **The [Doozy dashboard](/getting-started/the-doozy-dashboard)** - the web app at
[doozy.live/app](https://doozy.live/app), where admins, managers, and creators
**build, schedule, and manage** activities.
* **The Doozy Slack app** - where your whole team **takes part**: they receive
activities, answer them, and connect with each other, all without leaving Slack.
***
## What the team does in Slack
The Doozy Slack app is the member side of Doozy. In Slack, your team:
* Receives and answers **quizzes, polls, and surveys**
* Plays **daily trivia and icebreakers**
* Gets **track** messages and steps for onboarding and training
* Sees **birthday and anniversary celebrations** - and signs cards for teammates
* Sees **time off announcements**
* Gets matched for **introductions** and schedules the meeting
* Sends and receives **shoutouts**
Each person also has a **Doozy home** in Slack - the app's Home tab - showing their
to-dos, the tracks they're enrolled in, and upcoming celebrations.
### Slack shortcuts
A few things can be started straight from Slack:
| Command | What it does |
| ----------------- | ---------------------------------- |
| `/doozy poll` | Fire off a quick poll in a channel |
| `/doozy shoutout` | Recognize a teammate |
| `/doozy social` | Spin up a video room |
***
## How the two work together
An admin, manager, or creator builds and schedules an activity at
[doozy.live/app](https://doozy.live/app).
The activity is posted to the channels or people you chose, at the time you set.
Members answer, play, or take part right where they already work.
Participation, scores, and feedback are all available back in the dashboard.
***
## Who uses what
| Role | Where they work |
| ---------------------------------- | ------------------------------------------------------------------ |
| **Admins, managers, and creators** | The **dashboard** - to build, schedule, manage, and review results |
| **Everyone on the team** | The **Slack app** - to receive and take part in activities |
Anyone can sign into the dashboard, but day-to-day the split is simple: admins build
on the web, and the team takes part in Slack.
***
## Getting connected
The Slack app is connected once per workspace. If it isn't set up yet, see
[Getting Started with Doozy](/getting-started/how-to-add-doozy-to-slack).
# What is Doozy?
Source: https://help.doozy.live/getting-started/what-is-doozy
A team engagement platform - managed from the web, delivered in Slack.
Doozy brings your team together with celebrations, introductions, quizzes, polls, and
more. Admins create and schedule everything from the **Doozy web app**, and your team
receives and takes part in it all **in Slack**.
***
## ๐ฏ Core Features
| Feature | What It Does |
| ------------------------ | ------------------------------------------------------------ |
| **Celebrations** | Birthdays, anniversaries, and shoutouts |
| **Introductions** | Automated coffee chats and new hire introductions |
| **Polls & Surveys** | Quick feedback and detailed insights from your team |
| **Quizzes** | Custom quizzes on any topic |
| **Tracks** | Multi-step workflows for onboarding, training, and processes |
| **Trivia & Icebreakers** | Daily fun questions to spark conversation |
| **Time Off** | Automated announcements of who's away |
***
## ๐ฅณ Celebrations
Recognize the moments that matter.
Automated celebrations with virtual cards your team can sign
Recognize achievements and give kudos for great work
***
## ๐ Introductions
Help people connect across your organization.
Automatic coffee chats - weekly, biweekly, or monthly
Connect new hires or individuals to multiple teammates
***
## ๐ Feedback & Insights
Gather input from your team effortlessly.
Quick one-question polls with optional anonymity
Multi-question surveys for deeper insights
***
## โ๏ธ Quizzes
Create custom quizzes on any topic - pick from our library or build your own.
Host live quizzes or let people play at their own pace
***
## ๐ค๏ธ Tracks
Multi-step workflows for structured processes.
Onboarding, training, check-ins, and recurring processes
Messages, polls, tasks, intros, and more
Start tracks automatically or manually
***
## ๐ง Trivia & Icebreakers
Keep things fun with daily questions and conversation starters.
Compete on the leaderboard with rotating quiz topics
Fun prompts like "share a ridiculous photo of your pet"
***
## ๐๏ธ Time Off Announcements
Keep everyone informed about who's away.
Daily or weekly summaries of who's out of office
***
## ๐ How to Use Doozy
Everything is created and scheduled from the **Doozy dashboard**:
1. Go to [doozy.live/app](https://doozy.live/app) and sign in
2. Pick a section from the menu - Quizzes, Surveys, Introductions, and more
3. Build your activity and schedule it to your team
New here? Start with [Getting Started with Doozy](/getting-started/how-to-add-doozy-to-slack)
and [The Doozy Dashboard](/getting-started/the-doozy-dashboard).
***
## โ Got Questions?
Email us at [hello@doozy.live](mailto:hello@doozy.live) anytime with questions or feedback
Reach out via Slack Connect. If we're not connected yet, email us to get started!
# BambooHR (OAuth)
Source: https://help.doozy.live/integrations/authenticate-bamboo-credentials
Connect BambooHR to Doozy via Merge using OAuth.
## Overview
To authenticate BambooHR via OAuth, you will need to provide your BambooHR account credentials. You will be redirected to BambooHR to log in.
## Prerequisites
* You have **Full-Admin** access in your company's BambooHR instance, OR
* You have a **Custom Access Level** with sufficient access (see [Create a Doozy user](/integrations/create-doozy-user-in-bamboo) for setting up minimal permissions)
***
## Step 1: Add Your BambooHR Subdomain
For example, if you sign in at `acme.bamboohr.com`, enter `acme`.
You will be redirected to BambooHR to log in to your account.
## Step 2: Enter Your BambooHR Credentials
Log in with your BambooHR username and password. Once authenticated, you're done!
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
## Notes on Access Levels
| Access Level | Impact |
| --------------- | ----------------------------------------------------------------------------------------------- |
| Employee Access | Only your own profile will sync. Manager field will be null. |
| Manager Access | Only your profile and direct/indirect reports will sync. |
| Custom Access | Set to view "All Employees" to sync all records. Enable View Access for fields you want synced. |
# BambooHR (API Key)
Source: https://help.doozy.live/integrations/authenticate-bamboo-with-api
Connect BambooHR to Doozy via Merge using an API key.
## Overview
To authenticate BambooHR using an API Key, you will need to provide the following information:
* **Subdomain** - Your BambooHR subdomain
* **API Key** - Generated from your BambooHR account
## Prerequisites
* You have **Full-Admin** access in your company's BambooHR instance, OR
* You have a **Custom Access Level** with sufficient access (see [Create a Doozy user](/integrations/create-doozy-user-in-bamboo) for setting up minimal permissions)
***
## Step 1: Add Your BambooHR Subdomain
For example, if you sign in at `acme.bamboohr.com`, enter `acme`.
Do not enter the full URL - only the subdomain.
## Step 2: Find Your BambooHR API Key
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
## Notes on Access Levels
| Access Level | Impact |
| --------------- | ----------------------------------------------------------------------------------------------- |
| Employee Access | Only your own profile will sync. Manager field will be null. |
| Manager Access | Only your profile and direct/indirect reports will sync. |
| Custom Access | Set to view "All Employees" to sync all records. Enable View Access for fields you want synced. |
# Create a Doozy user
Source: https://help.doozy.live/integrations/create-doozy-user-in-bamboo
How to create a Doozy user in BambooHR.
Select 'Yes, Allow Access'
* First Name
* Last Name
* Name
* Preferred Name
* Work Email
* Manager
* Start Date / Hire Date
* End date
* Birthday
* Employment Status
* Groups
* Birthday/ Birth Date
* Groups / Teams / Departments
โ
## Creating a non-employee user in BambooHR
You can then follow [these instructions](/integrations/authenticate-bamboo-with-api) to get the API key
# How to Connect ADP Workforce Now
Source: https://help.doozy.live/integrations/how-to-connect-adp-workforce-now
Learn how to connect your ADP Workforce Now account to Doozy
## Overview
This guide will walk you through connecting your ADP Workforce Now account to Doozy to sync employee data using a practitioner role.
## Prerequisites
Before you begin, ensure you have:
* Administrator access to your company's ADP instance
* ADP Workforce Now (not ADP Workforce Now Canada)
## Steps
### Step 1: Create a Profile with Access to Reports
1. In ADP Workforce Now, go to **Setup** and find **Access Permissions**
2. Click **Manage Profiles** โ **Create Profile**
3. Enter any value for **Name**, but set the **Role** to **Practitioner**
### Step 2: Configure Report Permissions
In **Menus & Features**, go to **Reports & Analytics** and enable the following:
**Required:**
* **My Reports**: All Reports, My Standard Reports
* **View**: Reports Output, Reports Scheduled
* **Reports Dashboard**: Reports Dashboard
* **Standard Reports**: All Reports, Personal & Employment
**Optional (based on your needs):**
* Benefits (for Benefits data)
* Pay Statement History (for Pay data)
* Time Off (for Time Off data)
### Step 3: Configure People Permissions
In **People**, enable the following:
**Required:**
* Employee Profile Report
* Employment Profile
* Personal Profile
* Pay (if you need Payroll data)
For Time Off, Time and Attendance, Payroll, or Benefits data, click **SELECT ALL** in the top left.
### Step 4: Configure Sensitive Information (Optional)
In **Sensitive Personal Information**:
1. Go to **On Screen & Reports** and **On Reports**
2. Select **No Masking**, **Partial Masking**, or **Masking** based on your preferences
Rates masking must be set to No Masking for employment effective dates to sync.
### Step 5: Activate the Profile
On the **Status & Save** screen, activate the profile and save it.
### Step 6: Create a Service Account User
1. From **Setup**, select **Security Management**
2. Click **People** โ **Manage Users** โ **+** to add a user
3. Fill in the required fields using the values from the linking flow
4. Set **User Type** to "user is an independent contractor..."
5. Set **User Role** to "Product User"
### Step 7: Assign the Service Profile
1. In Step 2 "Services", select **WFNPractitioner** from Available Service Profiles
2. Move it to Selected Service Profiles
3. Proceed through Step 3 and confirm the new user
### Step 8: Connect User to Profile
1. Go back to **Access Permissions** โ **Manage People**
2. Search for the service account user
3. Click the user and select **Manage Profile Memberships**
4. Add the Service Account Profile you created
5. In **People Access**, enable **View Only Access** to all People
## Enter Credentials into Doozy
You must be a workspace admin to connect an HRIS integration.
1. Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace)
2. Click **Integrations** in the sidebar
3. Select **HRIS**
4. Choose **ADP Workforce Now** from the list of providers
5. Follow the prompts to authenticate with your service account
6. Click **Connect** to complete the integration
## Troubleshooting
If you encounter issues authenticating, delete the created user and restart the process from Step 6. ADP often has issues when updating prior service user information.
# Breathe
Source: https://help.doozy.live/integrations/how-to-connect-breathe
Connect Breathe to Doozy via Merge.
## Overview
To connect Breathe, you will need to provide the following information:
* **API Key**
## Prerequisites
* You have Administrator permissions in your company's Breathe instance
***
## Step 1: Find Your Production API Key
Agree to the terms that appear on the subsequent screen.
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
# Charlie
Source: https://help.doozy.live/integrations/how-to-connect-charlie
Connect Charlie to Doozy via Merge.
## Overview
To connect Charlie, you will need to provide the following information:
* **Client ID**
* **Client Secret**
## Prerequisites
* You have Administrator permissions in your company's Charlie instance
***
## Step 1: Access Your Client ID and Secret
Copy and safely store both the Client ID and Client Secret. If you've previously generated credentials, retrieve the Client Secret from your HR or IT team who saved it.
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
# ChartHop
Source: https://help.doozy.live/integrations/how-to-connect-charthop
Connect ChartHop to Doozy via Merge.
## Overview
To connect ChartHop, you will need to provide the following information:
* **ChartHop Subdomain**
* **API Key**
## Prerequisites
* You have Admin permissions in your company's ChartHop instance
***
## Step 1: Locate Your ChartHop Subdomain
Your subdomain is the part of your ChartHop URL that appears after `app.charthop.com/`. For example, if your URL is `https://app.charthop.com/acme/home`, your subdomain is `acme`.
## Step 2: Create an API Key
The API Token is only shown once. Make sure to save it securely.
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
# CyberArk
Source: https://help.doozy.live/integrations/how-to-connect-cyberark
Connect CyberArk to Doozy via Merge.
## Overview
To connect CyberArk, you will need to provide the following information:
* **Tenant URL**
* **OAuth Client Application ID**
* **Client ID**
* **Client Secret**
## Prerequisites
* You have Administrator permissions in your company's CyberArk instance
***
## Step 1: Log in to Your CyberArk Admin Portal
## Step 2: Create a SCIM Client Role
## Step 3: Create a Custom OAuth Client
Example: `scim_oauth_client`. This becomes your **OAuth Client Application ID** for the linking flow.
* Token Type: `JwtRS256`
* Auth methods: `Client Creds`
* Access token lifetime: `5 hours`
* Name: `SCIMAPIScope`
* Allowed REST APIs: Add `scim`
Ensure the 'Run' permission checkbox is checked.
## Step 4: Create a CyberArk Service User
* **Login name**: This becomes part of your Client ID (e.g., `CLIENT_ID_PREFIX@merge`)
* **Display name**: Any name you choose
* **Password**: This becomes your Client Secret
This will automatically check 'Is service user' and gray out the email field.
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
# Darwinbox
Source: https://help.doozy.live/integrations/how-to-connect-darwinbox
Connect Darwinbox to Doozy via Merge.
## Overview
To connect Darwinbox, you will need to obtain the following information from your Darwinbox representative:
* **Username**
* **Password**
* **API Key and Dataset Key** for All Active Employees
* **API Key and Dataset Key** for All Inactive Employees
## Prerequisites
* Contact your Darwinbox representative to request API credentials
***
## Step 1: Contact Your Darwinbox Rep
* Username
* Password
* API Key and Dataset Key for All Active Employees
* API Key and Dataset Key for All Inactive Employees
These fields enable Doozy to access employee data such as name, department, job title, start date, and more.
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
# Dayforce HCM
Source: https://help.doozy.live/integrations/how-to-connect-dayforce-hcm
Connect Dayforce HCM to Doozy via Merge.
## Overview
To authenticate Dayforce HCM (formerly Ceridian Dayforce HCM) using your credentials, you will need to provide the following information:
* **Company ID**
* **Username**
* **Password**
## Prerequisites
Please ensure that you update the Role that you are configuring for the integration to be the **Default role**. To change a Role to become your Default:
1. Go to **System Admin > User**
2. Find the User you want to update (typically your own User)
3. Click on the User and select the "Is Default" checkbox for the Role you will be configuring
***
## Step 1: Configure Feature Access
## Step 2: Configure Authorizations
* Employee Contact Information - Business
* Employee Key Information
* Employee Profile โ Security Settings โ Role
* Employee Status Information
* Employee Work Assignment โ Primary Records
* User Information
## Step 3: Configure Web Services Field-level Access
* EffectiveStart
* EffectiveEnd
* XRefCode
| Data Needed | Fields to Enable |
| --------------------- | -------------------------------------------------------------------------------------------------- |
| Names | FirstName, LastName, CommonName |
| Managers | Right-click "Employee managers" โ Select All |
| Employment Status | Right-click "Employment Statuses" โ Select All; Right-click "Employment Status Group" โ Select All |
| Locations | Right-click "Locations" โ Select All |
| Contact Info | Enable "Contacts" and "Addresses" (and all child nodes) |
| Start/Hire Date | StartDate, HireDate, OriginalHireDate |
| Groups/Teams | Enable OrgUnits and OrgUnitInfos |
| Time Off *(optional)* | Enable RESTful Services > Human Resources > Workforce Management > EmployeeTimeAwayFromWork |
| Birthday *(optional)* | BirthDate |
## Step 4: Configure Org-Level Access
The user authenticating will need "Can See Self" enabled.
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
# Deel
Source: https://help.doozy.live/integrations/how-to-connect-deel
Connect Deel to Doozy via Merge.
## Overview
To connect Deel, you will need to provide the following information:
* **Organization Token**
## Prerequisites
* You have admin permissions in Deel
* Your Deel account has API access enabled (contact your Deel account manager to confirm)
***
## Step 1: Create an Organization Token
Copy and save the token securely. It may only be shown once.
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
# How to Connect Freshteam
Source: https://help.doozy.live/integrations/how-to-connect-freshteam
Learn how to connect your Freshteam account to Doozy
## Overview
This guide will walk you through connecting your Freshteam account to Doozy to sync employee data.
## Prerequisites
Before you begin, ensure you have:
* Access to your company's Freshteam instance
## Credentials Required
* **Subdomain** - Your Freshteam subdomain
* **API Key**
## Steps
### Step 1: Find Your Subdomain
Your subdomain is the prefix in your Freshteam URL, between `https://` and `.freshteam.com`. For example, if your URL is `https://acme.freshteam.com`, your subdomain is `acme`.
### Step 2: Find Your API Key
1. Log in to Freshteam
2. Hover over your profile image in the top right corner
3. Select **API Key** from the dropdown menu
4. Copy the API key
## Enter Credentials into Doozy
You must be a workspace admin to connect an HRIS integration.
1. Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace)
2. Click **Integrations** in the sidebar
3. Select **HRIS**
4. Choose **Freshteam** from the list of providers
5. Enter your **Subdomain**
6. Enter your **API Key**
7. Click **Connect** to complete the integration
# Google Calendar
Source: https://help.doozy.live/integrations/how-to-connect-google-calendar
Connect your Google calendar to Doozy
Connect your calendar to Doozy and events you create will be automatically added to your calendar.
**๐ฅ๏ธ Start from our web app, [doozy.live/app](https://doozy.live/app), and sign into your account to get started.**
Depending on your organisation's settings, you may need approval from your
IT/admin team
All events you create in Doozy will now be created in your calendar
automatically.
# Google Workspace User (Recommended)
Source: https://help.doozy.live/integrations/how-to-connect-google-calendar-dedicated-user
Use a dedicated Google Workspace account (e.g. doozy@yourcompany.com) to manage all scheduling and events.
Doozy will use that user to check availability and create events for users in the same workspace.
Once connected, the rest of your team won't need to connect their calendars individually.
You'll need to be a Doozy admin to connect the dedicated calendar user.
Create a dedicated Doozy user in your Google Workspace, by heading to the [Google Admin Console](https://admin.google.com). This user will be used to connect to Doozy and schedule events.
You will probably need your IT team to create a new user in your Google Workspace.
Please Note: You will be billed for this user by Google.
Click [here](https://doozy.live/app/settings/workspace?tab=integrations\&integration=systemCalendar) to open the integrations page in Doozy.
Going forward, all events and availability checks will be done using this user!
# Gusto
Source: https://help.doozy.live/integrations/how-to-connect-gusto
Connect Gusto to Doozy via Merge.
## Overview
To connect Gusto, you will log in with your Gusto credentials directly in the linking flow.
## Prerequisites
* You have Administrator or Manager permissions in your company's Gusto instance
***
## Connect Gusto to Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
# HiBob
Source: https://help.doozy.live/integrations/how-to-connect-hibob
Connect HiBob to Doozy via Merge.
## Overview
To authenticate HiBob using a Service Account, you will need to provide the following information:
* **Service Account User ID**
* **Service Account Token**
## Prerequisites
* You have Administrator permissions in your company's HiBob instance
***
## Step 1: Create the Service User in Your HiBob Account
Make a note of both the **ID** and the **Token**, then click 'Go to permission groups' to proceed with the next step.
The Token is only shown once. Make sure to save it securely.
## Step 2: Create a Permission Group
Click 'Edit permissions' in the top right corner. Under 'Whose data can members access?', pick 'Select people by condition', then click 'Edit'.
In most scenarios this will include: **Hired**, **Employed**, and **Terminated**. Click 'Apply' twice when done.
For each permission category below, select **View selected employees' \[Permission] sections** and **View selected employees' \[Permission] section histories**.
### Required Permissions for Doozy
| HiBob Permission | What It Enables |
| ----------------------------- | ------------------------------------------------------ |
| People > Basic Info | Name |
| People > Employment | Employee Number, Manager, Start Date, Termination Date |
| People > Work | Work Email, Work Location, Department, Job Title |
| People > Work contact details | Work Email |
| People > Lifecycle | Employment Status |
### Optional Permissions
| HiBob Permission | What It Enables | Notes |
| --------------------------------- | ---------------------------- | ------------------------------------------ |
| People > Personal | Date of Birth, Mobile Phone | Requires Edit permission for Date of Birth |
| People > Personal contact details | Personal Email, Mobile Phone | |
| Timeoff > Balance | Time Off balances | Required for Time Off Announcements |
| Timeoff > Requests | Time Off requests | Required for Time Off Announcements |
If you want Date of Birth for birthday celebrations, you must include both **View** and **Edit** access for 'People > Personal'. Doozy will NOT edit any employee sections.
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
## Notes
* HiBob allows moving fields into categories other than those listed above. If some fields are missing after linking, view a sample employee in HiBob and confirm under which category the missing field can be found. Then add View permissions for that category.
# How to Connect HR Partner
Source: https://help.doozy.live/integrations/how-to-connect-hr-partner
Learn how to connect your HR Partner account to Doozy
## Overview
This guide will walk you through connecting your HR Partner account to Doozy to sync employee data.
## Prerequisites
Before you begin, ensure you have:
* Administrator access to your company's HR Partner instance
## Steps
### Step 1: Enable API Access
1. Log into HR Partner as an admin
2. Click **Setup** in the left navigation bar
3. Expand the Setup menu, go to **Configure**, and click **Integrations**
4. At the top of the integrations page, ensure **Enable API Access for external applications** is checked
### Step 2: Copy Your API Token
1. On the same Integrations page, locate your **API Token**
2. Copy the API Token and store it securely
## Enter Credentials into Doozy
You must be a workspace admin to connect an HRIS integration.
1. Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace)
2. Click **Integrations** in the sidebar
3. Select **HRIS**
4. Choose **HR Partner** from the list of providers
5. Enter your **API Key**
6. Click **Connect** to complete the integration
# Humaans
Source: https://help.doozy.live/integrations/how-to-connect-humaans
Connect Humaans to Doozy via Merge.
## Overview
To authenticate Humaans.io, you will need to generate an API Key and paste it into the linking flow.
## Prerequisites
* You have Admin permissions in your company's Humaans.io instance
***
## Step 1: Generate Your API Key
* If you have an existing API key, click the edit button to update the scopes
* If you do not have an existing key, click 'Generate new token'
### Required Scopes
| Scope | What It Enables |
| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| **View public data** | Basic employee data: name, email, job title |
| **View public and private data** | Required for Doozy to detect pre-hires and terminated employees. Also enables: date of birth, country, city, state, phone number |
Without "View public and private data", employees will not be picked up until their hire date, and terminated employees will not be identified as such.
The API key is only shown once. Make sure to save it securely.
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
# JazzHR
Source: https://help.doozy.live/integrations/how-to-connect-jazzhr
Connect JazzHR to Doozy via Merge.
## Overview
To connect JazzHR, you will need to provide the following information:
* **API Key**
## Prerequisites
* You have access to the JazzHR Settings menu
***
## Step 1: Retrieve Your API Key
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
# Justworks
Source: https://help.doozy.live/integrations/how-to-connect-justworks
Connect Justworks to Doozy via Merge.
## Overview
To connect Justworks, you will log in to Justworks and authorize the integration directly in the linking flow.
## Prerequisites
* You have Administrator permissions in your company's Justworks instance
* Your company is on an active paid plan with Justworks
***
## Step 1: Start the Connection in Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
## Step 2: Log in to Justworks
This checkbox only appears if Doozy requires access to that data (e.g., for birthday celebrations).
# Kallidus
Source: https://help.doozy.live/integrations/how-to-connect-kallidus
Connect Kallidus (formerly Sapling) to Doozy via Merge.
## Overview
To connect Kallidus, you will need to provide the following information:
* **Subdomain**
* **API Key**
## Prerequisites
* You have access to your Kallidus account with Integrations permissions
***
## Step 1: Find Your Subdomain
Your subdomain is the first part of your Kallidus URL. For example, if your URL is `company-name.saplingapp.io`, your subdomain is `company-name`.
Do not enter the full URL - just the subdomain portion.
## Step 2: Create an API Key
The API Key is only shown once. Make sure to save it securely.
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
# How to Connect Lattice HRIS
Source: https://help.doozy.live/integrations/how-to-connect-lattice-hris
Learn how to connect your Lattice HRIS account to Doozy
## Overview
This guide will walk you through connecting your Lattice HRIS account to Doozy to sync employee data using OAuth authentication.
## Prerequisites
Before you begin, ensure you have:
* Full-Admin access in your company's Lattice instance
## Steps
### Step 1: Initiate the Connection
1. Navigate to Doozy's HRIS integration settings
2. Select **Lattice HRIS** from the list of providers
3. Enter your Lattice HRIS **subdomain** when prompted
### Step 2: Authenticate with Lattice
1. You will be redirected to Lattice to log in
2. Enter your Lattice HRIS account credentials
3. Authorize Doozy to access your Lattice data
## Enter Credentials into Doozy
You must be a workspace admin to connect an HRIS integration.
1. Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace)
2. Click **Integrations** in the sidebar
3. Select **HRIS**
4. Choose **Lattice HRIS** from the list of providers
5. Enter your **Subdomain**
6. Click **Connect** and log in to your Lattice account when prompted
7. Authorize the connection to complete the integration
# Lucca
Source: https://help.doozy.live/integrations/how-to-connect-lucca
Connect Lucca to Doozy via Merge.
## Overview
To connect Lucca, you will need to provide the following information:
* **Tenant URL**
* **API Key**
## Prerequisites
* You have Administrator permissions in your company's Lucca instance
***
## Step 1: Locate Your Lucca Tenant URL
For example: `https://yourcompany.lucca.io`
## Step 2: Create an API Key
* **Consult / create / modify users** (Required)
* **Consult leaves** (Optional - for Time Off Announcements)
* **Make absence requests** (Optional - for Time Off Announcements)
## Step 3: Configure Role Permissions
* **See future employees**
* **See former employees**
* **View employee jobs** (Optional)
* **View employee managers** (Optional)
* **View employee qualifications** (Optional)
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
# Outlook/Office 365
Source: https://help.doozy.live/integrations/how-to-connect-microsoft-calendar
Connect your Outlook/Office 365 calendar to Doozy
Connect your calendar to Doozy and events you create will be automatically added to your calendar.
**๐ฅ๏ธ Start from our web app, [doozy.live/app](https://doozy.live/app), and sign into your account to get started.**
Depending on your organisation's settings, you may need approval from your
IT/admin team
All events you create in Doozy will now be created in your calendar
automatically.
# Microsoft Entra ID
Source: https://help.doozy.live/integrations/how-to-connect-microsoft-entra-id
Connect Microsoft Entra ID to Doozy via Merge.
## Overview
To connect Microsoft Entra ID (formerly Azure Active Directory), you will need to provide the following information:
* **Tenant ID**
## Prerequisites
* You have access to the Azure Portal with permissions to view your organization's Entra ID
***
## Step 1: Find Your Tenant ID
Go to [portal.azure.com](https://portal.azure.com/#home)
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
# Connect your HRIS
Source: https://help.doozy.live/integrations/how-to-connect-my-hris
Connect your HRIS to pull in employee and team data automatically.
Connecting to your HRIS is a great way to streamline your celebrations, and improve the connection matching in Doozy.
You must be a **workspace admin** to connect an HRIS integration.
**๐ฅ๏ธ Start from our web app, [doozy.live/app](https://doozy.live/app), and sign into your account to get started.**
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace)
We support over 30 HRIS platforms. You can find the [full list
here](https://doozy.live/hris-integration). If you can't find the one you're
using, just email us a [hello@doozy.live](mailto:hello@doozy.live) and we'll try and get it added for you.
Once you've picked your integration, we'll start syncing your data. You'll
be able to see all the users in your HRIS in the members tab of your
settings.
โ
## Permissions required to connect your HRIS to Doozy
* Employee
* First Name
* Last Name
* Name
* Preferred Name
* Work Email
* Manager
* Start Date / Hire Date
* End date
* Employment Status
* Groups
* Birthdate (Optional - for birthday celebrations)
* Groups/Teams/Departments
* Time Off Balances (Optional - for Time Off Announcements)
# Namely
Source: https://help.doozy.live/integrations/how-to-connect-namely
Connect Namely to Doozy via Merge.
## Overview
To connect Namely, you will need to provide the following information:
* **Namely Subdomain**
* **API Key** (Personal Access Token)
## Prerequisites
* You have Administrator permissions in your company's Namely instance
***
## Step 1: Enter Your Namely Subdomain
Your subdomain is the first part of your Namely URL. For example, if you sign in at `acme.namely.com`, your subdomain is `acme`.
## Step 2: Create an API Key
The access token is only shown once. Make sure to save it securely.
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
# How to Connect Nmbrs
Source: https://help.doozy.live/integrations/how-to-connect-nmbrs
Learn how to connect your Nmbrs account to Doozy
## Overview
This guide will walk you through connecting your Nmbrs account to Doozy to sync employee data.
## Prerequisites
Before you begin, ensure you have:
* Access to your company's Nmbrs instance
## Credentials Required
* **Subdomain** - Your Nmbrs subdomain
* **API Key**
## Steps
### Step 1: Find Your Subdomain
Your subdomain is the prefix in your Nmbrs URL. For example, if your URL is `https://merge-test.nmbrs.nl`, your subdomain is `merge-test`.
### Step 2: Find Your API Key
1. Sign in to Nmbrs
2. Click your profile icon in the upper-right corner
3. Select **User Profile** from the dropdown menu
4. Click **API Token** in the upper menu
5. Copy the API key
## Enter Credentials into Doozy
You must be a workspace admin to connect an HRIS integration.
1. Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace)
2. Click **Integrations** in the sidebar
3. Select **HRIS**
4. Choose **Nmbrs** from the list of providers
5. Enter your **Subdomain**
6. Enter your **API Key**
7. Click **Connect** to complete the integration
# Okta
Source: https://help.doozy.live/integrations/how-to-connect-okta
Connect Okta to Doozy via Merge.
## Overview
To connect Okta, you will need to provide the following information:
* **Okta Domain**
* **API Token**
## Prerequisites
* You have Super Admin, Org Admin, or Group Admin permissions in Okta
* API tokens inherit the permissions of the user who created them
Okta recommends generating API tokens using a service account that won't be deactivated and has Super Admin permissions that won't change.
***
## Step 1: Find Your Okta Domain
Include `.okta.com` in the domain (e.g., `yourcompany.okta.com`).
## Step 2: Create an API Token
The token is only shown once. Make sure to save it securely.
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
# How to Connect Paychex
Source: https://help.doozy.live/integrations/how-to-connect-paychex
Learn how to connect your Paychex account to Doozy
## Overview
This guide will walk you through connecting your Paychex account to Doozy to sync employee data.
## Prerequisites
Before you begin, ensure you have:
* Admin permissions in your company's Paychex instance
## Credentials Required
* **API Key**
* **Client Secret**
## Steps
### Step 1: Create an Integrated App
1. Log in to your Paychex account
2. Go to **Company Settings**
3. Select **Integrated apps**
4. Click **Create App**
5. Enter an **Application Name** and **Description**
### Step 2: Configure API Permissions
Select **Read only** for the following APIs:
* **Company** API
* **Worker** API
If you also need to sync payroll information:
* Select **Read only** for **Payroll** and **Check** APIs
If you need access to Payroll data but don't see the toggle, contact your Paychex account manager for assistance.
### Step 3: Generate Credentials
1. Accept the **Legal Notice** and **Paychex Inc. API License Agreement**
2. Click **Save**
3. Your **API Key** and **Client Secret** will be displayed
4. Copy and store both credentials securely
## Linking Multiple Companies
If you want to link multiple companies in Paychex, you must be either a **Super admin** or **Security admin** in the parent account:
1. Register the app for the Paychex parent account (as described above)
2. Open the app via **Company Settings** โ **Integrated Apps** โ your app name
3. Scroll to the **Company Access** section and click **+Add or remove Company**
4. Select all companies you wish to link to this set of credentials
5. Save your changes
6. Switch to each child account using the dropdown arrow next to the company name
7. In each child account, open **Company Settings** โ **Integrated Apps** โ your app name
8. Toggle on **Access** and save the settings
## Enter Credentials into Doozy
You must be a workspace admin to connect an HRIS integration.
1. Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace)
2. Click **Integrations** in the sidebar
3. Select **HRIS**
4. Choose **Paychex** from the list of providers
5. Enter your **API Key**
6. Enter your **Client Secret**
7. Click **Connect** to complete the integration
# Paycor
Source: https://help.doozy.live/integrations/how-to-connect-paycor
Connect Paycor to Doozy via Merge.
## Overview
To connect Paycor, you will need to provide the following information:
* **Company ID**
* **Username and Password** (to log into Paycor)
## Prerequisites
* You have a Paycor username and password with access to AppCreator
* HR/Payroll/Company Admin must create an App Creator account to utilize the API
***
## Step 1: Set Up App Creator Access
Alternatively, select 'All existing and Future Clients'.
## Step 2: Find Your Company ID
It will look something like `290180`.
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
Choose based on the URL you use to log into Paycor.
## Notes
* It is not currently possible to add multiple Company IDs to a single linked account. Create a separate connection for each Company ID if needed.
# PayFit
Source: https://help.doozy.live/integrations/how-to-connect-payfit
Connect PayFit to Doozy via Merge.
## Overview
To connect PayFit, you will need to provide the following information:
* **API Key**
## Prerequisites
* You have admin permissions in PayFit
***
## Step 1: Navigate to API Access
## Step 2: Create an API Key
* **Access to contracts**
* **Access to collaborators**
The API Key is only shown once. Make sure to save it securely.
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
# Paylocity
Source: https://help.doozy.live/integrations/how-to-connect-paylocity
Connect Paylocity to Doozy via Merge.
## Overview
To connect Paylocity, you will need to provide the following information:
* **Client ID**
* **Client Secret**
* **Company ID**
## Prerequisites
Before you can connect, you must request API access from Paylocity.
There may be a cost associated with API setup from Paylocity.
***
## Step 1: Request API Access from Paylocity
[Download the form here](https://docs.paylocity.com/Knowledge/Partner%20Integration/Paylocity_Web_Services_Access_Request.pdf)
* **Client Contact Information**: Your company's information (e.g., HR personnel)
* **Vendor / Third-Party Contact Information**: The company you are connecting to
* **Use case description**: "We are using Merge to connect"
* **Permissions**: Select "Get Employee" (required). Only select additional endpoints if needed.
Use subject line: "Requesting Client ID and Client Secret"
## Step 2: Find Your Company ID
Your Company ID is the ID you use to log in to Paylocity. It appears in the upper left-hand corner of your Paylocity portal.
If your Company ID includes "CS", only enter the number that follows. In all other cases, enter the ID exactly as it appears (values are case-sensitive).
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
## Notes
* When providing optional companies, the same person may be employed by more than one company. In these cases, you would see the same employee multiple times (once for each company).
# PeopleHR
Source: https://help.doozy.live/integrations/how-to-connect-peoplehr
Connect PeopleHR to Doozy via Merge.
## Overview
To connect PeopleHR, you will need to provide the following information:
* **API Key**
## Prerequisites
* You have Administrator permissions in your company's PeopleHR instance
***
## Step 1: Generate Your API Key
* **Employee**: Select all
* **Absence**: Select all (optional - for Time Off Announcements)
* **Holiday**: Select all (optional)
Copy and store your API Key in a safe place.
The API Key is only shown once. Make sure to save it securely.
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
# Personio
Source: https://help.doozy.live/integrations/how-to-connect-personio
Connect Personio to Doozy via Merge.
## Overview
To authenticate Personio, you will need to provide the following information:
* **Client ID**
* **Client Secret**
## Prerequisites
* You have Administrator permissions in your company's Personio instance
***
## Step 1: Generate Your API Credentials
* Employees
* Absences *(for Time Off Announcements)*
**Required for Doozy:**
* Email
* First name
* Last name
* Hire date
* Termination date
* Status
* Supervisor
* Office
The Client Secret is only shown once. Make sure to save it securely.
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
# How to Connect Sage HR
Source: https://help.doozy.live/integrations/how-to-connect-sage-hr
Learn how to connect your Sage HR account to Doozy
## Overview
This guide will walk you through connecting your Sage HR account to Doozy to sync employee data.
## Prerequisites
Before you begin, ensure you have:
* Administrator or Manager permissions in your company's Sage HR instance
## Credentials Required
* **Subdomain** - Your Sage HR subdomain
* **API Key**
## Steps
### Step 1: Find Your Subdomain
Your subdomain is the prefix in your Sage HR URL. For example, if your URL is `https://overlookhotel.sage.hr`, your subdomain is `overlookhotel`.
### Step 2: Find Your API Key
1. Log in to Sage HR
2. Click your name in the top right corner
3. Select **Settings** from the dropdown menu
4. Click **Integrations** in the left-hand menu
5. Select **API** from the dropdown
6. Copy the API key
## Enter Credentials into Doozy
You must be a workspace admin to connect an HRIS integration.
1. Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace)
2. Click **Integrations** in the sidebar
3. Select **HRIS**
4. Choose **Sage HR** from the list of providers
5. Enter your **Subdomain**
6. Enter your **API Key**
7. Click **Connect** to complete the integration
# SAP SuccessFactors
Source: https://help.doozy.live/integrations/how-to-connect-sap-successfactors
Connect SAP SuccessFactors to Doozy via Merge.
## Overview
To connect SAP SuccessFactors, you will need to provide the following information:
* **API Server URL**
* **Username**
* **Company ID**
* **Client ID** (API Key)
* **Client Secret** (from certificate)
## Prerequisites
* You have Administrator permissions in your company's SAP SuccessFactors instance
***
## Step 1: Find Your API Server URL
Go to [SAP SuccessFactors API Server List](https://help.sap.com/docs/successfactors-platform/it-landscape-requirements-for-sap-successfactors/list-of-sap-successfactors-api-servers)
Example: Brazil users would use `api19.sapsf.com`
Your API server URL typically mirrors your SuccessFactors login URL. For example, if your login URL is `hcm68sales.successfactors.com`, your API Server URL would be `api68sales.successfactors.com`.
## Step 2: Find Your Username and Company ID
## Step 3: Generate OAuth Credentials
The URL must begin with `https://` (the values don't matter for the integration).
Enter any Common Name and click Generate.
The string between `-----BEGIN ENCRYPTED PRIVATE KEY-----` and `-----END ENCRYPTED PRIVATE KEY-----` is your **Client Secret**.
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
# How to Connect TriNet
Source: https://help.doozy.live/integrations/how-to-connect-trinet
Learn how to connect your TriNet account to Doozy
## Overview
This guide will walk you through connecting your TriNet account to Doozy to sync employee data.
## Prerequisites
Before you begin, ensure you have:
* Integration Administrator access in your company's TriNet instance
## Credentials Required
* **Company ID**
* **Client ID**
* **Client Secret**
## Steps
### Step 1: Access the TriNet Integration Center
1. Sign in to [TriNet](https://identity.trinet.com/)
2. Navigate to **AdminโขManager** โ **Integration Center**
3. Click **Get Started** from the **TriNet API** section of Available Apps
### Step 2: Generate API Credentials
1. Select the applicable integration name from the **Select an Integration** dropdown
2. Click **Accept** to agree to the terms
If you don't see the company you're attempting to integrate with in the dropdown, contact your TriNet account manager.
### Step 3: Copy Your Credentials
1. Copy the **Company ID**, **Client ID**, and **Client Secret**
2. Store these credentials securely
Do not navigate away from this screen until you've saved the credentials locally or entered them in Doozy. These credentials cannot be accessed again after leaving this page.
3. Click **OK** to complete the setup
## Enter Credentials into Doozy
You must be a workspace admin to connect an HRIS integration.
1. Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace)
2. Click **Integrations** in the sidebar
3. Select **HRIS**
4. Choose **TriNet** from the list of providers
5. Enter your **Company ID**
6. Enter your **Client ID**
7. Enter your **Client Secret**
8. Click **Connect** to complete the integration
# TriNet HR Platform
Source: https://help.doozy.live/integrations/how-to-connect-trinet-hr-platform
Connect TriNet HR Platform to Doozy via Merge.
## Overview
To connect TriNet HR Platform, you will need to provide the following information:
* **API Token**
## Prerequisites
* You have Admin permissions in your company's TriNet instance
***
## Step 1: Generate Your API Key
Make sure to check the items under "People" that are relevant for Doozy.
## Step 2: Copy Your API Token
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
# How to Connect UKG Pro
Source: https://help.doozy.live/integrations/how-to-connect-ukg-pro
Learn how to connect your UKG Pro account to Doozy
## Overview
This guide will walk you through connecting your UKG Pro account to Doozy to sync employee data. You'll need to retrieve your Customer API Key and create a Service User.
## Prerequisites
Before you begin, ensure you have:
* Administrator access to your company's UKG Pro instance
## Credentials Required
* **Customer API Key**
* **Service Account Username**
* **Service Account Password**
* **Web Service Domain URL**
## Steps
### Step 1: Find Your Customer API Key
1. Log in to UKG Pro
2. Search for **Service Account Administration** in the top right search bar
3. Copy the **Customer API Key** from under the header
### Step 2: Create a Service Account
1. On the Service Account Administration page, click **+ add** in the top right
2. Create a new **username** and **email** for your service account (save the username for later)
3. Scroll down to the **Web Service** section and enable the following permissions:
**Required:**
* View Employee Person Details
**Recommended (depending on your use case):**
* Employee Pay Statement
* Employee Employment Information
* PTO Plan Integration
* Company Configuration Integration
* Payroll Integration
* Personnel Integration
* Employee Job History Details
* Employee Compensation Details
* Employee User Defined Fields
4. Click **Save** - your new password will appear
5. Save the password in a secure location
### Step 3: Find Your Web Service Domain
1. In the UKG Pro search bar, search for **Web Services**
2. Look at any of the URLs on this page (e.g., `http://servicet.ultipro.com/services/BIDataService`)
3. Copy the base URL (e.g., `servicet.ultipro.com`)
## Enter Credentials into Doozy
You must be a workspace admin to connect an HRIS integration.
1. Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace)
2. Click **Integrations** in the sidebar
3. Select **HRIS**
4. Choose **UKG Pro** from the list of providers
5. Enter your **Customer API Key**
6. Enter your **Service Account Username** and **Password**
7. Enter your **Web Service Domain URL**
8. Click **Connect** to complete the integration
# How to Connect UKG Pro Workforce Management
Source: https://help.doozy.live/integrations/how-to-connect-ukg-pro-wfm
Learn how to connect your UKG Pro Workforce Management account to Doozy
## Overview
This guide will walk you through connecting your UKG Pro Workforce Management (formerly UKG Dimensions) account to Doozy to sync employee data.
## Prerequisites
Before you begin, ensure you have:
* Administrator access to your company's UKG Pro WFM instance
## Credentials Required
* **Client ID** - Provided when your tenant was provisioned
* **Client Secret** - Provided when your tenant was provisioned
* **Username** - API user credentials
* **Password** - API user credentials
* **Subdomain** - Your UKG Pro WFM subdomain
If you don't have access to your Client ID or Client Secret, contact UKG Global Support for assistance.
## Steps
### Step 1: Create an API User
1. Identify an existing admin user who has access to all employees and locations
2. Go to **Menu** โ **Maintenance** โ **People Information**
3. Duplicate the user account by selecting the person and going to **Person** โ **Duplicate**
4. In the new profile:
* Select **Edit Licenses** and confirm at least a **Manager** license is selected
* Under the **Information** section:
* Set the **Last Name** to `APIUser`
* Set the **ID** to `APIUser` (or another unused user ID)
* Assign a new **Username** (e.g., `APIUser`)
* Set the **Authentication Type** to **Basic**
* Assign and confirm a **password**
* Check **API Only User** (this ensures the password does not expire)
5. Under the **Access Profiles** section:
* Set **Function Access Profile** and **Display Profile** to **Super Access** (or configure more restrictive access if needed)
### Step 2: Create a Function Access Profile (if needed)
If you didn't copy the function access profile from an existing user:
1. Log into WFM with an administrative account
2. Navigate to **Administration** โ **Application Setup**
3. Expand **Access Profiles** and click **Function Access Profiles**
4. Click **New**
5. Configure the profile:
* Enter a **Name** (e.g., the name of the application you're connecting)
* Set the function access profile to **Super Admin access**
6. Click **Save & Return**
7. Assign this function access profile to your API user
### Step 3: Identify Your Subdomain
Your subdomain is part of your UKG Pro WFM URL. For example, if your URL is `merge.prd.mykronos.com`, your subdomain is `merge.prd`.
Remove `-sso` from the URL if present. For example, if your URL is `merge-sso.prd.mykronos.com`, enter `merge.prd` instead.
## Enter Credentials into Doozy
You must be a workspace admin to connect an HRIS integration.
1. Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace)
2. Click **Integrations** in the sidebar
3. Select **HRIS**
4. Choose **UKG Pro Workforce Management** from the list of providers
5. Enter your **Username** and **Password**
6. Enter your **Client ID** and **Client Secret**
7. Enter your **Subdomain**
8. Click **Connect** to complete the integration
# How to Connect UKG Ready
Source: https://help.doozy.live/integrations/how-to-connect-ukg-ready
Learn how to connect your UKG Ready account to Doozy
## Overview
This guide will walk you through connecting your UKG Ready account to Doozy to sync employee data.
## Prerequisites
Before you begin, ensure you have:
* Administrator access to your company's UKG Ready instance
## Credentials Required
* **Domain** - Your UKG Ready login domain
* **Company Short Name**
* **API Key**
* **Service Account User ID**
* **Service Account Password**
## Steps
### Step 1: Identify Your Domain
Your domain is the base URL where you sign in to UKG Ready. For example, if you sign in at `acme.com/ta/Default.login`, your domain is `acme.com`.
### Step 2: Find Your Company Short Name
1. Log into UKG Ready and open the menu in the upper left
2. Click the **Settings icon** โ **Global Setup** โ **Company Setup**
3. Open **Company Info**
4. Scroll down to find **Company Short Name** under Company Address
5. Copy your Company Short Name
### Step 3: Find or Generate Your API Key
1. In Company Setup, go to **Login Config**
2. Scroll to find **API Keys** and click the eye icon to reveal the key
3. Copy the API Key and store it securely
If there are existing integrations using this key, DO NOT click generate as it will invalidate the current key.
### Step 4: Create a Security Profile
1. From the left menu, go to **Settings** โ **Profiles/Policies** โ **Security**
2. Click **NEW SECURITY PROFILE** in the upper right
Configure the following permissions based on your needs:
**HR Tab:**
* Employee Management, Base Remuneration โ **View**
* Benefit Management (Plans) โ **View**
* Cost Centres โ **View**
* Total Compensation โ **View**
* HR Custom Values โ **View**
* Leave of Absence Management โ **Manage Requests** (if applicable)
**Modules Tab (if applicable):**
* Rest API Resources: Select **Employee Demographics**, **Employee HR Custom Fields**, **Employee Profiles**, **Employee Pay Information**, **Employees**, **Employees (Changed)**, and **Employees (me)**
**Global Tab (if applicable):**
* Global Setup: Company Country/Legal Divisions, Cost Centre Definitions, Leave of Absence Custom Fields Definitions โ **View**
* Object Lists: Company EINs, Cost Centers, Leave of Absence Categories, Pay Period Profile โ **View**
**Payroll Tab (if applicable):**
* Payroll section: **Create/Edit Payroll** and **View/Edit/Add** next to payroll adjustment
* Select **Payroll Prep Process**
### Step 5: Create a Service Account
1. From **Settings** โ **Global Setup** โ **Company Setup**, go to **Edit Tabs**
2. From the Available Windows box, drag **Service Accounts** to the Top section and click **Save**
3. Click **Add Service Account** and configure:
* Choose a **username** and **password**
* Select the **Security Profile** you created
* Click the magnifying glass for **Account Groups** and select **All Company Employees**
## Enter Credentials into Doozy
You must be a workspace admin to connect an HRIS integration.
1. Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace)
2. Click **Integrations** in the sidebar
3. Select **HRIS**
4. Choose **UKG Ready** from the list of providers
5. Enter your **Domain**
6. Enter your **Company Short Name**
7. Enter your **API Key**
8. Enter your **Service Account User ID** and **Password**
9. Click **Connect** to complete the integration
# Workday ISU (Recommended)
Source: https://help.doozy.live/integrations/how-to-connect-workday-isu
Connect Workday to Doozy via Merge.
## Overview
To authenticate your Workday account, you will need to provide the following information:
* **WSDL** - The Web Services Endpoint URL
* **ISU Username** - Integration System User name
* **ISU Password** - Integration System User password
* **Workday Tenant Name** - Your Workday tenant identifier
## Prerequisites
* You have Administrator permissions in your company's Workday instance
***
Below are detailed steps for setting up the integration. Steps 1 to 7 are done within your Workday portal, whereas the final step is done in the Doozy app.
## Step 1: Create an Integration System User (ISU)
Due to XML encoding, '&', '\<', or '>' characters cannot be included in the password.
Ensure 'Require New Password at Next Sign In' is NOT checked.
## Step 2: Create a Security Group and Assign an Integration System User
## Step 3: Configure Domain Security Policy Permissions
The permissions required can differ based on your use case. See the [Workday HRIS Permissions](/integrations/workday-hris-permissions) guide for the full list of required domain security policies.
## Step 4: Activate Security Policy Changes
## Step 5: Validate Authentication Policy is Sufficient
You don't have to create a new Authentication Rule if you already have an existing one set to 'User Name Password' or 'Any'. You can add the ISU to that rule instead. You will need to create a new rule if SAML is the only Authentication Rule you see for "Allowed Authentication Types."
## Step 6: Activate All Pending Authentication Policy Changes
## Step 7: Obtain the Web Services Endpoint URL (WSDL)
The URL will have a format similar to: `https://wd2-impl-services1.workday.com/ccx/service/acme/Human_Resources/v43.0`
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
Example: If you sign in at `https://wd5-services1.workday.com/acme`, enter `acme`.
## Notes
* The password used cannot contain '&', '\<', or '>' characters.
* Please make sure to exempt the ISU account from MFA and SSO.
* To increase API limits for your Workday tenant, contact Workday Support or your Workday Customer Account Manager through the Workday Community support portal.
# Workday (OAuth)
Source: https://help.doozy.live/integrations/how-to-connect-workday-oauth
Connect Workday to Doozy via Merge using OAuth authentication.
## Overview
To authenticate your Workday account using OAuth, you will need to provide the following information:
* **WSDL** - The Web Services Endpoint URL prefix
* **Workday Tenant Name** - Your Workday tenant identifier
* **Client ID** - From the API Client registration
* **Client Secret** - From the API Client registration
* **Refresh Token** - A non-expiring refresh token
* **Token Endpoint** - The OAuth token URL
## Prerequisites
* You have Administrator permissions in your company's Workday instance
***
## Step 1: Obtain the Web Services Endpoint URL
The URL will have a format similar to: `https://wd2-impl-services1.workday.com/ccx`
## Step 2: Get Your Tenant Name
For example, if your URL is `https://wd2-impl-services1.workday.com/ccx/service/acme/Human_Resources/v43.0`, your tenant name is `acme`.
## Step 3: Register a New API Client for Integrations
* **Client Name**: Enter a name for your API client
* **Scope (Functional Areas)**: Add the required scopes from the table below
* Check **Non-Expiring Refresh Tokens**
* Check **Include Workday Owned Scope**
The Client Secret is only shown once. Make sure to save it securely.
### Required Scopes (Functional Areas)
For HRIS integrations, add the following scopes:
| Scope |
| ---------------------------------------------------------- |
| Staffing |
| Time Off and Leave *(if you need access to Time Off data)* |
| Tenant Non-Configurable |
| Public Data |
| Contact Information |
## Step 4: Generate a Non-Expiring Refresh Token
The Refresh Token is only shown once. Make sure to save it securely.
## Enter Credentials into Doozy
You must be a **Doozy admin** to connect an HRIS integration.
Navigate to [Workspace Settings](https://doozy.live/app/settings/workspace) โ **Integrations** โ **HRIS**.
## Notes
* OAuth authentication is recommended over ISU authentication for enhanced security.
* Ensure the Workday Account used to generate the refresh token has the necessary permissions to access the data you need.
* If you need to set up domain security policies for specific data access, see our [Workday HRIS Permissions](/integrations/workday-hris-permissions) guide.
# Okta via SAML
Source: https://help.doozy.live/integrations/how-to-integrate-okta-saml
Connecting Doozy to Okta via SAML SSO
This guide will help you connect your Doozy app to Okta using SAML. Follow the steps below to configure the integration.
## Prerequisites
* Access to your Okta admin dashboard.
* The following details from Doozy:
* **Entity ID**: `https://doozy.live`
* **ACS URL**: `https://doozy.live/__/auth/handler`
## Step 1: Create a New SAML App in Okta
1. Log in to your Okta admin dashboard.
2. Navigate to **Applications** > **Applications**.
3. Click **Create App Integration**.
4. Select **SAML 2.0** and click **Next**.
## Step 2: Configure SAML Settings
In the **General Settings**:
1. **App name**: Enter a name for your app, e.g., "Doozy".
2. (Optional) Upload a logo and set visibility options.
Click **Next** to proceed.
### SAML Settings
In the **SAML Settings**:
1. **Single sign-on URL**:
* **URL**: Enter `https://doozy.live/__/auth/handler`
* **Request Binding**: Ensure "HTTP-POST" is selected.
2. **Audience URI (SP Entity ID)**:
* **URI**: Enter `https://doozy.live`
### Attribute Statements (Optional)
1. Click **Add Another** to add a new attribute statement.
* **Name**: `Name ID`
* **Name format**: `urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified`
* **Value**: `user.email`
Click **Next** to continue.
## Step 3: Configure Feedback
1. Choose the option that best describes your needs and click **Finish**.
## Step 4: Assign People to the Application
1. Click **Assignments** and assign users or groups to the Doozy app.
## Step 5: Retrieve Okta SAML Details
Once the application is created, you'll need to retrieve the following details from Okta:
1. **Entity ID**: Found under the "Sign On" tab. Example:
```
http://www.okta.com/12345931283hu23in1
```
2. **SSO URL**: Also found under the "Sign On" tab. Example:
```
https:///app/doozy/abcd1234/sso/saml
```
3. **Certificate**: Download the certificate from the "Sign On" tab under "View SAML setup instructions."
## Step 6: Configure SAML in Doozy
1. Navigate to the [Doozy Security Settings](https://doozy.live/app/settings/workspace?tab=security).
2. In the SAML configuration section, enter the following values:
* **Entity ID**: `https://doozy.live`
* **ACS URL**: `https://doozy.live/__/auth/handler`
* **Okta Entity ID**: (Use the Entity ID retrieved from Okta)
* **SSO URL**: (Use the SSO URL retrieved from Okta)
* **Certificate**: (Paste the content of the certificate retrieved from Okta)\\
* **Domains**: Add the domains that users can log in with. This restricts access to users with email addresses from these domains.
3. Map the **Name ID** to **Email**.
## Step 7: Test the Integration
1. Log out of Doozy.
2. Try to log in using Okta SSO to verify the configuration.
***
If you encounter any issues, please refer to Okta's documentation or contact support.
# Other HRIS integrations
Source: https://help.doozy.live/integrations/other-hris-integrations
Instructions for integrating other HRIS systems with Doozy.
If you can't see instructions for how to link your HRIS to Doozy, please reach out to Doozy at [hello@doozy.live](mailto:hello@doozy.live) and we'll help get you sorted.
# Slack Atlas
Source: https://help.doozy.live/integrations/use-slack-atlas-for-people-data
Use Slack Atlas for your People data, rather than connecting your HRIS
If your organisation uses Slack Atlas, we can connect those profile fields to Doozy rather than connecting directly to your HRIS.
Please reach out to Doozy at [hello@doozy.live](mailto:hello@doozy.live) to get this set up for your team.
# Workday HRIS Permissions
Source: https://help.doozy.live/integrations/workday-hris-permissions
Required domain security policies for Workday HRIS integration with Doozy.
You must create your ISU in Workday before configuring permissions. If you haven't done that already, see our [main Workday setup guide](/integrations/how-to-connect-workday-isu).
## Overview
You will need to configure different permission domains in your Workday ISU for HRIS versus ATS data. This guide covers the permissions needed for **HRIS data** to integrate with Doozy.
## Required Permissions
Add the following Domain Security Policies with **Get Only** operation in Step 3 of the [setup guide](/integrations/how-to-connect-workday-isu#step-3-configure-domain-security-policy-permissions):
| Operation | Domain Security Policy | Notes |
| --------- | -------------------------------------------------- | -------------------------------------------------- |
| Get Only | Worker Data: Public Worker Reports | **Minimum required permission** |
| Get Only | Manage: Organization Integration | Required to surface the Organization Hierarchy |
| Get Only | Worker Data: Organization Information | |
| Get Only | Person Data: Name | |
| Get Only | Person Data: Work Contact Information | |
| Get Only | Person Data: Private Work Email Integration | Required to surface work email of Employees |
| Get Only | Person Data: Public Work Email Address Integration | Required to surface work email of Employees |
| Get Only | Worker Data: All Positions | |
| Get Only | Worker Data: Current Staffing Information | Required to surface Employment Status of Employees |
| Get Only | Worker Data: Employment Data | Required for work anniversaries |
| Get Only | Worker Data: Workers | |
## Optional Permissions
| Operation | Domain Security Policy | Notes |
| --------- | -------------------------- | --------------------------------------------------- |
| Get Only | Person Data: Personal Data | Required if you want to sync birthdays from Workday |
| Get Only | Worker Data: Time Off | Required for Time Off Announcements |
## Domain Breakdown
For reference, here is how Workday domains break down into subdomains:
| Parent Domain | Subdomains |
| ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Person Data: Personal Data | Person Data: Citizenship Status, Person Data: Disabilities, Person Data: ID Information, Person Data: National ID Identification, Person Data: Marital Status, Person Data: Date of Birth, Person Data: Gender, Person Data: Government IDs, Person Data: Personal Information, Person Data: Photo |
| Person Data: Work Contact Information | Person Data: Work Address, Person Data: Work Email, Person Data: Work Instant Messenger, Person Data: Work Phone, Person Data: Work Web Address, Person Data: Public Work Email Address |
| Worker Data: Workers | - |
| Worker Data: All Positions | - |
| Worker Data: Current Staffing Information | - |
| Worker Data: Public Worker Reports | - |
| Worker Data: Employment Data | - |
| Worker Data: Organization Information | - |
| Worker Data: Time Off | Worker Data: Time Off (Time Off), Worker Data: Time Off (Time Off Balances), Worker Data: Time Off (Time Off Balances Manager View), Worker Data: Time Off (Time Off Manager View) |
# Zoom Workspace
Source: https://help.doozy.live/integrations/zoom
This guide will help you connect Zoom to Doozy, allowing your introductions to be scheduled as Zoom meetings. Follow the steps below to configure the integration.
## Prerequisites
* You'll need to be an owner/admin of the Zoom Workspace
* You'll need to be an owner of the Doozy account
## How it works
This is a Zoom Workspace app, meaning you only need to connect it once to your Zoom workspace. Once connected, we can schedule Zoom meetings for introductions in Doozy for any user in your workspace. Until Zoom is connected, you can't select Zoom as a meeting location when setting up an introduction.
## Connect Zoom
1. Log in to Doozy
2. Click Settings
3. Click [Integrations](https://doozy.live/app/settings/workspace?tab=integrations)
4. Under Zoom Admin App, click Connect
5. You'll be redirected to Zoom to authorize Doozy
6. Click Authorize
7. You'll be redirected back to Doozy
8. Success! You're now connected to Zoom
## Disconnect Zoom
1. Log in to Doozy
2. Click Settings
3. Click [Integrations](https://doozy.live/app/settings/workspace?tab=integrations)
4. Under Zoom Admin App, click Manage
5. Click Disconnect
6. Confirm you want to disconnect
7. Success! You're now disconnected from Zoom
# Introduction analytics
Source: https://help.doozy.live/introductions/introduction-analytics
View match data and export introduction results.
## View Matches
1. Go to [doozy.live/app](https://doozy.live/app) and open **Introductions**
2. Select an introduction to see its matches and participation stats
## Export Data
Click **Download CSV** to export match data enriched with HRIS info (department, manager, etc.).
## Terminology
| Term | Definition |
| --------------------- | -------------------------------- |
| **Matched** | Successfully paired with someone |
| **Skipped** | Not matched this round |
| **Meeting scheduled** | Match booked a meeting via Doozy |
| **No meeting** | Matched but didn't schedule |
# Manage introductions
Source: https://help.doozy.live/introductions/manage-introductions
Update, pause, or cancel introductions.
## How to Manage
1. Go to [doozy.live/app](https://doozy.live/app) and open **Introductions**
2. Select the introduction you want to change
3. Update its settings, or cancel it
## What You Can Change
| Setting | Roulette | Individual |
| -------------------- | -------- | ---------- |
| Participants | โ | โ |
| Schedule/frequency | โ | โ |
| Matching preferences | โ | - |
| Excluded users | โ | - |
| Meeting settings | โ | โ |
## Opt-outs and skips
On a **Doozy Roulette** (group introduction), the detail page shows who has opted out, and each round shows who skipped it.
These appear on Doozy Roulette introductions only. Individual introductions do not have them.
### Opted out
The **Opted out** list shows members who have left the introduction permanently, alongside the date they opted out (most recent first).
* Opt-out dates are recorded from the point this feature shipped. Anyone who opted out before then shows a dash instead of a date.
* If you can edit the introduction, each member has a **Re-enable** button. Re-enabling asks you to confirm, then adds the member back into matching from the next round. The member is not notified in Slack.
* If you can edit the introduction, **Exclude someone** lets you opt a person out yourself: pick a teammate and confirm, and they are excluded from matching until re-enabled. They are not notified in Slack.
### Skipped rounds
A skip only excludes someone from a single round, so skips are shown **on the round itself**, not in a separate list:
* On the introduction detail page, a round that had anyone skip it shows an **N skipped** count; expand the round to see who.
* The introduction's **Report** has a **Skipped** table listing who skipped each round, so you can see skips across the whole history in one place.
# Introductions in Doozy
Source: https://help.doozy.live/introductions/overview
Connect people across your organization with targeted or random introductions.
Doozy Introductions pair people for meaningful conversations: perfect for onboarding, team-building, and breaking silos.
## Introduction Types
| Type | Best For | How It Works |
| ---------------------------- | ------------------------------------- | ----------------------------------------------------- |
| **Individual Introductions** | Onboarding, targeted connections | Introduce one person to specific colleagues or groups |
| **Doozy Roulette** | Team-building, cross-team connections | Random matches on a recurring schedule |
## Quick Start
* **[Set up individual introductions](/introductions/set-up-individual-introductions)**: Introduce a new hire to key teammates
* **[Set up Doozy Roulette](/introductions/set-up-doozy-roulette)**: Schedule recurring random matches
## More
* [Receiving an introduction](/introductions/receiving-an-introduction): What to expect as a participant
* [Manage introductions](/introductions/manage-introductions): Pause, update, or cancel
* [Introduction analytics](/introductions/introduction-analytics): View matches and export data
# Receiving an Introduction
Source: https://help.doozy.live/introductions/receiving-an-introduction
What to expect when you're matched for an introduction.
When you're introduced to a colleague via Doozy Roulette or Individual Introductions, here's what happens:
## The Process
1. **You get a DM**: Doozy sends a group message introducing you to your match(es)
2. **Say hello**: Use the included icebreaker prompts or start your own conversation
3. **Pick a time**: Connect your calendar and choose a slot when everyone's free
4. **Meet**: Join via Doozy video, Google Meet, Zoom, Teams, or in person
## FAQ
Click **Connect calendar** in the introduction message and follow the setup steps.
For Roulette: click "skip" when notified before matches are made. For individual introductions: ask the organizer to exclude you.
# Set up Doozy Roulette
Source: https://help.doozy.live/introductions/set-up-doozy-roulette
Schedule recurring random introductions between teammates.
Doozy Roulette automatically matches people for 1:1s or small group meetings on a recurring schedule. Great for building connections across teams.
Connect your [HRIS](/integrations/how-to-connect-my-hris) to unlock team-based matching, seniority preferences, and new hire introductions.
## Setup
1. Go to [doozy.live/app](https://doozy.live/app) and open **Introductions**
2. Create a new introduction and set it up as a recurring **Doozy Roulette**
3. Configure the settings below
4. Click **Schedule** to launch it
## Configuration
### Participants
| Source | Description |
| ------------------- | -------------------------------------------- |
| **Channel members** | Everyone in a Slack channel |
| **Individuals** | Specific people you select |
| **Groups** | Team or department members *(HRIS required)* |
| **New hires** | Recently joined employees *(HRIS required)* |
| **Managers** | People with direct reports *(HRIS required)* |
Enable "Match with another group" to pair two different sets of users, e.g., new hires with tenured employees.
### Matching Preferences
| Setting | Options |
| ----------------- | --------------------------------------------------- |
| **Group size** | 2, 3, or 4 people per match |
| **Cross-team** | Prioritize different teams *(HRIS required)* |
| **Seniority** | Match similar or different levels *(HRIS required)* |
| **Tenure** | Match similar or different tenure *(HRIS required)* |
| **Location** | Same or different locations *(HRIS required)* |
| **Intro message** | Custom message sent with match notification |
### Schedule
* **Frequency**: Weekly, bi-weekly, or monthly
* **Start date**: When to make the first matches
### Meeting
| Setting | Description |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Duration** | The default meeting length |
| **Location** | Google Meet, Zoom, Teams, In Person, or Other. Zoom requires the [Zoom integration](/integrations/zoom) to be connected before you can select it. |
| **Reminders** | Nudge matches who haven't scheduled their meeting yet |
### Advanced
* **Notify channel**: Post matches publicly in the channel
* **Upcoming notification**: Alert users before matches are made (channel, DM, or none)
* **Allow opt-out**: Let users skip permanently
* **Exclude users**: Prevent specific people from being matched
## FAQ
Yes. We notify users before matches are made so they can skip that round.
Open **Introductions** in the [Doozy dashboard](https://doozy.live), select the Roulette, and update or cancel it. See [Manage introductions](/introductions/manage-introductions).
Leave the channel, ask whoever manages the Roulette to exclude you, or click "opt-out" when notified.
Ask an admin who can edit the Roulette to re-enable you. On the introduction's detail page they can find you under **Opted out** and click **Re-enable**, which adds you back into matching from the next round. See [Manage introductions](/introductions/manage-introductions).
We avoid repeating recent matches and apply your algorithm preferences (cross-team, seniority, tenure, location).
# Set up individual introductions
Source: https://help.doozy.live/introductions/set-up-individual-introductions
Introduce a person to specific teammates or groups.
Individual Introductions connect one person with a set of colleagues: perfect for onboarding new hires or building cross-team relationships.
## Setup
1. Go to [doozy.live/app](https://doozy.live/app) and open **Introductions**
2. Create a new introduction and set the type to **Individual**
3. Configure the settings below
4. Click **Schedule** to launch it
## Configuration
| Setting | Description |
| -------------------- | --------------------------------------------------------------------------- |
| **Who to introduce** | Select the person receiving introductions |
| **Introduce to** | Choose who they'll meet (see destinations below) |
| **Schedule** | Send now, or pick a date - one-off or recurring |
| **Meeting duration** | The default meeting length |
| **Auto-schedule** | Optionally have Doozy book the meeting automatically within a chosen window |
| **Message** | Custom intro message sent to matches |
### Destinations
| Destination | Description |
| ---------------------------- | ---------------------------------------------- |
| **Specific People** | Hand-pick individuals |
| **Channel Members** | Everyone in a Slack channel |
| **Groups** | Team or department *(HRIS required)* |
| **Manager's Direct Reports** | Their manager's team *(HRIS required)* |
| **Manager's All Reports** | Full org under their manager *(HRIS required)* |
Use the Introductions step in [Tracks](/tracks/steps/introductions) to automate introductions for every new hire.
## What Happens Next
1. Matches receive a DM in Slack
2. They pick a time using calendar integration
3. They meet via Google Meet, Zoom, Teams, in person, or another location of their choice
# How to create and send polls
Source: https://help.doozy.live/polls-and-surveys/how-to-create-a-poll
Create and send one-question polls from the Doozy dashboard to quickly gather team feedback.
We recommend connecting Doozy to your [HRIS](/integrations/how-to-connect-my-hris) so you can target groups, managers, and new hires.
Polls are perfect for collecting quick insights, measuring satisfaction, or engaging your team with a single, focused question. A poll is a one-question survey - your team answers it in Slack.
## ๐ Getting Started
1. Go to [doozy.live/app](https://doozy.live/app) and open **Surveys**
2. Create a new **poll**
3. Build your question and choose your poll settings
4. Click **Schedule** to choose recipients and timing
5. Send your poll
## 1. Build your question
A poll has a single question. Set:
* **Question text** - your poll question
* **Question type** - see the types below
* **Hint** *(optional)* - extra context shown with the question
### Question types
| Type | Description |
| ------------------- | ---------------------------------- |
| **Scale 1โ5** | Rate on a 1โ5 scale |
| **Scale 1โ10** | Rate on a 1โ10 scale |
| **Emoji** | Rate with emoji (๐ to ๐ก) |
| **Agree/Disagree** | A 5-point agreement scale |
| **eNPS** | Employee Net Promoter Score (0โ10) |
| **Open Ended** | Free-text response |
| **Multiple Choice** | Choose from options you define |
For **Multiple Choice** questions you can also:
* **Allow multiple answers** - let people select more than one option
* **Allow comments** - add an optional free-text field alongside the question
**Allow comments** can be enabled on any question type to capture extra context.
## 2. Poll settings
In the editor, set how responses are handled:
| Setting | Options | Notes |
| ---------------------- | --------------------- | ----------------------------------------------------- |
| **Response type** | Named / Anonymous | Hide respondent identities for sensitive topics |
| **Results visibility** | Owner only / Everyone | Who can see the results |
| **Time limit** | Off / a set duration | Give respondents a deadline to improve response rates |
## 3. Schedule and send
Click **Schedule** to open the schedule editor, then set:
### Recipients
| Recipient | Description |
| ------------------------------------------ | --------------------------------- |
| **Channel** | Post directly in a Slack channel |
| **Channel members** | DM each member of a channel |
| **Individuals** | Send to specific people |
| **Groups** | Send to members of a group |
| **New hires** | Send to recently joined employees |
| **Managers** | Send to all managers |
| **Manager's direct reports / all reports** | Send to a manager's team |
Sending in a private channel? Make sure Doozy has been invited first.
### Schedule
* **Send now** - post immediately
* **Scheduled** - pick a specific date and time
* **Recurring** - repeat daily, weekly, biweekly, monthly, quarterly, or annually
Pick a timezone, then save the schedule to send your poll.
## ๐ Viewing Results
Open your poll under **Surveys** and use the **Results** tab to see response rates,
answer distributions, individual responses (if not anonymous), and a CSV export.
See [Viewing Results](/polls-and-surveys/view-poll-survey-results) for details.
## ๐ Quick Start: Instant Poll in Slack
Need a poll fast? You can fire one off without leaving Slack using a slash command:
```
/doozy poll "What day works best for team lunch?" "Monday" "Wednesday" "Friday"
```
Add `anonymous` at the end if you want responses to be anonymous:
```
/doozy poll "How are you feeling today?" "Great" "Good" "Okay" "Not great" anonymous
```
The slash command is a quick shortcut for ad-hoc polls. For scheduled, recurring, or targeted polls, create them in the Doozy dashboard.
## โญ Best Practices
1. **Ask one specific thing** - "What day works for lunch?" beats "What do you think?"
2. **Keep it short** - Concise questions get better response rates
3. **Limit choices** - 3-7 options for multiple choice; include "Other" if needed
4. **Set a time limit** - Deadlines improve response rates
5. **Use anonymous for sensitive topics** - People are more honest when anonymous
6. **Poll at the right time** - Avoid Monday mornings and Friday afternoons
## ๐ฏ Common Use Cases
* **Team Decisions**: Quick votes on meeting times, event dates, or lunch spots
* **Pulse Checks**: Gauge team mood or satisfaction
* **Feedback Collection**: Get opinions on new ideas or processes
* **Engagement Measurement**: Use eNPS polls to track employee engagement
## ๐ Related
* [How to create a survey](/polls-and-surveys/how-to-create-a-survey) - Multi-question forms for detailed feedback
* [Poll and survey question types](/polls-and-surveys/poll-survey-question-types) - Deep dive into question types
* [View poll and survey results](/polls-and-surveys/view-poll-survey-results) - Understanding your results
# How to create and send surveys
Source: https://help.doozy.live/polls-and-surveys/how-to-create-a-survey
Create and send multi-question surveys from the Doozy dashboard to gather detailed feedback from your team.
We recommend connecting Doozy to your [HRIS](/integrations/how-to-connect-my-hris) so you can target groups, managers, and new hires.
Surveys let you ask multiple questions to gather detailed, multi-dimensional feedback. Your team answers surveys in Slack.
## ๐ Getting Started
1. Go to [doozy.live/app](https://doozy.live/app) and open **Surveys**
2. Create a new **survey** - build it from scratch or let Doozy's AI draft it from a prompt
3. Add your questions and choose your survey settings
4. Click **Schedule** to choose recipients and timing
5. Send your survey
## 1. Build your questions
Give your survey a **title** and an optional **description**, then add questions.
Each question has:
* **Question text**
* **Question type** - see the types below
* **Hint** *(optional)* - guidance shown with the question
* **Allow comments** *(optional)* - an extra free-text field for context
### Question types
| Type | Description |
| ------------------- | ---------------------------------- |
| **Scale 1โ5** | Rate on a 1โ5 scale |
| **Scale 1โ10** | Rate on a 1โ10 scale |
| **Emoji** | Rate with emoji (๐ to ๐ก) |
| **Agree/Disagree** | A 5-point agreement scale |
| **eNPS** | Employee Net Promoter Score (0โ10) |
| **Open Ended** | Free-text response |
| **Multiple Choice** | Choose from options you define |
For **Multiple Choice** questions, you define the choices and can **allow multiple answers**.
Reorder or remove questions as you build. The AI chat can also draft and refine
questions for you.
## 2. Survey settings
In the editor, set how responses are handled:
| Setting | Options | Notes |
| ---------------------- | --------------------- | ----------------------------------------------------- |
| **Response type** | Named / Anonymous | Hide respondent identities for sensitive topics |
| **Results visibility** | Owner only / Everyone | Who can see the results |
| **Time limit** | Off / a set duration | Give respondents a deadline to improve response rates |
## 3. Schedule and send
Click **Schedule** to open the schedule editor, then set:
### Recipients
| Recipient | Description |
| ------------------------------------------ | --------------------------------- |
| **Channel** | Post directly in a Slack channel |
| **Channel members** | DM each member of a channel |
| **Individuals** | Send to specific people |
| **Groups** | Send to members of a group |
| **New hires** | Send to recently joined employees |
| **Managers** | Send to all managers |
| **Manager's direct reports / all reports** | Send to a manager's team |
Sending in a private channel? Make sure Doozy has been invited first.
### Schedule
* **Send now** - post immediately
* **Scheduled** - pick a specific date and time
* **Recurring** - repeat daily, weekly, biweekly, monthly, quarterly, or annually
Pick a timezone, then save the schedule to send your survey.
## โ๏ธ Managing a survey
Open a survey from the **Surveys** list to reach its detail page, where you can
**Edit** it, view its **Schedules** and **Results**, schedule it again, and manage
**admins** who can help run it.
## ๐ Viewing Results
Open your survey under **Surveys** and use the **Results** tab to see response rates,
answer distributions, individual responses (if not anonymous), and a CSV export.
See [Viewing Results](/polls-and-surveys/view-poll-survey-results) for details.
## โญ Best Practices
1. **Keep it short** - 5-10 questions is ideal; longer surveys have lower completion rates
2. **Put key questions first** - Most important questions at the top in case users don't finish
3. **Be specific** - "How satisfied were you with orientation?" beats "How are things?"
4. **Mix question types** - Vary scales, choices, and open-ended to maintain engagement
5. **Use anonymity for sensitive topics** - Culture surveys, leadership feedback, complaints
6. **Survey at milestones** - Day 7, Day 30, Day 90 are natural feedback points
7. **Set a time limit** - A few days creates urgency and improves response rates
## ๐ฏ Common Use Cases
* **Onboarding Feedback**: Comprehensive assessment at 7, 30, and 90 days
* **Training Evaluations**: Multi-dimensional evaluation of training effectiveness
* **Employee Engagement**: Quarterly pulse surveys with multiple engagement indicators
* **Exit Interviews**: Detailed feedback from departing employees
* **Culture Assessments**: Anonymous surveys on company culture and values
## ๐ Related
* [How to create a poll](/polls-and-surveys/how-to-create-a-poll) - Single-question feedback for quick pulse checks
* [Poll and survey question types](/polls-and-surveys/poll-survey-question-types) - Deep dive into question types
* [View poll and survey results](/polls-and-surveys/view-poll-survey-results) - Understanding your results
# Employee Net Promoter Score (eNPS)
Source: https://help.doozy.live/polls-and-surveys/measuring-enps
Measure employee loyalty and engagement using eNPS polls and surveys.
The Employee Net Promoter Score (eNPS) is a simple yet powerful metric used to gauge employee loyalty and engagement within an organization. Adapted from the Net Promoter Score (NPS) used for measuring customer loyalty, eNPS focuses on employees and their likelihood of recommending their workplace to others.
***
## What is eNPS?
eNPS is calculated based on responses to a single question:
> "How likely are you to recommend \[Organization] as an employer to others?"
Employees respond on a scale of 0 to 10, and their responses are categorized as follows:
* **Promoters (9-10):** Highly loyal employees who are likely to recommend the organization.
* **Passives (7-8):** Neutral employees who are neither highly engaged nor disengaged.
* **Detractors (0-6):** Disengaged employees who may spread negative feedback.
The eNPS score ranges from -100 to +100 and is calculated using the formula:
eNPS = (% of Promoters) - (% of Detractors)
***
## How to Measure eNPS with Doozy
You can measure eNPS using Doozy polls or surveys. Both methods allow for completely anonymous responses.
### Using Polls
1. Go to [doozy.live/app](https://doozy.live/app) and open **Surveys**.
2. Create a new **poll**.
3. Select the **Employee NPS** question type.
4. Configure settings such as anonymity and response time.
5. Schedule the poll to your chosen recipients.
For more details, see [How to create a poll](/polls-and-surveys/how-to-create-a-poll).
### Using Surveys
1. Go to [doozy.live/app](https://doozy.live/app) and open **Surveys**.
2. Create a new **survey**.
3. Add an **Employee NPS** question to your survey.
4. Configure settings such as anonymity and response time.
5. Schedule the survey to channels, individuals, or managers.
For more details, see [How to create a survey](/polls-and-surveys/how-to-create-a-survey).
***
## Viewing Results
To view the results of your eNPS poll or survey:
1. Go to [doozy.live/app](https://doozy.live/app) and open **Surveys**.
2. Select your poll or survey.
3. Open **Results** to see the breakdown of promoters, passives, and detractors.
You can also download the results as a CSV for further analysis. See
[Viewing Results](/polls-and-surveys/view-poll-survey-results) for details.
# Polls & Surveys Overview
Source: https://help.doozy.live/polls-and-surveys/overview
Collect feedback, measure engagement, and make data-driven decisions.
Polls and surveys in Doozy help you gather feedback from your team quickly and easily.
You build and schedule them in the Doozy dashboard, and your team answers them in Slack.
## โจ What You Can Do
* **Polls**: Single-question feedback for quick decisions and pulse checks
* **Surveys**: Multi-question forms for detailed insights and comprehensive feedback
* **Anonymous responses**: Encourage honest feedback on sensitive topics
* **Flexible scheduling**: Send instantly, schedule for later, or set up recurring collection
* **Targeted delivery**: Send to channels, individuals, managers, groups, or new hires
* **Results & exports**: View results in real-time and download CSV reports
## ๐ฏ Common Use Cases
| Use Case | Best Tool |
| ------------------------------ | -------------- |
| **Quick pulse checks** | Poll |
| **Team decisions & votes** | Poll |
| **Onboarding feedback** | Survey |
| **Employee engagement (eNPS)** | Poll or Survey |
| **Training effectiveness** | Survey |
| **Event feedback** | Survey |
| **Exit interviews** | Survey |
## โ Poll vs Survey
| Feature | Poll | Survey |
| ---------- | ---------------------------- | ---------------------------- |
| Questions | Single question | Multiple questions |
| Setup time | Quick | More detailed |
| Best for | Fast decisions, pulse checks | Comprehensive feedback |
| Depth | Surface-level insights | Rich, multi-dimensional data |
## ๐ Quick Links
Send single-question polls for quick feedback
Build multi-question surveys for detailed insights
Explore all available question formats
Access and analyze your response data
Track employee engagement with Net Promoter Score
## ๐ Getting Started
1. Go to [doozy.live/app](https://doozy.live/app) and open **Surveys**
2. Create a **poll** (single question) or a **survey** (multiple questions)
3. Build your questions, then schedule it - choosing recipients and timing
4. Send it and start collecting feedback!
# Question types
Source: https://help.doozy.live/polls-and-surveys/poll-survey-question-types
Learn about the different question types available for polls and surveys, and how they can be used effectively in your organization.
## Overview
Doozy offers a variety of question types to help you gather feedback and insights from your team. Each question type is designed for specific use cases, making it easy to tailor your polls and surveys to your needs.
## Question Types and Use Cases
### 1. Multiple Choice
**Description:** Provide a list of predefined answers for respondents to choose from.\
**Use Cases:**
* **People Team:** Gauge interest in upcoming events or initiatives (e.g., "Which workshop would you like to attend?")
* **Leadership:** Collect input on strategic decisions (e.g., "Which project should we prioritize?")
* **General Team Use:** Decide on team preferences (e.g., "Where should we go for the team outing?").
***
### 2. Scale 1โ5
**Description:** Ask respondents to rate something on a scale from 1 to 5.\
**Use Cases:**
* **People Team:** Measure satisfaction with recent events or programs (e.g., "How satisfied were you with the onboarding process?")
* **Leadership:** Assess team morale or alignment (e.g., "How aligned do you feel with the companyโs goals?")
* **General Team Use:** Gather quick feedback on processes (e.g., "How effective was the last sprint planning meeting?").
***
### 3. Scale 1โ10
**Description:** Similar to the 1โ5 scale but provides a broader range for more nuanced feedback.\
**Use Cases:**
* **People Team:** Evaluate employee engagement (e.g., "On a scale of 1โ10, how engaged do you feel at work?")
* **Leadership:** Collect detailed feedback on initiatives (e.g., "Rate the effectiveness of the new communication tool.")
* **General Team Use:** Assess project success (e.g., "How successful was the recent product launch?").
***
### 4. Emoji Reactions
**Description:** Use emojis (๐ ๐ ๐) to gather quick, visual feedback on sentiment.\
**Use Cases:**
* **People Team:** Gauge mood or sentiment (e.g., "How are you feeling today?")
* **Leadership:** Collect informal feedback on announcements (e.g., "What do you think of the new policy?")
* **General Team Use:** Make feedback fun and engaging (e.g., "How do you feel about the new process?").
***
### 5. Agree/Disagree
**Description:** Ask respondents to rate a statement on a 5-point agreement scale (from strongly disagree to strongly agree).\
**Use Cases:**
* **People Team:** Test sentiment on statements (e.g., "I feel supported by my manager.")
* **Leadership:** Gauge alignment with company direction (e.g., "I understand our priorities for this quarter.")
* **General Team Use:** Validate proposals (e.g., "The new meeting format is an improvement.").
***
### 6. Employee NPS (Net Promoter Score)
**Description:** Ask respondents how likely they are to recommend the company to others, typically on a scale of 0โ10.\
**Use Cases:**
* **People Team:** Measure overall employee satisfaction and loyalty.
* **Leadership:** Track trends in employee sentiment over time.
* **General Team Use:** Identify areas for improvement in the workplace.
***
### 7. Open Ended
**Description:** Allow respondents to provide free-text answers.\
**Use Cases:**
* **People Team:** Collect detailed feedback on programs (e.g., "What did you like most about the training?")
* **Leadership:** Gather suggestions for company improvements (e.g., "What can we do to improve communication?")
* **General Team Use:** Encourage creativity and brainstorming (e.g., "What ideas do you have for our next project?").
***
## Tips for Effective Use
* **Combine Question Types:** Use a mix of question types to get both quantitative and qualitative insights.
* **Keep It Simple:** Avoid overwhelming respondents with too many questions in a single poll or survey.
* **Be Clear:** Ensure your questions are easy to understand and answer.
* **Follow Up:** Share results and any actions you plan to take based on the feedback.
By leveraging these question types, you can create engaging polls and surveys that provide valuable insights for your team and organization.
# Viewing Polls and Survey Results
Source: https://help.doozy.live/polls-and-surveys/view-poll-survey-results
View the results of your polls and surveys in the Doozy dashboard.
To view the results of your poll or survey:
1. Go to [doozy.live/app](https://doozy.live/app) and open **Surveys**.
2. Select the poll or survey you want to review.
3. Open **Results** to see response rates, answer distributions, and individual responses.
Results are organised into tabs - **Participants**, **Questions**, and **All Answers** -
and you can download the data as a CSV for further analysis. The CSV includes
additional detail such as manager, email, department, and start date.
**TIP:** You can give other team members access to view results. Add them as admins from the poll or survey's detail page.
# Preboarding: Welcome new hires before their first day
Source: https://help.doozy.live/preboarding/overview
Reach new hires by personal email before their first day, then hand them off to Slack onboarding automatically when they start.
**Preboarding** lets you start welcoming a new hire before their first day, when they
don't yet have a work account or Slack access. Doozy reaches them at their personal email,
so paperwork reminders, a warm welcome, and a heads-up on what to expect can land in
the weeks before they start. On their first day they move into your normal Slack onboarding
automatically, with no manual handoff.
Preboarding isn't available by default. Once it's enabled and you've completed the
[setup below](#what-you-need-to-turn-it-on), new hires with a future start date in
your HRIS come in as preboarders automatically. They show a **Preboarder** badge in
your Workspace Settings' Members list, and you can **add a day before their first
day** when you build a track. If your workspace doesn't have preboarding yet,
contact [hello@doozy.live](mailto:hello@doozy.live) to get it turned on.
## How preboarding works
A **preboarder** is a new hire who's set up in Doozy before their first day. They can't
sign in or use Doozy yet, and they're not in your Slack workspace. The only way to
reach them is their **personal email**, so everything you send before they start goes
there.
The handoff to their first day happens on its own:
| Stage | What happens |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Before their first day** | The person is a preboarder. Doozy sends pre-start content to their personal email. |
| **On their first day** | Once they have a work email, Doozy automatically makes them a regular member. They move into your usual Slack onboarding, just like any other new hire. |
## How preboarders are added
Preboarders come only from your HRIS. Once preboarding is on for your account, a new
hire synced from your HRIS with a future start date is brought in as a preboarder
automatically, the same way for any connected HRIS. There's no way to add a
preboarder by hand: a hire who isn't in your HRIS yet won't show up as a preboarder
until they are.
A preboarder's personal email also comes from your HRIS.
## What you need to turn it on
Doozy turns preboarding on for your account. On your side, two things need to be in
place before pre-start content can send:
* A [connected HRIS](/integrations/how-to-connect-my-hris), so start dates are
accurate and new hires can be brought in ahead of their first day.
* **Email delivery** enabled, so Doozy can send pre-start content.
## Preboarding in tracks
Preboarding uses the tracks you already know. There's no separate preboarding trigger:
a preboarding track is a normal [first day](/tracks/triggers/first-day) track with
steps scheduled **before** the first day. When you build the track, you add a day
before their first day and put your pre-start steps there.
Because a preboarder isn't in Slack yet, not every step type can reach them before they
start. A step can go out before day one only if it reaches their **personal email**,
reaches someone already in Slack (their manager, a channel, specific people), or has no
recipient at all:
| Step | Before the first day |
| ------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
| **Email** to the hire | Goes to their personal email - the only way to reach them directly |
| **Slack message** to their manager, a channel, or specific people | Sends on Slack as normal, since those recipients are already there |
| **Slack message** to the hire | Not possible - pick this in a before-first-day section and it defaults to their manager instead |
| **Tasks** for the manager | Works as normal |
| **Tasks** for the hire | Not possible - tasks can't be emailed |
| **Webhook** | Works as normal - it has no recipient |
| Quiz, Survey, Poll, Introductions, Mentor Assignment, Add to Track | Not available before the first day - they all need the hire in Slack |
The step picker still shows the unavailable types in a before-first-day section, grayed
out with the reason on hover, rather than hiding them. If you drag a step that can't run
pre-start into a before-first-day section, or remove a day in a way that would fold such
a step up into one, the builder refuses and explains why. Activating a track that still
breaks this rule is rejected, naming the offending step so you know exactly what to fix.
Everything from the hire's first day on runs in Slack as usual, with no restriction.
## Preboarding in cohorts
Preboarders can be part of a [cohort](/cohorts/overview), the same as anyone else who
starts around the same time. They receive their pre-start content by email, then join
the cohort's Slack channel and group onboarding on their first day.
Hand-picking a preboarder into a specific cohort follows the same rule as anyone else
whose first day is still ahead: their start date has to fall on or before the day that
cohort's intake closes (see [Who's joining](/cohorts/set-up-cohorts#whos-joining)).
Once their first day arrives the rule stops applying, even if they're still waiting on
a work email.
## When a preboarder needs help
* **No personal email.** If your HRIS doesn't have one on file, Doozy blocks that
pre-start step and sends the hire's manager (or the track's admins, if they don't
have one) a Slack to-do to add it. The step resumes as soon as the address is
submitted.
* **Started, but no work email yet.** Day-one promotion depends on your HRIS
producing a real work email by the time someone starts. If a preboarder's start
date passes and their work email still hasn't come through, they stay a
preboarder: there's no way to enter a work email for them directly in Doozy.
Fix the record in your HRIS and Doozy picks it up on the next sync, then makes
them a regular member on its own. They keep the same account, so anything
already running for them carries on.
Don't change their role to **Member** by hand to work around it. That doesn't
give them a work email or Slack access, and it stops your HRIS managing their
role from then on.
## Related
The trigger preboarding tracks are built on
Onboard people who start together as a group
Keep start dates accurate for new hires
# Challenges
Source: https://help.doozy.live/quizzes/challenges
Combine several quizzes into one running competition with a single leaderboard, deduplication across channels, and admin adjustments.
A **challenge** ties several quizzes together into one running competition with a
single combined leaderboard. Instead of a separate board per quiz, points from
every quiz add up, so you can run something like "Security Awareness 2026" as a
month-long series and crown one overall winner.
For how an individual quiz is scored, see
[Scoring & Leaderboards](/quizzes/scoring).
## โก The short version
* A challenge is a set of quizzes that **share one leaderboard**.
* Each quiz is scored [out of 1000](/quizzes/scoring#why-your-score-is-out-of-1000),
and a player's challenge total is the **sum** of their per-quiz scores.
* Players are ranked by **total points**, so a late joiner is scored only on the
quizzes they received and can't leapfrog on a higher average.
* The same quiz posted to multiple channels is **answered once** and counts
everywhere.
## ๐ฅ For your team: how a challenge feels
### One leaderboard across many quizzes
A challenge is a set of quizzes that share a leaderboard. Each quiz is scored out
of 1000, and your challenge total is simply the sum of your per-quiz scores. Do
well across the series and you climb the combined board.
### Your "X / Y" and how ranking works
Your "X / Y" on a challenge shows how many of its quizzes have been **delivered to
you** so far. Ranking is by your **total points**, not by percentage. Join late
and you're scored only on the quizzes you actually received; you can't leapfrog
people who completed more just by having a higher average. Everyone competes on
points earned.
### You only answer each quiz once
The same quiz can be posted to several Slack channels, but it's still **one quiz**.
You'll only ever be asked to answer it once, and that single answer counts toward
the challenge no matter which channel you saw it in. If it shows up in two
channels, opening either takes you to the same attempt. You can't boost your score
by answering the same quiz in multiple places.
### Speed bonus is the same across the whole challenge
Whether the [speed bonus](/quizzes/scoring#the-speed-bonus) is on, and how long its
window is, is decided once for the entire challenge. Every quiz behaves the same
way, so the competition stays consistent.
## ๐ ๏ธ For admins: running a challenge
### What a challenge groups
A challenge groups **scheduled quizzes**. Any quiz linked to the challenge
becomes a member and its scores feed the combined board.
**A quiz embedded in a track can't join a challenge.** It runs as part of its
track. Challenges group standalone scheduled quizzes.
Membership comes from the quizzes themselves, so adding or removing a quiz is just
linking or unlinking it. There's no separate list to keep in sync.
### Setting one up
Give it a clear name (e.g. "Security Awareness 2026") and an optional
description. It's live as soon as you create it.
Leaderboard, Own rank, or Hidden. See the
[visibility table](/quizzes/scoring#leaderboard-visibility).
On or off, and if on, the bonus window. This applies **uniformly** to every
quiz in the challenge and **overrides** each quiz's own speed setting, so the
board stays coherent.
Link your scheduled quizzes to the challenge. Each one is then scored
out of 1000 and its scores roll into the total.
Only the challenge's admin users can manage it and view aggregate results.
Question weighting stays on each quiz (Standard, Double, or Triple per question),
while the speed bonus and visibility are set once on the challenge.
### How the combined leaderboard is calculated
1. Each member quiz is scored and **rescaled to /1000** for every player.
2. A player's challenge total is the **sum** of their per-quiz scores.
3. Players are ranked by that total (absolute points, not percentage).
4. Any manual adjustments are layered on top at the end (see the
**Adjustments** section below).
Because the challenge speed setting is uniform across every quiz, the per-quiz
scores all rescale to /1000 and add up cleanly.
## ๐ Deduplication (play once)
When the same quiz is scheduled to multiple channels, Doozy treats every
copy as **one logical quiz** so nobody answers it (or gets reminded about it)
twice:
* **To-dos collapse.** Someone in three channels that all received the quiz sees
**one** to-do, not three.
* **Opening any copy lands on the same attempt.** A person answers the **first**
copy they received. If that copy expires before they touch it, Doozy rolls them
forward to the earliest copy still answerable. Once they've started a copy, they
stay on it.
* **One shared score.** That single answer feeds one shared per-quiz leaderboard,
so it counts everywhere the quiz was posted.
Only repeated runs of the **same** quiz collapse this way. Different quizzes are
always kept separate.
## โธ๏ธ Lifecycle: pause, complete, archive
A challenge is **active** when created. Every other state is a **cutoff**: member
quizzes stop delivering, new answers are rejected, and the leaderboard **freezes**
so you can lock in final standings. The states differ in intent and presentation.
| State | Meaning | Board |
| ------------- | ----------------------------------------- | ------------------------------------------------ |
| **Active** | Running. | Live, updating. |
| **Paused** | Temporarily stopped, meant to resume. | Frozen ("โธ๏ธ Paused, results frozen"). |
| **Completed** | Finished with final results, still shown. | Frozen ("๐ Challenge complete, final results"). |
| **Archived** | Filed away and hidden from the main list. | Frozen; can be deleted from here. |
Allowed transitions:
| From โ | Active | Paused | Completed | Archived | Deleted |
| ------------- | ------ | ------ | --------- | -------- | ------- |
| **Active** | n/a | pause | complete | archive | โ |
| **Paused** | resume | n/a | complete | archive | โ |
| **Completed** | reopen | โ | n/a | archive | โ |
| **Archived** | โ | โ | unarchive | n/a | delete |
* **Pausing or archiving also pauses the member quizzes** Doozy is running, so no
new questions post after the cutoff. Resuming re-activates only the quizzes the
challenge paused, never one you'd paused yourself.
* **Deleting keeps the data.** Delete (only from Archived) removes the challenge
and its cached board and unlinks the quizzes. The quizzes and all participation
data survive.
## โ๏ธ Adjustments
You can hand-edit a challenge leaderboard. Adjustments layer on top of the
calculated scores at display time, so they show up right away and never disturb the
underlying per-quiz results.
**Per-person, from the row's โฎ menu:**
* **Adjust points**: add or subtract points for that person, with an optional
reason. Added on top of their score and uncapped; use a negative number to
subtract. Their total shows a small badge so an adjusted score reads differently
from an earned one.
* **Remove from board**: drop someone's row. Reversible; their data is kept, just
hidden.
**Board-level Manual adjustment:**
* Award points to **any member, including someone who never played** (a referral
reward, say). They appear on the board as a new row with the awarded points. Use
a negative number to subtract.
**The Adjustments panel** lists every change in one place: each point award with
who made it, when, and why, plus an **Undo** for each (an undone entry stays
visible, struck through, so the history is legible). Removed people are listed
separately with a **Restore** button.
Adjusted points are added **on top** and are **uncapped**, so a total can exceed
1000 per quiz's worth. That's intentional, since a referral or bonus award isn't a quiz
score. The badge on the total flags it.
## ๐ข Worked example
A 3-quiz challenge, **speed bonus off**, visibility set to **Leaderboard**.
Riya joined after Quiz 1 had already gone out, so only Quizzes 2 and 3 were
delivered to her. Marcus received all three.
| Player | Quiz 1 | Quiz 2 | Quiz 3 | Delivered | Total |
| ------ | ------ | ------ | ------ | --------- | -------- |
| Marcus | 1000 | 800 | 900 | 3 / 3 | **2700** |
| Riya | n/a | 1000 | 1000 | 2 / 3 | **2000** |
Riya aced both quizzes she received, but she's ranked on her **2000 total**, not on
a 100% average, so she sits behind Marcus's 2700. A late joiner can't leapfrog on
percentage.
Now an admin awards Riya **+200** as a referral reward:
```
Riya: 2000 +200 (referral) = 2200 [+200]
```
Her total updates immediately with a "+200" badge, and the award appears in the
Adjustments panel with an Undo.
## ๐ What challenge standings look like
```
๐ Security Awareness 2026 standings
1. Marcus Bell 2700 ยท 3 / 3
2. Riya Kapoor 2200 [+200] ยท 2 / 3
3. Dana Okafor 1850 ยท 3 / 3
4. Sam Rivera 1600 ยท 2 / 3
โธ๏ธ Paused, results frozen (shown only when not active)
```
## โ FAQ
No. A quiz embedded in a track runs as part of that track. Challenges group
standalone scheduled quizzes.
No. It's one logical quiz; each person answers once and that single result
counts across every channel it appeared in.
No. Pausing stops the member quizzes and freezes the board. Any question window
already open is also blocked from new submissions. Resume to pick back up.
No. Delete removes the challenge and its leaderboard and unlinks the quizzes.
The quizzes and all answers are kept.
A manual adjustment (like a referral reward) is added on top of the calculated
score and isn't capped. The badge on their total flags it.
Adjustments apply at display time and boards refresh within a few seconds.
Re-open the standings and it'll be there.
## ๐ Related
How each quiz is scored, before challenges combine them
Create the quizzes that go into a challenge
View participation, scores, and feedback
Everything quizzes can do
# How to create a quiz
Source: https://help.doozy.live/quizzes/how-to-create-a-quiz
Build interactive quizzes in the Doozy dashboard, then schedule them to your team.
Create custom quizzes with your own questions or let Doozy's AI draft them for you.
Quizzes are perfect for team building, trivia nights, training validation, or just for fun.
Quizzes are built in the **Doozy dashboard**. Go to [doozy.live/app](https://doozy.live/app),
sign in, and open **Quizzes** โ **Create quiz**.
## โ๏ธ Building your quiz
The quiz editor has two ways to start:
* **Describe it to the AI** - tell Doozy what you want (e.g. "10-question onboarding
quiz on company benefits and PTO") and it drafts questions you can edit.
* **Build manually** - start from a blank quiz and add everything yourself.
You can switch between them at any time, and the AI chat stays available to refine
your quiz as you go - rewriting questions, changing correct answers, or adding rounds.
### Giving the AI your facts
Include the facts you want tested in your description and the questions are built from
them: "our refund policy: 30 days from delivery, original payment method only, manager
approval above ยฃ500". You can also attach a policy document or paste a link.
Without those specifics, Doozy still writes you a full quiz, but it draws on general
knowledge of the topic rather than anything particular to your company, and it tells you
so in the chat along with what it was missing. Send the detail through and it corrects the
answers to match. Answers a quiz marks people against are worth grounding this way.
### Quiz details
* **Title** - give your quiz a descriptive name
* **Description** - optional context about the quiz
### Rounds & questions
Questions are organised into **rounds**:
* **Rounds** - add as many as you like, each with its own name
* **Questions** - each question is multiple choice, with:
* The question text
* Two or more answer options
* One or more options marked correct
* An optional **explanation** shown after the question is answered
* An optional **image or GIF**
Reorder rounds and questions by dragging them.
There's no limit on the number of questions or rounds you create.
## ๐พ Saving and scheduling
When you're building a quiz, you have two options in the editor:
* **Save & Exit** - saves the quiz so you can schedule it later
* **Schedule** - saves the quiz and takes you straight to the schedule editor
See [Schedule a quiz](/quizzes/schedule-a-custom-quiz) for the scheduling walkthrough.
## โ๏ธ Managing a quiz
Open a quiz from the **Quizzes** list to reach its detail page, where you can:
* **Edit** - reopen the editor to change questions and rounds
* **Schedules** - view every time this quiz has been scheduled
* **Results** - see participation, scores, and feedback
* **Admins** - give other people access to edit the quiz, manage rounds, and view results
* **Sharing & Settings** - set visibility to **Private** (only you and admins) or
**Workspace** (anyone in your Doozy workspace can use it), and get a shareable link
## โญ Best Practices
1. **Theme your rounds** - Group questions by topic for better flow
2. **Mix difficulty** - Balance easy and hard questions to keep everyone engaged
3. **Use images** - Visual elements make questions more memorable
4. **Add explanations** - A short explanation helps people learn from wrong answers
5. **Reasonable length** - 10-20 questions keeps engagement high
## ๐ฏ Common Use Cases
* **Team Building**: Fun trivia nights to bond your team
* **Training Validation**: Test knowledge after training sessions
* **Onboarding**: Quiz new hires on company culture and processes
* **Product Knowledge**: Ensure sales/support teams know the product
* **Compliance**: Verify understanding of policies and procedures
## ๐ Related
* [Schedule a quiz](/quizzes/schedule-a-custom-quiz) - Send your quiz to your team
* [Quiz results and leaderboards](/quizzes/quiz-results) - Track participation and scores
* [Quiz step in Tracks](/tracks/steps/quiz) - Automate quizzes in onboarding workflows
# Quizzes Overview
Source: https://help.doozy.live/quizzes/overview
Create engaging quizzes for team building, training, and knowledge sharing.
Doozy quizzes turn learning into an interactive experience. Create custom quizzes with
your own questions or choose from our question bank in the Doozy dashboard, then
schedule them to your team in Slack.
## โจ What You Can Do
* **Create custom quizzes** with unlimited questions and rounds
* **Use our question bank** with thousands of pre-made questions
* **Schedule to your team** with flexible delivery options (all at once, daily questions, or daily rounds)
* **Track results** with detailed analytics and CSV exports
* **Collect feedback** after quizzes to improve content
* **Automate in Tracks** for onboarding and training workflows
## ๐ฏ Common Use Cases
| Use Case | Description |
| ----------------------- | ----------------------------------------------- |
| **Team Building** | Fun trivia nights to bond your team |
| **Training Validation** | Test knowledge after training sessions |
| **Onboarding** | Quiz new hires on company culture and processes |
| **Compliance** | Verify understanding of policies and procedures |
| **Product Knowledge** | Ensure teams know the product inside-out |
| **Daily Engagement** | One question per day to keep teams connected |
## ๐ Quick Links
Build quizzes in the web app with custom questions or our question bank
Send quizzes to your team with flexible timing and scoring options
Track participation, scores, and feedback with detailed analytics
Combine quizzes into one running leaderboard competition
How points, speed bonus, and the out-of-1000 score work
Automate quizzes in onboarding and training workflows
## ๐ Scoring
Questions count toward the score by their **weight** (Standard, Double, or Triple),
and you can turn on an optional **speed bonus** that rewards faster answers. Every
quiz is scored **out of 1000** so results stay comparable, and you choose whether to
show a full **leaderboard**, each person's **own rank**, or **nothing**.
Want one running competition across several quizzes? Combine them into a
[Challenge](/quizzes/challenges) with a single leaderboard.
See [Scoring & Leaderboards](/quizzes/scoring) for the full details, worked
examples, and how Trivia scoring differs.
## ๐ Getting Started
1. **[Create a quiz](/quizzes/how-to-create-a-quiz)** in the Doozy dashboard at [doozy.live/app](https://doozy.live/app)
2. **[Schedule it](/quizzes/schedule-a-custom-quiz)** to your team in Slack
3. **[View results](/quizzes/quiz-results)** and export data for reporting
# Quiz Results
Source: https://help.doozy.live/quizzes/quiz-results
View detailed results, participant data, and feedback from your quizzes.
Track quiz performance, analyze participant responses, and collect feedback - all in
the Doozy dashboard.
## ๐ Accessing Results
1. Go to [doozy.live/app](https://doozy.live/app) and open **Quizzes**
2. Select the quiz you want to view
3. Click the **Results** tab
## ๐ Results Tabs
View your quiz data from multiple perspectives:
| Tab | Description |
| ---------------- | ----------------------------------------------------------------------------- |
| **Participants** | View individual user performance, scores, and completion status |
| **Questions** | See how participants answered each question with correct/incorrect breakdowns |
| **All Answers** | Comprehensive data grid of every answer from every participant |
| **Feedback** | Review post-quiz feedback responses (if feedback was enabled) |
### Questions View
For each question, see:
* โ
Total correct answers
* โ Total incorrect answers
* Percentage of participants who answered correctly
* Breakdown of how many chose each answer option
**Click any question** to drill down and see exactly who answered what.
### Participants View
View everyone who took the quiz with their:
* Display name
* Manager name and email
* Department/team
* Individual scores and responses
**Click any participant** to see their complete answer history across all questions.
### Feedback View
If you enabled feedback collection when scheduling the quiz, this tab shows all participant feedback responses - perfect for understanding quiz quality and learning experience.
### All Answers View
A comprehensive data grid showing every answer from every participant. Great for detailed analysis and spotting patterns.
## โ๏ธ Filtering Options
### Include admin test results
By default, quiz admins are included in results. Turn off **Include admin test results** to filter out admin responses and see only participant data.
This is useful when admins test the quiz before sending it out.
## ๐ฅ Exporting Data
Download quiz results as CSV files for further analysis or reporting.
### Available Exports
Each results tab has a **Download as CSV** button. The exported file includes:
| Data Point | Description |
| --------------------- | ------------------------------------------- |
| User names | Participant display names and identifiers |
| Manager info | Manager name and email for each participant |
| Department | Organizational/team data |
| Question responses | How each participant answered each question |
| Completion timestamps | When participants completed questions |
| Scores | Individual and overall scores |
| Feedback | Post-quiz feedback responses (if enabled) |
CSV files open in Excel, Google Sheets, or any spreadsheet app for detailed analysis.
## ๐ Understanding the Data
### Participant Status
| Status | Meaning |
| --------------- | ------------------------------- |
| **Completed** | All questions answered |
| **In Progress** | Started but not finished |
| **Not Started** | Quiz assigned but not attempted |
Participants show as "In Progress" if they've started but haven't answered all questions. The quiz is only marked complete when every question has been answered.
### Question Analytics
Each question shows:
* **Response distribution**: How many chose each answer option
* **Correct answer highlighting**: The right answer is shown in bold
* **Success rate**: Percentage of participants who got it right
Use this to identify:
* Questions that are too easy or too hard
* Common misconceptions (wrong answers chosen frequently)
* Content that may need clarification
## โญ Best Practices
1. **Review question difficulty** - Questions with under 50% correct may be too hard or unclear
2. **Check feedback regularly** - Participant feedback helps improve future quizzes
3. **Export for stakeholders** - CSV reports are great for sharing with managers or L\&D teams
4. **Filter out admin tests** - Toggle off admin results for accurate participant-only data
5. **Drill into low performers** - Click individual participants to understand where they struggled
## ๐ฏ Common Use Cases
* **Training Validation**: Verify knowledge transfer after training sessions
* **Compliance Reporting**: Export completion data for audit requirements
* **Performance Analysis**: Identify knowledge gaps across teams or departments
* **Content Improvement**: Use question analytics to refine quiz content
* **Manager Visibility**: Share participant results with their managers
## ๐ Related
* [How to create a quiz](/quizzes/how-to-create-a-quiz) - Build quizzes in the Doozy dashboard
* [Schedule a quiz](/quizzes/schedule-a-custom-quiz) - Send quizzes to your team
* [Quiz step in Tracks](/tracks/steps/quiz) - Automate quizzes in onboarding workflows
# Schedule a quiz
Source: https://help.doozy.live/quizzes/schedule-a-custom-quiz
Schedule and configure quizzes from the Doozy dashboard with flexible delivery options.
Schedule your custom quizzes from the Doozy dashboard with flexible timing, scoring, and delivery options. Perfect for team trivia, training assessments, or recurring knowledge checks. Your team receives and answers the quiz in Slack.
## ๐ Getting Started
1. Go to [doozy.live/app](https://doozy.live/app) and open **Quizzes**
2. Find the quiz you want to send, or [create a new one](/quizzes/how-to-create-a-quiz)
3. Open the quiz's actions menu (**โฎ**) and choose **Schedule**
4. Configure your settings (see below) - each appears as a chip you can expand
5. Save the schedule to launch your quiz
## โ๏ธ Configuration
In the schedule editor, configure the following. Settings are grouped into chips -
expand each to adjust it.
### Delivery
Choose how participants experience your quiz:
| Mode | Description | Best For |
| -------------------- | --------------------------------------- | ------------------------------------- |
| **All at once** | Entire quiz delivered in one go | Quick assessments, timed competitions |
| **One question/day** | Single question posted on selected days | Daily trivia, spaced learning |
| **Full round/day** | Full round posted on selected days | Extended engagement, themed content |
**Full round/day** is only available when your quiz has more than one round.
### Schedule
Timing options depend on your play mode:
**For All at Once:**
* **Date & Time**: Select the exact date and time to post the quiz
**For One Question/Round Per Day:**
* **Time**: What time of day to post (in recipients' timezone)
* **Days**: Which days of the week to post (e.g., weekdays only)
### Scoring
| Mode | Description |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------- |
| **1 pt per correct** | Simple scoring - 1 point per correct answer |
| **Points + speed bonus** | 100 points per correct answer, plus a speed bonus for the first 20 to answer (20 points for 1st, down to 1 for 20th) |
Turn on **Show leaderboard** to rank participants and add friendly competition. Leave it off to keep the quiz non-competitive.
### Introduction Message
*(Optional)* Add a custom message posted before the quiz starts. Great for:
* Setting context or theme
* Explaining rules
* Building excitement
## ๐ Destination
Choose where the quiz will be sent:
| Destination | Description | Example |
| ---------------------------- | -------------------------------------- | ------------------------------ |
| **Slack Channel** | Post directly in a channel | Company-wide trivia |
| **Channel Members** | DM each member of a channel | Private quiz to team members |
| **Individuals** | Send to specific people | Targeted assessment |
| **Groups** | Send to HRIS-synced groups | Department quiz |
| **New Hires** | Send to recently joined employees | Onboarding knowledge check |
| **Managers** | Send to all managers | Leadership training validation |
| **Manager's Direct Reports** | Send to a manager's direct reports | Team-specific quiz |
| **Manager's All Reports** | Send to all reports in a manager's org | Org-wide assessment |
For private channels, make sure Doozy is invited first!
To send to teams/groups, connect Doozy to your HR system first! See [Connect your HRIS](/integrations/how-to-connect-my-hris).
## โ
Completion Settings
### Mandatory Completion
Make quiz completion required:
* **No** *(default)*: Quiz participation is optional
* **Yes**: Participants must complete the quiz
When enabled, configure reminders:
| Setting | Description |
| --------------------------- | ------------------------------------------------------------ |
| **Reminder Interval** | Days between reminder messages (e.g., every 1, 3, or 7 days) |
| **Maximum Reminder Window** | Stop sending reminders after this many days |
| **Custom Reminder Message** | Override the default reminder with your own text |
Reminders aren't sent on weekends and are only sent during working hours.
### Due Date
*(Optional)* Set a soft deadline for completion. Participants see when the quiz is due, encouraging timely responses.
### Expiry Date
*(Optional)* Set a hard deadline when the quiz becomes unavailable. After this date, participants can no longer submit answers.
Expiry date must be after the due date if both are set.
## ๐ Feedback
Collect feedback after quiz completion:
* **Enable feedback**: Add a follow-up question after the quiz
* **Question text**: What you want to ask
* **Question type**: Multiple choice, scale, emoji, NPS, or open-ended
* **Allow comments**: Let participants add additional context
Use feedback to understand:
* Quiz difficulty
* Content relevance
* Learning experience quality
## โญ Best Practices
1. **Match mode to purpose** - Use "All at Once" for assessments, daily modes for engagement
2. **Set appropriate scoring** - Speed bonuses work for fun trivia, simple scoring for training
3. **Use deadlines wisely** - Due dates encourage completion without blocking access
4. **Add context** - Introduction messages help participants understand the purpose
5. **Consider anonymity** - For sensitive training topics, pair with anonymous feedback
6. **Time it right** - Avoid Monday mornings and Friday afternoons for better response rates
## ๐ฏ Common Use Cases
* **Daily Trivia**: One question per day to keep teams engaged
* **Training Assessments**: All-at-once quizzes with mandatory completion
* **Onboarding Knowledge Checks**: Scheduled quizzes for new hires
* **Team Competitions**: Leaderboard-enabled quizzes with speed scoring
* **Compliance Training**: Mandatory quizzes with due dates and reminders
* **Recurring Knowledge Refresh**: Weekly or monthly quizzes on key topics
## ๐ Related
* [How to create a quiz](/quizzes/how-to-create-a-quiz) - Build quizzes in the web app
* [Quiz results and leaderboards](/quizzes/quiz-results) - Track participation and scores
* [Quiz step in Tracks](/tracks/steps/quiz) - Automate quizzes in onboarding workflows
# Quiz Scoring & Leaderboards
Source: https://help.doozy.live/quizzes/scoring
How quiz scores are calculated: points per question, the speed bonus, the out-of-1000 score, Trivia, and leaderboards.
Understand exactly how Doozy scores a quiz: how points are earned, how the
**speed bonus** works, why every quiz is scored **out of 1000**, and how Trivia
is different. To see how scores combine across a series of quizzes, see
[Challenges](/quizzes/challenges).
## โก The short version
A quiz score has two parts:
1. **Correctness**: getting questions right. Each question counts by its **weight**
(Standard, Double, or Triple), set on the quiz.
2. **Speed bonus**: optional extra for answering quickly. Set when you schedule the
quiz (or on a challenge), and **off by default**.
```
each question you get right โ counts for its weight (+ speed bonus, if on)
each question you get wrong โ counts for nothing
```
To keep every quiz comparable, your total is rescaled to a **score out of 1000**.
A flawless run is 1000. Trivia is the one exception and keeps its classic
"points + position" style.
This page describes how scoring works for your team and how to set it up. People
always see their own correct and incorrect results; the leaderboard settings only
control who sees ranks and the board.
## ๐ฅ For your team: what a score means
### Getting answers right
Get a question right and it counts toward your score; get it wrong and it counts
for nothing. There's no penalty for a wrong answer beyond missing out on that
question. Most quizzes count every question equally, though a question can be
**weighted** to count more (see the admin section below).
### The speed bonus
If the speed bonus is turned on, answering quickly earns extra points on top of a
correct answer. The bonus is biggest the instant a question posts and shrinks
steadily until it reaches zero at the end of the **bonus window**. After that, a
correct answer is still worth full correctness points, just no bonus.
The speed bonus can add up to **half again** on top of a correct answer, so a
perfect, instant answer counts for 1.5ร a correct-but-slow one. You're racing the
clock, not other people, so you can earn the full bonus even if you're the only one
playing.
If the speed bonus is **off**, only correctness counts and timing makes no
difference.
### Your "X / Y"
Next to your score you'll see something like **4 / 5**. That's how many you got
right out of how many were **delivered to you**. A delivered question you didn't
answer counts as a miss, so skipping one shows as "3 / 5", not "3 / 3".
### Why your score is out of 1000
A quiz might have 5 questions or 50, and some may count more than others. To keep
every quiz on the same footing (and to let scores add up across a
[challenge](/quizzes/challenges)), Doozy rescales your total to a **score out of
1000**. A perfect run is exactly 1000, and people who tie at the top each get 1000
(ties are never split).
So getting 4 of 5 equally weighted questions right, with no speed bonus, shows as
**800 / 1000**.
### Late answers
If a quiz has a due date and the organizer turned on **partial credit**, answers
submitted after the due date (but before the quiz closes) earn a reduced share of
their normal credit and **no speed bonus**. Answer on time to earn full points.
## ๐ ๏ธ For admins: setting up scoring
Scoring uses the **same controls** in two places:
* **On a single quiz's schedule**: the scoring options when you
[schedule a quiz](/quizzes/schedule-a-custom-quiz).
* **On a challenge**: set once and applied uniformly to every quiz in it
(see [Challenges](/quizzes/challenges)).
### Question weighting
You can't put a custom point value on a question. Instead, each question has a
**weight** that decides how much it counts toward the score:
| Weight | Counts as |
| ---------------------- | ----------- |
| **Standard** (default) | Once |
| **Double** | Twice |
| **Triple** | Three times |
New questions start at Standard. Set a question to Double or Triple to give it a
bigger share of the quiz's 1000 points. With every question at Standard, they all
count equally.
### Speed bonus: on or off
| Setting | What players experience |
| ---------------------------- | ---------------------------------------------------------------------------- |
| **No speed bonus** (default) | Only correctness counts; timing is irrelevant. |
| **Speed bonus** | Faster correct answers earn extra, decaying to zero across the bonus window. |
When the speed bonus is on, you also set the **bonus window**: how long after a
question posts the bonus takes to decay to zero. It defaults to **1 hour** and can
be set in minutes, hours, or days. Shorter windows reward only the very quickest
answers.
The speed bonus tops out at **+50%**: answering the instant a question posts counts
for 1.5ร its normal credit, decaying to no bonus by the end of the window. This
headroom is built into the out-of-1000 rescaling, so a flawless, instant run lands
at exactly 1000 and never more.
### Late submissions
If a quiz has a due date, you choose what a late-but-still-open answer is worth:
| Setting | Effect |
| ------------------------- | -------------------------------------------------------------------------------------------------- |
| **Full points** (default) | Late answers score the same as on-time ones, until the quiz closes. |
| **Partial credit** | Late correct answers earn a set share of their normal credit (default **50%**) and no speed bonus. |
Partial credit only takes effect if the quiz has a due date. Answers after the
quiz fully closes are rejected and never scored.
### Leaderboard visibility
The leaderboard control sets who sees what. People always see their own results
either way, and admins always see the full board.
| Option | What people see |
| --------------- | ----------------------------------------------------------- |
| **Leaderboard** | Everyone sees the full ranked board with names and scores. |
| **Own rank** | Each person sees only their own standing (e.g. "#3 of 24"). |
| **Hidden** | No rank and no board, just each person's own score. |
## ๐ง Trivia is different
Trivia (the recurring weekly or monthly quiz) keeps its classic arcade scoring and
is **not** rescaled to 1000:
* Each correct answer is worth a flat **100 points**.
* The first to answer correctly gets a **+20** position bonus, the second **+19**,
down to **+1** for the 20th, then nothing.
* Boards show raw **"X pts"** plus your rank.
Because that position bonus is about beating the room rather than the clock, Trivia
scores aren't normalized and Trivia can't be part of a [challenge](/quizzes/challenges).
See [Trivia and Icebreakers](/trivia-and-icebreakers/overview) for more.
## ๐ข Worked examples
A 5-question quiz where every question is **Standard** weight, so each is an
equal share of the 1000. Dana gets 4 right.
```
earned = 4 of the 5 equal shares
score = 4 / 5 ร 1000 = 800 โ "800 / 1000", "4 / 5"
```
A 5-question quiz with four **Standard** questions and one **Double**. The
Double counts twice, so the quiz is scored over 6 shares (4 ร 1 + 1 ร 2).
```
miss one Standard question โ earned 5 of 6 shares โ 833 / 1000
miss the Double question โ earned 4 of 6 shares โ 667 / 1000
```
Same number wrong, different score: the Double question carries more weight.
A one-question quiz with the speed bonus on (1-hour window). The most you can
score is 1000, by answering correctly the instant the question posts.
```
correct, instant โ 1000 / 1000 (full speed bonus)
correct, halfway through โ 833 / 1000 (half the speed bonus)
correct, at the window's end โ 667 / 1000 (bonus gone)
wrong โ 0 / 1000
```
A correct answer always beats a wrong one, and among correct answers the
quicker one ranks higher. Only a perfect, instant run reaches 1000.
A trivia question worth the flat 100. Priya answers correctly first, Alex
second.
```
Priya = 100 + 20 (first) = 120 pts
Alex = 100 + 19 (second) = 119 pts
```
Shown raw as "120 pts" and "119 pts" with each player's rank. No /1000 here.
## ๐ What a board looks like
A normal (rescaled) quiz board:
```
๐ Weekly Knowledge Check
1. Dana Okafor 1000 / 1000 ยท 5 / 5
2. Sam Rivera 833 / 1000 ยท 4 / 5
3. Jordan Lee 800 / 1000 ยท 4 / 5
4. Priya Shah 600 / 1000 ยท 3 / 5
```
A Trivia board (raw points + position):
```
๐ง Trivia this week
1. Priya Shah 420 pts
2. Alex Morgan 399 pts
3. Dana Okafor 300 pts
```
## โ FAQ
So every quiz is comparable and scores add up cleanly across a challenge. Your
raw points are rescaled; a perfect run is always 1000.
On a quiz with the speed bonus on, the maximum (1000) assumes you answered every
question correctly **and** instantly. Correct-but-slower answers land below 1000.
No. A wrong answer just earns nothing for that question. There's no negative
scoring.
The score is never split. With no speed bonus, everyone who gets every question
right ties at the full 1000. With the **speed bonus on**, getting everything
right isn't enough to reach 1000 on its own; you also need to be quick. So the
speed bonus is what separates otherwise-tied players, and only a perfect,
instant run hits 1000.
Leaderboards refresh within a few seconds. Re-open the board and it'll catch up.
## ๐ Related
Combine quizzes into one running leaderboard
Set scoring and delivery when you send a quiz
View participation, scores, and feedback
The recurring trivia game and its scoring
# Subscription FAQs
Source: https://help.doozy.live/subscriptions/how-to-manage-your-subscription
Answers to subscription FAQs.
**You'll need to be an admin of the account to access/modify billing**
1. Sign into [doozy.live/app](https://doozy.live/app)
2. Go to **Settings**
3. Click **Upgrade your team**
4. Pick your plan, monthly or yearly billing, and your preferred currency. Then click **Upgrade your team!**
5. You'll be taken to our partner Stripe who securely handles our billing. Fill in your details, and if you're a business make sure that you add in your Tax ID. Then hit Subscribe ๐
6. Success! We'll invoice you monthly or annually. All of your invoices will be available in the billing tab of your settings.
Your plan covers a set number of employees, so adding or removing people does not change your bill until you pass your plan's limit. You can learn more in our billing FAQs.
You'll need to be an admin of the account to access/modify billing
1. Sign into [doozy.live/app](https://doozy.live/app).
2. Go to **Settings**.
3. Click the **Billing**.
4. You'll be taken to the billing dashboard where you can view your current subscription details and make any changes.
5. If you wish to cancel your subscription, click on the **Cancel Subscription** button and follow the prompts to confirm the cancellation. Your subscription will be cancelled at the end of your current billing period.
6. Your subscription modifications will take effect immediately, and you'll be charged accordingly on your next billing cycle.
Plans are based on the number of employees in your organization. Core covers up to 350 employees and Scale up to 1,000. Above that, or if you need SLA guarantees and custom contracts, talk to us about Enterprise.
Your bill does not change as people join or leave, because pricing is flat rate rather than per user. If your team grows past your plan's employee limit, you can upgrade to the next tier at any time.
# Time Off Announcements
Source: https://help.doozy.live/time-off-announcements/overview
Automatically share who's out of office with your team - daily or weekly summaries in Slack.
Keep your team informed about who's away. Doozy posts time off summaries to channels, groups, or individuals on a schedule you choose - daily or weekly.
***
## ๐ Getting Started
1. Go to [doozy.live/app](https://doozy.live/app) and open **Time Off**
2. Create a new time off announcement
3. Configure your settings (see below)
4. Save and you're done!
Make sure to [connect your HRIS](/integrations/how-to-connect-my-hris) first so Doozy can access time off data.
***
## โ๏ธ Configuration
### ๐ฅ Whose Time Off to Announce
Choose which users' time off should be included in announcements:
| Option | Description |
| ------------------- | --------------------------------------------------- |
| **Channel members** | All members of a specified channel |
| **Groups** | All users in a group (e.g., Engineering, Marketing) |
| **Individuals** | Specific users you select |
### โฐ Frequency
| Option | Description |
| ---------- | ----------------------------------------- |
| **Daily** | Post a summary on weekdays |
| **Weekly** | Post a weekly summary on a day you choose |
You can also set the specific time announcements should be posted.
Time off data syncs from your HRIS once every 24 hours.
### ๐ Where to Post
| Destination | How It's Delivered |
| --------------------------- | ------------------------------------------------- |
| **Post in a channel** | Public message visible to everyone in the channel |
| **Send to channel members** | Private DM sent to each member of a channel |
| **Send to group members** | Private DM sent to each member of a group |
| **Send to an individual** | Private DM to one person (e.g., a team manager) |
***
## ๐ What's Included
Each announcement shows:
* Who is out today (or this week)
* The type of time off (if available from your HRIS)
* Return dates when known
***
## ๐ฏ Common Use Cases
| Use Case | Recommended Setup |
| ---------------------- | -------------------------------------------- |
| **Team awareness** | Post to team channel every weekday morning |
| **Manager visibility** | Send to manager as individual DM |
| **Company-wide** | Post to #general every Monday |
| **Department updates** | Post to department channel for group members |
***
## โญ Best Practices
| Practice | Why It Works |
| ---------------------------------------- | ---------------------------------------------------- |
| **Post in the morning** | Gives teams visibility before the day starts |
| **Use Monday summaries for small teams** | Reduces noise while keeping everyone informed |
| **Send to managers privately** | Helps with planning without broadcasting to everyone |
| **Match audience to scope** | Engineering time off โ #engineering channel |
***
## ๐ ๏ธ Managing Announcements
To update, pause, or cancel time off announcements:
1. Go to [doozy.live/app](https://doozy.live/app) and open **Time Off**
2. Find your time off announcement
3. Use its actions menu (**โฎ**) to edit, pause, or cancel it
***
## ๐ Related
Sync time off data from your HR system
# How to Manually Add a User to a Track
Source: https://help.doozy.live/tracks/add-a-user-to-a-track
Learn how to manually add a user to a track in Doozy.
To manually add a user to a track, follow these steps:
1. Go to [doozy.live/app](https://doozy.live/app) and open **Tracks**.
2. Select the active track you want to add a user to.
3. Choose **Enroll users**.
4. Choose who to enroll and set their timing.
5. Select **Enroll**.
Doozy starts the enrollment now or at the time you schedule.
## Enrollment options
When you enroll people manually, you can change the Track's timing for this group:
* **Catch up on overdue steps**: starts with the Track setting. When on, overdue steps run in order during working hours. When off, Day 1 moves to the next working day.
* **Override working days and hours**: off by default. Turn it on to choose the working days and overdue catch-up hours for the people you enroll now.
When the override is off, the enrollment uses the Track's Working Hours. If the Track uses the workspace policy, the enrollment uses that too. Older Tracks keep their saved working days and use the workspace's hours.
A scheduled start uses your time zone. Future step times and overdue catch-up hours use each recipient's time zone. Doozy uses the default timezone only when a recipient has no time zone.
# Create a Track
Source: https://help.doozy.live/tracks/create-a-track
Build multi-step workflows for onboarding, training, and recurring processes.
Tracks are automated workflows that guide users through a sequence of steps - messages, quizzes, surveys, tasks, introductions, and more. Perfect for onboarding, training, and recurring processes.
Anyone can create a Track, and a Track can be edited by an Owner or by anyone
added as an admin of that Track. Activating a Track requires an Owner or
Manager. Cohort Tracks are managed by their cohort program's editors - see
[Cohort](/tracks/triggers/cohort).
***
## ๐ Getting Started
1. Go to [doozy.live/app](https://doozy.live/app) and open **Tracks**
2. Click to create a new track
3. Either **describe your track to the AI builder** (it drafts the steps and timing
for you to review) or choose **Build manually**
4. Set a trigger, add steps, then save or activate
The more you tell the builder about how your team actually works, the more of
the track is yours rather than generic. Where it has to fall back on general
knowledge of the topic it says so in its reply, and names what it was missing,
so you know what to send.
For a quiz, survey, or poll step, the AI builder first checks whether your
account already has one that clearly fits - anything you could already pick by
hand from your library (your own active quizzes and scheduled surveys/polls,
each with real questions in them). On a confident match it attaches that
instead of writing new content, and names it in its reply; anything less
certain writes fresh content, same as before. Remove the activity from its
step to bring back the picker and choose something else, or tell the AI to
write new content and it'll skip your library for that track. The same item is
never reused twice in one track, and editing a reused item updates it
everywhere it's used.
***
## ๐งฑ The Track Builder
A track is built on a visual canvas: a **trigger** at the top, followed by a sequence
of **steps** connected in a flow. Give your track a **name** (and an optional
description) in the builder.
### 1. Choose a trigger
The trigger decides how people enter the track. Pick one:
| Trigger | Description |
| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **First day** | Runs on someone's first day, once they've joined Slack |
| **Manual enrollment** | You enroll people yourself, from the dashboard or via the API |
| **On a schedule** | Runs on a recurring schedule for a chosen set of people |
| **Work anniversary** | Runs around people's work anniversaries |
| **Cohort** | Runs when a cohort opens or when people join it - attach it from the trigger picker or from a cohort program's page while the track is a draft; once it's live, the program and run mode lock |
You can also turn on **Allow people to self-join this track**, and use **Advanced
filters** to limit who enters by group, country, work location, or manager status.
[Learn more about triggers โ](/tracks/triggers/overview)
### 2. Add steps
Add steps with the **+** button on the canvas. Steps are grouped by purpose:
| Group | Steps |
| ----------------- | -------------------------------- |
| **Communication** | Message |
| **Activities** | Quiz, Survey, Poll, Tasks |
| **People** | Introductions, Mentor Assignment |
| **Automation** | Add to Track, Webhook |
Each step has a **destination** (who receives it) and its own settings. Reorder
steps on the canvas to control the flow.
A track can include only one Mentor Assignment step.
[Learn more about step types โ](/tracks/steps/overview)
### 3. Set the timing
Every step runs on a day of the track (Day 1, Day 7) at a **send time** shown
next to its title (9:00 AM by default). Click the **+** between steps and
choose **Send on a day** to start a new day; day dividers group the steps on
the canvas. Days count the Track's **working days** (Monday to Friday by
default), so steps skip any day the Track does not run. Day 1 is the member's
first day on the Track.
New Tracks use the workspace's working days and hours unless you override them.
A legacy Track with no `working_hours` keeps its previous working days while
inheriting the workspace (or default) hours. Working days and overdue catch-up
hours use each recipient's time zone. If a recipient has no time zone, Doozy
uses the default timezone in the policy. Working hours do not move a future
step's send time. See [Step timing](/tracks/steps/timing) for defaults,
time zone behavior, and validation.
### 4. Save or activate
The builder has two actions:
* **Save Draft** - saves your track without running it
* **Activate** - validates the track and makes it live so it starts triggering for users
Editing an active track that already has people partway through it applies
your changes to them as they reach their next step. For larger changes,
duplicate the track instead so current enrollees finish the version they
started.
***
## โ๏ธ Managing a track
Open a track from the **Tracks** list to reach its detail page, where you can:
* **Edit** the track in the builder
* **Pause** and **Resume** it. Pausing stops anyone new being added; people
already part-way through finish their remaining steps, and a cohort track's
running cohorts deliver to the end. To stop a track for everyone, including
those mid-track, archive it instead
* **Archive**, **Duplicate**, or **Delete** it. Archiving a track attached to a
[cohort program](/cohorts/overview) warns you first, naming the program (see
[Cohort](/tracks/triggers/cohort#attach-a-track-to-a-cohort-program))
* Manage **Admins** - other people who can manage the track
* **Enroll users** manually and view each enrollee's progress
***
## ๐ Example: Onboarding Track
| Day | Step | Description |
| ------ | ------------- | ----------------------------------- |
| Day 1 | Message | Welcome message with first-day info |
| Day 1 | Introductions | Connect with their buddy |
| Day 3 | Poll | "How's your first week going?" |
| Day 7 | Survey | First week feedback survey |
| Day 14 | Tasks | Complete compliance training |
| Day 30 | Survey | 30-day check-in |
***
## โญ Best Practices
| Practice | Why It Works |
| ---------------------------- | ---------------------------------------------------------- |
| **Start simple** | Begin with a few steps and add more over time |
| **Space steps across days** | Pace steps so users aren't overwhelmed |
| **Review before activating** | Read the track top to bottom and check the flow end to end |
| **Keep content fresh** | Review and update tracks regularly |
| **Assign multiple admins** | Ensure continuity if someone leaves |
***
## ๐ Related
How users enter tracks
All available step types
Monitor user progress through tracks
Manually add users to a track
# Tracks: Automate onboarding and training
Source: https://help.doozy.live/tracks/overview
Build automated workflows with messages, quizzes, surveys, and more - triggered by events or schedules.
**Tracks** are automated workflows that guide users through a series of steps. Use them
to onboard new hires, deliver training, run check-ins, and automate any recurring
process. You build tracks in the Doozy dashboard, and your team experiences them in Slack.
Copy-and-paste prompts for the AI track builder, organized by use case -
onboarding, training, surveys, security, engagement, and more.
## โจ What You Can Do
* **Automate onboarding**: Welcome new hires with messages, introductions, and training
* **Deliver training**: Send quizzes, surveys, and learning content on a schedule
* **Run check-ins**: Automated pulse checks at key milestones (30/60/90 days)
* **Assign mentors**: Pair new hires with mentors automatically
* **Trigger on events**: Start tracks on someone's first day, on anniversaries, on a schedule, or per cohort
* **Track progress**: Monitor completion and send reminders for mandatory steps
## ๐งฉ Steps
Steps are the building blocks of a track. Each step performs an action - sending a message, delivering a quiz, collecting feedback - and runs on a day of the track at its own send time.
Send automated messages to users, managers, or channels
Collect quick feedback with single-question polls
Gather detailed insights with multi-question surveys
Test knowledge with interactive quizzes
Schedule each step by day and send time
Connect people with automated introductions
Pair users with mentors automatically
Assign and track task completion
Enroll users in another track automatically
## โก Triggers
Triggers determine when and how users are added to a track.
Start on someone's first day, once they've joined Slack
Trigger on employee work anniversaries
Run at specific times and intervals
Add people yourself when you need precise control
Run once per cohort or for each person when the cohort starts
## ๐ฏ Common Use Cases
| Use Case | Trigger | Key Steps |
| ---------------------------- | ---------------------------------- | --------------------------------------------------- |
| **New hire onboarding** | First day | Messages, Introductions, Mentor Assignment, Quizzes |
| **30/60/90 day check-ins** | First day | Surveys and Polls scheduled on Day 30/60/90 |
| **Onboarding classes** | Cohort | Messages, Quizzes, Surveys |
| **Training programs** | On a schedule or Manual enrollment | Messages, Quizzes, Surveys |
| **Manager onboarding** | Manual enrollment | Messages, Tasks, Surveys |
| **Anniversary celebrations** | Work anniversary | Messages |
| **Compliance reminders** | On a schedule | Messages, Quizzes |
Day 1 is the member's first day on the Track. On a [First
day](/tracks/triggers/first-day) Track, that is the later of their start date
and the day they join Slack. On a per-person [cohort](/tracks/triggers/cohort)
Track, it is the cohort's first day. Days count the Track's working days,
which are Monday to Friday by default. Day 30 is the member's 30th working
day, about six calendar weeks after enrollment on the default week. See [Step
timing](/tracks/steps/timing).
## ๐ Quick Links
Step-by-step guide to building your first track
Copy-and-paste prompts for the AI builder, by use case
What users see when enrolled in a track
Let users browse and join tracks themselves
Monitor user progress and track completion
Manually add users to a track
Pre-built templates for common use cases
## ๐ Getting Started
1. **[Create a track](/tracks/create-a-track)** and give it a name
2. **Choose a trigger** - first day, manual enrollment, schedule, anniversary, or cohort
3. **Add steps** - messages, quizzes, surveys, and more, each scheduled on its own day
4. **Activate** and watch your automation run!
# Track Prompt Library
Source: https://help.doozy.live/tracks/prompt-library
Copy-and-paste prompts for the AI track builder โ onboarding, training, check-ins, security, and enablement tracks.
Tracks are automated, multi-step workflows your team experiences in Slack: onboarding,
training, check-ins, and recurring programs. The fastest way to build one is to
**describe it to the AI track builder** and let it draft the steps and timing for you
to review.
This page is a library of prompts to get you there. Pick a use case, copy a prompt,
paste it into the builder, then tweak the result.
These prompts all build **tracks** โ sequences of steps. For one-off activities like
a standalone quiz, survey, icebreaker, or celebration, start from the matching
section of the dashboard instead.
## ๐ How to use a prompt
Go to [doozy.live/app](https://doozy.live/app), open **Tracks**, and start a new
track.
Copy any prompt from the library below and drop it into the builder's prompt box.
Edit the details โ channels, timing, audience โ to match your team.
Drop in a handbook, deck, policy, or checklist and the builder will pull real
content into the steps instead of placeholders.
The builder drafts the trigger, steps, and timing. Check the flow end to end,
then **Save Draft** or **Activate**.
Prompts are a starting point, not a fixed recipe. Be specific about audience,
timing, and tone, and you'll get a closer first draft.
## ๐๏ธ Browse by use case
**New hire onboarding.** A guided two-week onboarding with a checklist, intros, and a check-in.
```text theme={null}
Build a two-week onboarding track that starts when a new hire joins. Send a first-day
welcome, a first-day checklist, a short quiz on how we work, two teammate
introductions, and a two-week check-in survey.
```
**New hire first week.** A fast, guided first five days for new starters.
```text theme={null}
Create a light 5-day onboarding track for new starters with a short message each
day and a first-week check-in survey.
```
**Day 1 IT & access setup.** Alerts IT to provision a new hire and hands them a checklist.
```text theme={null}
When someone joins, alert IT in #it-help to provision their accounts and send the
new hire a Day 1 checklist of the access and tools they should have.
```
**New hire team announcement.** Auto-introduces every new hire in a team channel on Day 1.
```text theme={null}
When a new hire joins, post a warm welcome introduction about them in our #team
channel on their first day.
```
**Buddy & mentor program.** Pairs each new hire with a guide and runs a 12-week program.
```text theme={null}
Assign every new hire a buddy on Day 1 and run a 12-week program with a shared DM
and a weekly conversation prompt for the pair.
```
**New manager onboarding.** First 90 days for a newly promoted manager.
```text theme={null}
Build a 90-day onboarding track for newly promoted managers covering a stakeholder
map, expectations, a 1:1 cadence, and a primer on our people policies.
```
**People Ops onboarding.** An HR-led 30-day onboarding with paperwork and benefits.
```text theme={null}
Create an HR-led 30-day onboarding track covering compliance paperwork, benefits
enrollment, HRIS data, and a manager-loop check-in.
```
**Sales rep onboarding.** A 30-60-90 ramp from kickoff to first closed-won.
```text theme={null}
Onboard new sales reps over 30-60-90 days: pitch, ICP, CRM workflow, call
shadowing, and first deal milestones.
```
**CSM onboarding.** A 45-day ramp for new Customer Success hires.
```text theme={null}
Ramp new Customer Success hires over 45 days with call shadowing, account handoffs,
their first EBR, and product fluency checks.
```
**30-60-90 check-ins.** Stage-appropriate check-ins on every new hire, with manager visibility.
```text theme={null}
Check in on every new hire at 30, 60, and 90 days with a short survey step, and
share the results with their manager.
```
**Product mastery program.** Build real product fluency, week by week.
```text theme={null}
Build a 6-week product knowledge track with a spaced quiz step each week and a
short reinforcement message between them.
```
**New manager track.** The manager basics, spaced over six weeks.
```text theme={null}
Create a 6-week self-paced track for first-time managers covering the management
basics, one topic a week.
```
**Emerging leaders development.** Build the next generation of leaders.
```text theme={null}
Build an 8-week leadership development program for high-potential individual
contributors stepping into leadership.
```
**Feedback fundamentals.** Make giving and receiving feedback a team habit.
```text theme={null}
Run a 4-week self-paced track on giving and receiving feedback, ending with a
peer-feedback exercise.
```
**Security & compliance training.** Five short quiz steps over two weeks, completion tracked.
```text theme={null}
Build a two-week security training track with five short quiz steps โ phishing,
passwords, data handling, AI threats, and incident reporting. Make completion
mandatory and track it.
```
**Security onboarding sprint.** Gets new hires provisioned, MFA'd, and policy-acknowledged.
```text theme={null}
Create a two-week security onboarding sprint that gets new hires provisioned, on
MFA, and signed off on our policies.
```
**Annual security refresher.** Audit-grade compliance, once a year.
```text theme={null}
Set up a 4-week all-staff annual security refresher track covering the topics that
change year on year.
```
**Policy acknowledgment track.** Walks every employee through policy sign-off, one by one.
```text theme={null}
Walk every employee through our four core policies one by one with a recorded
acknowledgment for each. Repeat annually.
```
**Pitch certification.** Every rep certified on the pitch, quarterly.
```text theme={null}
Build a pitch certification track with a positioning quiz, a role-play exercise,
manager sign-off, and a quarterly recert.
```
**Customer health playbooks.** Run the motions that move retention.
```text theme={null}
Run a 4-week track on the playbooks CSMs use: at-risk accounts, expansion
conversations, executive escalations, and renewals.
```
## ๐งฑ Prompt building blocks
Mix these into any prompt to shape the track. The more you specify, the closer the
first draft.
| Want this | Add something like |
| ----------------------------------- | ---------------------------------------------------------------- |
| Start automatically for new joiners | "...starts when a new hire joins" |
| Run on a recurring schedule | "every Monday at 9am", "monthly", "each quarter" |
| Trigger on work anniversaries | "on their work anniversary" |
| Enroll people yourself | "I'll add people manually" |
| Let people opt in | "let users self-join this track" |
| Loop in the manager | "and let their manager know", "share results with their manager" |
| Post in a channel | "post in #team", "announce in #general" |
| Add a required quiz step | "add a mandatory quiz and send reminders" |
| Space steps out | "a few days between steps", "spread it over 4 weeks" |
| Add an anonymous survey step | "add an anonymous check-in survey" |
| Assign a buddy or mentor | "pair each new hire with a buddy" |
| Group people together | "put the cohort in a shared Slack channel" |
| Use your own content | attach a handbook, deck, policy, or checklist |
| Skip your existing quizzes/surveys | "write new quizzes", "don't use our existing surveys" |
## ๐ก Tips for better prompts
| Tip | Why it helps |
| ---------------------------- | ----------------------------------------------------------------------------------- |
| **Name the audience** | "new sales reps", "the whole company", "new managers" sets the right tone and steps |
| **Give the timeline** | "over two weeks", "30-60-90", "every Monday" shapes which day each step lands on |
| **Say who else is involved** | Mention managers, buddies, IT, or a channel to add the right destinations |
| **Attach real content** | A handbook or deck turns placeholders into your actual material |
| **Start small, then refine** | Generate a draft, then ask the builder to add, remove, or reword steps |
## ๐ Related
Step-by-step guide to building a track
Full step-by-step example structures
How users enter a track
Every step you can add
# How to Remove a User from a Track
Source: https://help.doozy.live/tracks/remove-a-user-from-a-track
Learn how to remove a user from a track in Doozy, and what happens to their outstanding items when you do.
To remove a user from a track:
1. Go to [doozy.live/app](https://doozy.live/app) and open **Tracks**.
2. Select the track they're enrolled in.
3. In the **Enrollees** list, find them (search by name/email, or filter by status) and click their row to open their enrollment.
4. Click **Remove from track**.
5. Confirm in the dialog.
Removal is immediate: they stop receiving any further steps in the track, and it can't be undone. To onboard them again, re-enroll them from the top.
**Remove from track** is available for any enrollment that hasn't finished yet, including one that's **Delivered** - meaning every step has gone out but the user still has open items to complete. It's not available once an enrollment is **Completed**, **Failed**, or already **Canceled**.
## What removal cancels
Removing someone doesn't just stop future steps - it also cancels everything that enrollment had already opened for them:
* **Open quizzes, surveys, and polls** are canceled. Their interactive Slack messages are updated to show that they are closed, and any buttons are removed. Shared surveys stay open for other people.
* **Open tasks** from that track are canceled, and Doozy redraws each task's Slack message so it no longer offers buttons for something that can't be done anymore.
* **Task reminders stop.** This includes an action task that was sitting with someone else about this person - like "Assign a mentor for \[Name]" - which is also canceled, so a track admin doesn't get pinged a day later to pick a buddy for someone no longer on the track.
* **Pending invitations to join another track** (sent from an Add User to Track step) are canceled and their interactive Slack messages are closed.
* **Introductions that were arranged but hadn't happened yet** are canceled. Only an introduction confirmed as having happened is left alone.
## What removal never touches
* **An already-assigned mentor.** If they'd already been paired with a mentor, that pairing stays in place - only a still-pending "assign a mentor" task is canceled.
* **Activities shared with other people.** On a cohort or group track, a quiz or survey other enrollees are still using is never stopped - only one this removed enrollment owned on its own.
* **Informational messages already delivered.** Welcome notes, policies, and other non-interactive messages stay in Slack history. Removal only updates interactive messages that represented work which was canceled.
The same cleanup happens whenever an enrollment ends before completing, not just from the **Remove from track** button: when someone is excluded or moved out of a cohort, and when they're offboarded, disabled, or deleted as a member.
# Self-Join Tracks
Source: https://help.doozy.live/tracks/self-join-tracks
Let users browse and join tracks themselves from the Doozy home screen.
Self-join tracks allow users to discover and enroll in tracks on their own - no admin action required. This is perfect for optional training, professional development, or any track where users should choose to participate.
Self-join is an optional setting that works alongside any trigger type. Admins can enable it when creating or editing a track.
***
## ๐ How Users Find Tracks
Users can browse available tracks from two places:
### From the Doozy Home Screen
1. Open **Doozy** from your Slack sidebar
2. Click **๐ค๏ธ Tracks**
3. View the **Tracks available to join** section
4. Click **Browse All Tracks** to see the full list
### From the Tracks Modal
1. Open the Tracks modal (via the home screen or app shortcuts)
2. Scroll to **Tracks available to join**
3. Click **Join** on any track to get started
***
## โ
Joining a Track
When a user clicks **Join** on an available track:
1. **Preview**: A modal shows what to expect - the track name, description, and number of steps
2. **Confirm**: Click **Join Track** to enroll
3. **Success**: A confirmation message appears, and the first step arrives soon
Once enrolled, users can view their progress in the **Enrolled Tracks** section of the Tracks modal.
***
## ๐ค Eligibility
Not all tracks appear in the browse list. A track is available to join when:
| Requirement | Description |
| ------------------------ | ------------------------------------------------------------------------------------- |
| **Self-join enabled** | Admin has turned on "Allow users to self-join" |
| **Track is active** | Track status is set to Active (not Draft or Paused) |
| **Not already enrolled** | User isn't currently on this track |
| **Passes filters** | User meets any configured filters (groups, countries, work locations, manager status) |
If you don't see a track you're expecting, check with your admin - it may have filters applied or self-join disabled.
***
## ๐ View Your Enrolled Tracks
After joining, you can track your progress:
1. Open **Doozy** from your Slack sidebar
2. Click **๐ค๏ธ Tracks**
3. View the **Enrolled Tracks** section
You'll see:
* Track name and description
* Progress indicator (e.g., "Step 2 of 5")
* Completed status when finished
***
## โ๏ธ For Admins: Enabling Self-Join
To allow users to self-join a track:
1. Go to [doozy.live/app](https://doozy.live/app) and open **Tracks**
2. Create a new track or edit an existing one
3. Find **Allow users to self-join this track?**
4. Select **Yes - Users can browse and join**
5. Save the track
| Setting | Behavior |
| ----------------------------------- | --------------------------------------------------- |
| **Yes - Users can browse and join** | Track appears in the browse list for eligible users |
| **No - Admin managed only** | Track only adds users via its trigger (default) |
Self-join works alongside your chosen trigger. For example, a track can automatically add new hires via the "First day" trigger AND allow existing employees to self-join for optional training.
### Controlling Who Can Join
Use **Filters** to limit which users can see and join the track:
* **Groups**: Only members of specific groups
* **Countries**: Only users in certain countries
* **Work locations**: Only users at specific locations
* **Manager status**: Only managers or non-managers
Users who don't match the filters won't see the track in their browse list.
***
## โ Troubleshooting
### "No tracks available to join"
This means either:
* No tracks have self-join enabled
* You're already enrolled in all available tracks
* You don't meet the filter criteria for available tracks
Contact your admin if you believe you should have access to a track.
### Track disappeared from browse list
This can happen if:
* You joined the track (check Enrolled Tracks)
* The admin disabled self-join
* The admin paused or deactivated the track
* Filter criteria changed and you no longer qualify
***
## ๐ Related
Build multi-step workflows for onboarding and training
Monitor user progress through tracks
How users are automatically added to tracks
Pre-built templates for common use cases
# Step: Add User to Track
Source: https://help.doozy.live/tracks/steps/add-user-to-track
Automatically enroll users in other tracks as they progress.
The **Add User to Track** step enrolls users in another track. Use it to build learning paths, chain onboarding phases, or offer optional advanced training.
Both tracks run concurrently: adding to a new track doesn't pause or end the current one.
## โ๏ธ Configuration
### Track Selection
Choose the destination track from the dropdown. Only active tracks are available, and you cannot select the current track.
### Enrollment Method
| Method | Description | Best For |
| ------------- | ------------------------------------ | ----------------------------------------------------- |
| **Automatic** | Enroll immediately without asking | Required sequences, compliance, mandatory training |
| **Manual** | Send invitation: user clicks to join | Optional programs, advanced training, specializations |
### Manual Enrollment Fields
When using manual enrollment:
* **Invitation message**: Explain the track's value and what they'll learn
* **Join button text**: Customize the CTA (e.g., "Level Up!", "Get Started")
If someone is [removed from the track that sent the invitation](/tracks/remove-a-user-from-a-track) before they've clicked to join, the invitation is canceled with it.
### Confirmation Message
Optional message sent after enrollment. Defaults to: "You've been added to the track! ๐"
### Re-enrollment
| Setting | Behavior |
| ---------------- | ------------------------------------------- |
| **No** (default) | Skip users who previously started the track |
| **Yes** | Enroll again, creating a new track instance |
Re-enrollment creates a new instance. Previous progress is preserved separately.
## โจ Personalization
Use placeholders in messages:
* `{{user}}`: The participant's name
* `{{manager}}`: Their manager's name
## โญ Best Practices
1. **Use automatic for required sequences**: Day 1 โ Week 1 โ Month 1 should be seamless
2. **Use manual for optional content**: Let users choose advanced or specialized tracks
3. **Sell the value in invitations**: Clear benefits increase acceptance rates
4. **Avoid loops**: Never create A โ B โ A circular enrollments
5. **Leave room before enrollment**: Schedule it a few days after the last step so users finish the current phase first
See [Track Examples](/tracks/track-examples) for multi-track onboarding journeys.
## ๐ฏ Common Use Cases
* **Sequential Onboarding**: Day 1 โ Week 1 โ Month 1 phases
* **Learning Pathways**: Fundamentals โ Intermediate โ Advanced
* **Role-Based Training**: General onboarding โ role-specific content
* **Optional Enrichment**: Invite top performers to leadership development
* **Manager Workflows**: Auto-enroll managers when their reports start onboarding
## ๐ Related Steps
* [Step Timing](/tracks/steps/timing): Add time between phases before enrollment
* [Step: Message](/tracks/steps/message): Set context before offering a new track
* [Step: Quiz](/tracks/steps/quiz): Verify knowledge before advancing to next level
* [Step: Survey](/tracks/steps/survey): Collect preferences for track recommendations
# Step: Introductions
Source: https://help.doozy.live/tracks/steps/introductions
Automatically introduce users to team members with 1:1 conversations and meeting scheduling.
The **Introductions** step creates 1:1 Slack conversations between the track participant and people they should meet. Each introduction includes meeting scheduling buttons and optional reminders. Perfect for onboarding, team building, and cross-functional networking.
## โ๏ธ Configuration
### Introduction Target
Choose who the user should be introduced to. Each person gets a separate 1:1 DM with the user.
| Destination | Description |
| ------------------------- | ---------------------------------------------- |
| **Manager** | Introduce to the user's direct manager |
| **Specific People** | Handpick individual users |
| **Slack Channel Members** | All members of a channel |
| **Groups** | Members of organizational groups |
| **Mentor** | Assigned mentor (requires mentor step earlier) |
**Max matches**: Limit how many people from a channel/group to introduce to (max 10).
Even with large channels, introductions are capped at 10 people to keep it manageable.
### Introduction Message
Write the message both parties see when introduced. Supports rich text and placeholders (`{{user}}`, `{{manager}}`, `{{mentor}}`). On a [cohort track](/tracks/triggers/cohort), `{{cohortChannel}}`, `{{cohortMembers}}`, and `{{cohortFacilitators}}` are also available; see [Step: Message](/tracks/steps/message#placeholders) for what each one does.
## โฐ Schedule Settings
| Setting | Options |
| ----------------- | ---------------------------------------------- |
| **Delivery Time** | Immediate (blank) or scheduled time |
| **Frequency** | All at once, Daily, Weekly, Bi-weekly, Monthly |
Stagger introductions over time to avoid overwhelming new hires with 20 DMs on day 1.
## ๐ค Meeting Settings
| Setting | Description |
| --------------------- | -------------------------------------------------------- |
| **Duration** | Default meeting length (15, 30, 45, 60 min) |
| **Meeting Locations** | Zoom, Google Meet, Teams, Doozy, In Person, Other |
| **Reminders** | None, 1 reminder, or 2 reminders if no meeting scheduled |
Offer 3-4 platform options for flexibility. Reserve 2 reminders for critical introductions only.
## โญ Best Practices
1. **Start small**: Manager first, then team, then broader org
2. **Stagger across days**: Space intro waves across weeks
3. **Be selective**: 5-10 meaningful intros beat 50 superficial ones
4. **Clear next steps**: "Schedule 30 min this week" beats "connect sometime"
5. **Match reminders to importance**: 2 for manager, 1 for team, 0 for optional
See [Track Examples](/tracks/track-examples) for complete onboarding tracks using introductions.
## ๐ฏ Common Use Cases
* **New Hire Onboarding**: Introduce to manager, team, and key stakeholders
* **Cross-Functional Networking**: Connect with other departments
* **Leadership Visibility**: Give new employees face time with executives
* **Buddy Programs**: Pair new hires with onboarding buddies
* **Remote Integration**: Connect distributed team members
## ๐ Related Steps
* [Step: Mentor Assignment](/tracks/steps/mentor-assignment): Dedicated mentor relationship
* [Step: Message](/tracks/steps/message): Context before introductions
* [Step Timing](/tracks/steps/timing): Space out introduction waves
* [Step: Poll](/tracks/steps/poll): Check in on introduction progress
# Step: Mentor Assignment
Source: https://help.doozy.live/tracks/steps/mentor-assignment
Automatically pair users with mentors from a designated pool.
The **Mentor Assignment** step pairs the track participant with a mentor from your designated pool. Doozy creates a group DM between them and enables subsequent steps to message the mentor or the pair. Smart matching balances workload across mentors.
Only one mentor assignment step is allowed per track.
## โ๏ธ Configuration
### Mentor Pool
Choose where mentors are selected from:
| Source | Description |
| ------------------------- | ------------------------------------ |
| **Specific People** | Handpick individual users as mentors |
| **Slack Channel Members** | All members of a channel |
| **Groups** | Members of organizational groups |
### Delivery Time
* **Immediate**: Leave blank to assign when step triggers
* **Scheduled**: Select a time (e.g., 9:00 AM), based on user's timezone
## ๐ง Smart Matching
Doozy uses round-robin matching that considers:
* **Workload balancing**: Distributes assignments evenly across the pool
* **Location**: Prefers mentors in similar locations
* **Timezone**: Prefers mentors in similar timezones
## ๐ฌ Unlocked Destinations
After this step, you can send messages to:
| Destination | Use For |
| ----------------- | ------------------------------------------------------------- |
| **Mentor** | Private guidance, check-ins with the mentor only |
| **Mentor & User** | Group DM welcome messages, shared resources, check-in prompts |
Always add a message step to the group DM after assignment so both parties know they've been paired!
## โญ Best Practices
1. **Size your pool**: 5-10 mentors per 20-30 mentees prevents burnout
2. **Notify immediately**: Send a group DM welcome right after assignment
3. **Set expectations**: Share mentor guidelines in the first message
4. **Schedule check-ins**: Space messages across days to prompt engagement
5. **Collect feedback**: Add surveys at key milestones
See [Track Examples](/tracks/track-examples) for complete mentorship track templates.
## ๐ฏ Common Use Cases
* **New Hire Onboarding**: Pair new employees with experienced buddies
* **Intern Programs**: Assign full-time mentors to interns
* **Skills Development**: Connect learners with subject matter experts
* **Leadership Development**: Pair high-potentials with senior leaders
* **Remote Integration**: Help remote workers connect with team members
## ๐ Related Steps
* [Step: Message](/tracks/steps/message): Send welcome messages to the group DM
* [Step: Introductions](/tracks/steps/introductions): Additional networking beyond the mentor
* [Step: Survey](/tracks/steps/survey): Collect mentorship feedback
* [Step Timing](/tracks/steps/timing): Space out check-ins
# Step: Message
Source: https://help.doozy.live/tracks/steps/message
Send automated messages to users, managers, or Slack channels as part of your track.
The **Message** step sends automated messages to specific recipients as part of your track. Use it for welcome notes, reminders, manager updates, team announcements, and more. Messages support Slack formatting and personalization with placeholders.
## โ๏ธ Configuration
### Message Content
Write your message using Slack's rich text editor. You can use formatting like **bold**, *italic*, bullet points, links, and emojis.
### Placeholders
Personalize messages with dynamic placeholders. Click a chip below the message
editor to insert one at the cursor, and it appears as a pill in the text.
| Placeholder | Inserts | Available on |
| ------------------------ | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- |
| `{{user}}` | The track participant's name | Every track except [Once per cohort](/tracks/triggers/cohort) tracks |
| `{{manager}}` | The participant's manager | Every track except Once per cohort tracks |
| `{{mentor}}` | The assigned mentor (if available) | Every track except Once per cohort tracks |
| `{{cohortMembers}}` | The cohort's roster: an @mention for each member connected to Slack, their name or email otherwise | [Cohort tracks](/tracks/triggers/cohort) only |
| `{{cohortFacilitators}}` | The cohort's facilitators, in the same format | Cohort tracks only |
| `{{cohortChannel}}` | The cohort's onboarding channel | Cohort tracks only |
`{{cohortChannel}}` becomes a clickable channel mention in Slack, or the plain
channel name (like `#cohort-channel`) in an email step, since email can't link
a Slack channel. If the cohort has no onboarding channel, or one hasn't been
created yet, the reference is simply left out and the rest of the message
sends as written, never a raw `{{cohortChannel}}` token or a dead link.
**Example:**
```
Hi {{user}}! ๐
Welcome to the team! Your manager {{manager}} will reach out
to schedule your first 1:1 this week.
```
### Images
Put a picture inside the message itself: paste one from your clipboard, drag an image file onto the message, or use the image button in the formatting toolbar. It lands at your cursor, or wherever you drop it. Inserting one mid-sentence splits the text above and below the image.
* Up to 10 images per message
* PNG, JPG, GIF, or WebP, up to 25MB each
* Alt text is taken from the filename; there's no separate caption field
* Renders full width, matching how Slack displays an image block; the editor caps its height so a tall image doesn't take over the step
While an image is uploading, everyone else editing the track sees a loading placeholder in the same spot, and you can't save or publish the track until every upload finishes or you remove the image. A message step sent by email shows the image inline too.
Duplicating a track copies its images, so the copy is fully independent: deleting one track's images never touches the other's. Deleting a track deletes its images with it; archiving a track does not. An image that was part of a published version is kept even after you remove it from the draft, so editing the track doesn't break a message that already went out.
### Attachments
Attach files to a message step separately from the body. Click **Attach files** below the message to add up to 10 files. Slack delivers them as a list of links straight after the message, rather than inside it. Give a file an optional description and Slack uses that as the link text, falling back to the filename; drag to reorder them. Links stay available for 30 days after the message is sent.
Accepted file types: PDF, Word, Excel, PowerPoint, CSV, plain text, and images (PNG, JPG, GIF, WebP), up to 25MB each.
Use **Images** for a picture that belongs in the message itself, like a screenshot or diagram. Use **Attachments** for something the recipient needs to open or download, like a policy PDF or a spreadsheet.
## ๐ Destination
Choose where the message will be sent:
| Destination | Description | Example |
| ------------------- | --------------------------------------------------------- | ----------------------------------------- |
| **User** | Direct message to the track participant | Welcome message on day 1 |
| **Manager** | Participant's manager (requires manager configured) | "\{\{user}} completed week 1" |
| **Specific People** | Choose individual Slack users | Notify IT when new hire starts |
| **Slack Channel** | Post to a channel (bot must be a member) | Announce new hires in #team |
| **Mentor** | Assigned mentor (requires mentor assignment step earlier) | "Here's a guide for mentoring \{\{user}}" |
| **Mentor & User** | Group DM to both mentor and mentee | "Schedule your first 1:1!" |
## Email delivery
Email steps keep the formatting from the message editor. The sender name comes
from the step setting, then the account email setting. If neither is set, the
email uses your company name.
The status shows **Sent** after the email service accepts the message and
**Delayed** if delivery is deferred. The step completes after every primary
**To** recipient has a delivered status. A bounced, blocked, or spam status for
a **To** recipient fails the step. The same outcome for a **CC** or **BCC**
appears as a warning without failing the Track.
## ๐ Posted by
Choose whose name and profile picture a channel message posts under:
| Posted by | Description |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Doozy** | The default. The message posts under Doozy's name and profile picture. |
| **A specific person** | Pick anyone connected to Slack. Every run posts under that same person's name and profile picture. |
| **Person's manager** | Whoever manages the person this step runs for, worked out each time it sends. Offered on every track except Once per cohort, which has no single recipient. |
| **Cohort facilitator** | The cohort's first facilitator who's connected to Slack, worked out each time the step sends. Facilitators come from the program's [Access](/cohorts/facilitators) list. Offered on [cohort tracks](/tracks/triggers/cohort). |
**Posted by** appears only on steps that post to a Slack channel: a picked channel, or the cohort channel on a cohort track. It's hidden for direct-message destinations (User, Manager, Mentor, and the rest) and for email, where carrying someone else's name would mislead.
The message still carries Slack's **APP** badge: this is Doozy posting under a chosen name and profile picture, not a message sent from that person's own Slack account. Replies land in the channel as normal and don't reach that person any differently, and their name on the message isn't a link to their Slack profile.
Posted by never blocks delivery. The step still sends, as Doozy, when the workspace hasn't granted the Slack permission, the chosen person has left or isn't connected to Slack, their Slack display name is just their email address, they have no display name or profile picture, or a role doesn't resolve to anyone. Workspaces connected before Doozy added this feature can't use **Posted by** yet: the control is shown but disabled, with a warning icon beside it. Admins can click that icon to update Slack, which enables it. See [Slack permissions](/getting-started/permissions).
Test runs deliver every step to you as a DM, so they always come from Doozy. The test message names who a live run would post as: *"In a live run, this step would be posted by the user's manager."*
## โฐ Schedule Settings
Control when the message is sent:
* **Immediate**: Leave blank to send when the step is triggered
* **Scheduled**: Select a specific time (e.g., 9:00 AM), based on recipient's timezone
## โญ Best Practices
1. **Start with a greeting**: Use `{{user}}` to personalize
2. **Be concise**: Get to the point; respect people's time
3. **Bold action items**: Make it clear what they need to do
4. **Add warmth**: Emojis help automated messages feel human
5. **End with next steps**: Tell them what to expect
See [Track Examples](/tracks/track-examples) for complete track templates using messages.
## ๐ฏ Common Use Cases
* **Onboarding Welcome**: Greet new team members on day 1
* **Manager Updates**: Keep managers informed about their reports' progress
* **Milestone Celebrations**: Celebrate 30, 60, 90-day completions
* **Team Announcements**: Announce new hires to channels
* **Pre-Survey Context**: Explain why a survey is coming
## ๐ Related Steps
* [Step Timing](/tracks/steps/timing) - Add time gaps between messages
* [Step: Poll](/tracks/steps/poll) - Collect quick feedback after a message
* [Step: Survey](/tracks/steps/survey) - Gather detailed feedback
* [Step: Mentor Assignment](/tracks/steps/mentor-assignment) - Enable mentor destinations
# Step Types
Source: https://help.doozy.live/tracks/steps/overview
All the different step types you can add to a Track.
Tracks are built from steps - each step is an action that happens at a specific time. Combine different step types to create powerful onboarding flows, training programs, and recurring processes.
Every step runs on a day of the track (Day 1, Day 7) at its own send time. [Learn how step timing works โ](/tracks/steps/timing)
***
## ๐ Available Step Types
| Step Type | What It Does |
| --------------------- | -------------------------------------------------------- |
| **Slack message** | Send a direct message in Slack |
| **Email** | Send an email with its own subject and recipient options |
| **Quiz** | Send a quiz for the user to take |
| **Survey** | Send a multi-question survey |
| **Poll** | Ask a single question and collect responses |
| **Tasks** | Assign a checklist of tasks for the user to complete |
| **Introduction** | Connect the user with a teammate |
| **Mentor Assignment** | Assign a mentor or buddy |
| **Add to Track** | Enroll the user in another track |
| **Webhook** | Call an external HTTP endpoint |
***
## ๐ฌ Engage
Send personalized messages with dynamic variables
Quick single-question polls with results tracking
Multi-question surveys for detailed feedback
Test knowledge with scored quizzes
Assign actionable to-dos the user must complete
***
## ๐ค Connect People
Connect users with teammates automatically
Pair users with mentors or buddies
Run tracks for recurring groups with cohorts and the Cohort trigger
***
## โ๏ธ Manage Flow
Schedule steps by day and send time
Enroll users in additional tracks
***
## โ๏ธ How Steps Work
1. **Add steps to your track** โ Choose from any step type
2. **Set the timing** โ Schedule each step on a day (e.g., Day 1, Day 7) at a send time
3. **Configure the content** โ Customize messages, questions, or tasks
4. **Doozy handles the rest** โ Steps run automatically at the right time
Steps can target the track participant, their manager, or specific team members.
***
## ๐ Related
Learn how tracks work
Start tracks automatically or manually
# Step: Poll
Source: https://help.doozy.live/tracks/steps/poll
Collect feedback and responses from users through customizable polls in your track.
The **Poll** step allows you to gather feedback, opinions, and data from users as they progress through your track. Polls are perfect for collecting quick insights, measuring satisfaction, or engaging users with simple, focused questions. Unlike surveys which can include multiple questions, polls focus on a single question to get fast, actionable feedback.
## โ๏ธ Configuration
### Question
Craft a focused, single question for your poll:
* **Question text**: Enter your poll question clearly and concisely
* **Character limit**: While technically flexible, keep questions under 200 characters for better engagement
* **Best practice**: Ask one specific thing rather than multiple questions combined
**Example questions**:
* "How would you rate your first day experience?"
* "Do you feel prepared for your role?"
* "What's your biggest challenge so far?"
### Question Types
Choose from various question types to collect the right kind of feedback:
| Type | Description | Best For |
| ------------------- | --------------------------------------------------------- | ----------------------------------------- |
| **Multiple Choice** | Predefined options (single or multiple selection) | Categorizing responses, limiting options |
| **Scale 1-10** | Buttons 1-10 with labels | Detailed satisfaction, confidence ratings |
| **Scale 1-5** | Buttons 1-5 with labels | Quick satisfaction checks |
| **Emoji** | 5 emoji options (๐ to ๐ก) | Low-friction mood/feeling checks |
| **Employee NPS** | 0-10 scale with Promoter/Passive/Detractor categorization | Standardized engagement measurement |
| **Open Ended** | Free-form text input | Detailed qualitative insights |
### Poll Options
#### Allow Multiple Answers
*Available for Multiple Choice questions only*
* **Enable**: Users can select multiple options
* **Disable**: Users can only select one option
* **Example**: "Which of these resources were helpful?" (multiple) vs "What's your primary role?" (single)
#### Allow Comments
Enable an optional comment field with any question type.
* **Purpose**: Provides context for responses
* **Display**: Adds a free text field below the main question
* **Example**: Add "Any additional thoughts?" field to a rating question
#### Response Time Limit
Set how long people have to respond to the poll:
* **No Limit**: Poll remains open indefinitely (default)
* **Specific Duration**: Set hours, days, or weeks for responses
* **Strategy**: Shorter limits (1-3 days) improve response rates; longer limits (1-2 weeks) allow flexibility
## ๐ Destination
Choose where the poll will be sent:
| Destination | Description | Example |
| ----------------- | ------------------------------------------------------------ | ---------------------------------------- |
| **User** | Direct message to the track participant | "How was your first day?" |
| **Manager** | Participant's manager (requires manager configured in Doozy) | "How is \{\{user}} progressing?" |
| **Mentor** | Assigned mentor (requires mentor assignment step earlier) | "How is your mentorship going?" |
| **Mentor & User** | Group DM to both mentor and mentee | "How was your first mentorship meeting?" |
## โฐ Schedule Settings
### Delivery Time
Control when the poll is sent:
* **Immediate**: Leave blank to send immediately when the step is triggered
* **Scheduled**: Select a specific time (e.g., 4:00 PM) for delivery
* **Timezone consideration**: Time is based on the recipient's timezone
## ๐ Poll Responses
### Viewing Results
Access poll results in the [Doozy dashboard](https://doozy.live):
* Open **Surveys** and select the poll, or
* Open **Tracks**, select the track, and view the step's results
From there you can see response rates, answer distributions, individual responses, and download a detailed CSV export.
## โญ Best Practices
1. **Ask one specific thing** - "How was your first day?" beats "How are things?"
2. **Poll at milestones** - Day 1, Week 1, Day 30 when experiences are fresh
3. **Don't over-poll** - Space polls out; one per week maximum
4. **Limit choices** - 3-7 options for multiple choice; include "Other" with comments
5. **Use consistent scales** - Stick to 1-5 or 1-10 throughout a track
6. **Act on feedback** - Review regularly and share insights with stakeholders
## ๐ฏ Common Use Cases
* **Milestone Feedback**: Collect reflections at Day 1, Week 1, Day 30, Day 90
* **Manager Assessments**: Get supervisor perspectives on team member progress
* **Training Effectiveness**: Measure confidence or understanding after training
* **Engagement Measurement**: Use NPS polls to track employee engagement
* **Mentor Check-ins**: Poll both mentors and mentees on the relationship
See [Track Examples](/tracks/track-examples) for complete track templates using polls.
## ๐ Related Steps
* [Step: Survey](/tracks/steps/survey) - Multi-question forms for detailed feedback
* [Step: Message](/tracks/steps/message) - Send context before or follow-ups after polls
* [Step Timing](/tracks/steps/timing) - Space out polls appropriately
* [Step: Mentor Assignment](/tracks/steps/mentor-assignment) - Enable mentor destinations
# Step: Quiz
Source: https://help.doozy.live/tracks/steps/quiz
Test knowledge with interactive quizzes featuring automatic grading and completion tracking.
The **Quiz** step tests knowledge with multiple-choice questions and automatic grading. Use it to validate training comprehension, certify competency, or reinforce learning.
## โ๏ธ Configuration
### Quiz Selection
Select an existing quiz from your library or create a new one. Quizzes are managed separately in **Quizzes** and can be reused across multiple tracks.
### Introduction Message
Optional message shown before the quiz starts. Supports rich text and placeholders (`{{user}}`, `{{manager}}`, `{{mentor}}`).
### Feedback Question
Optionally collect feedback after the quiz with a follow-up question (text, rating, or multiple choice).
## ๐ Destination
| Destination | Description |
| ----------------- | ---------------------------------------------- |
| **User** | Direct message to the track participant |
| **Manager** | Participant's manager |
| **Mentor** | Assigned mentor (requires mentor step earlier) |
| **Mentor & User** | Group DM to both mentor and mentee |
## โฐ Delivery Settings
### Delivery Method
| Method | Best For |
| --------------- | -------------------------------------------------- |
| **All at Once** | Final assessments, certifications, shorter quizzes |
| **One Per Day** | Spaced learning, microlearning, longer quizzes |
### Delivery Time
* **Immediate**: Leave blank to send when step triggers
* **Scheduled**: Select a time (e.g., 9:00 AM), based on recipient's timezone
## โ
Completion Settings
| Setting | Description |
| ---------------------- | ------------------------------------------- |
| **Mandatory** | Users cannot skip or dismiss the quiz |
| **Reminder Frequency** | Days between reminders (1-7 days) |
| **Reminder Window** | How long to send reminders (1-31 days) |
| **Custom Reminder** | Override default reminder message |
| **Due Date** | Soft deadline for completion |
| **Expiry Date** | Hard deadline when quiz becomes unavailable |
When mandatory, users cannot skip or dismiss the quiz. Reminders continue until completed.
## โญ Best Practices
1. **Test what matters**: Focus on key knowledge, not trivia
2. **Write clear questions**: Avoid ambiguity and trick questions
3. **Quiz after learning**: Schedule quizzes a day or two after the content
4. **Keep it focused**: 5-15 questions for most quizzes
5. **Explain importance**: Use intro message to set expectations
See [Track Examples](/tracks/track-examples) for complete track templates using quizzes.
## ๐ฏ Common Use Cases
* **Training Validation**: Confirm understanding before progression
* **Certification**: Validate competency for role-specific skills
* **Compliance Testing**: Ensure policy and safety understanding
* **Onboarding Knowledge**: Test company culture and processes
* **Product Knowledge**: Verify sales/support team expertise
## ๐ Related Steps
* [Step: Message](/tracks/steps/message): Send training content before quizzes
* [Step Timing](/tracks/steps/timing): Allow study time before testing
* [Step: Survey](/tracks/steps/survey): Gather feedback on training effectiveness
* [Step: Mentor Assignment](/tracks/steps/mentor-assignment): Enable mentor destinations
# Step: Survey
Source: https://help.doozy.live/tracks/steps/survey
Create comprehensive multi-question surveys to gather detailed feedback and data in your track.
The **Survey** step allows you to create comprehensive forms with multiple questions to gather detailed feedback, insights, and data from users as they progress through your track. Unlike polls which focus on a single question, surveys enable you to collect rich, multi-dimensional feedback that provides deeper insights into user experiences, satisfaction, and needs.
## โ๏ธ Configuration
### Questions
Build your survey by adding questions. Each question needs a text prompt, question type, and optional settings like hints or allowing comments.
#### Question Types
| Type | Description | Best For |
| ------------------- | --------------------------------------------------------- | -------------------------------------------- |
| **Multiple Choice** | Predefined options (single or multiple selection) | Categorical responses, preferences |
| **Scale 1-10** | Buttons 1-10 with labels | Detailed satisfaction, performance ratings |
| **Scale 1-5** | Buttons 1-5 with labels | Quick satisfaction checks |
| **Emoji** | 5 emoji options (๐ to ๐ก) | Mood checks, emotional responses |
| **Employee NPS** | 0-10 scale with Promoter/Passive/Detractor categorization | Engagement tracking, likelihood to recommend |
| **Open Ended** | Free-form text input | Detailed feedback, qualitative insights |
#### Question Options
* **Allow multiple answers** *(Multiple Choice only)*: Let users select more than one option
* **Allow comments**: Add an optional text field for context
* **Hint**: Provide guidance to help users understand the question
### Survey Settings
| Setting | Options | Notes |
| --------------------- | ---------------------------------------- | --------------------------------------------------------------------- |
| **Anonymity** | Yes / No (default) | Cannot be changed after creation. Use anonymous for sensitive topics. |
| **Result Visibility** | Admins Only (default) / Everyone | Controls who can view aggregated results |
| **Time Limit** | No Limit (default) / Custom (days/weeks) | Deadlines improve response rates |
## ๐ Destination
Choose where the survey will be sent:
| Destination | Description | Example |
| ----------------- | ------------------------------------------------------------ | ---------------------------------- |
| **User** | Direct message to the track participant | Onboarding experience survey |
| **Manager** | Participant's manager (requires manager configured in Doozy) | "How is \{\{user}} progressing?" |
| **Mentor** | Assigned mentor (requires mentor assignment step earlier) | Mentorship effectiveness survey |
| **Mentor & User** | Group DM to both mentor and mentee | Joint mentorship experience survey |
## โฐ Schedule Settings
Control when the survey is sent:
* **Immediate**: Leave blank to send when the step is triggered
* **Scheduled**: Select a specific time (e.g., 9:00 AM) - based on recipient's timezone
## ๐ Survey Responses
### Viewing Results
Access survey results in the [Doozy dashboard](https://doozy.live):
* Open **Surveys** and select the survey, or
* Open **Tracks**, select the track, and view the step's results
From there you can see response rates, answer distributions, individual responses (if not anonymous), and download a detailed CSV export.
See [Track Examples](/tracks/track-examples) for complete track templates using surveys.
## โญ Best Practices
1. **Keep it short** - 5-10 questions is ideal; longer surveys have lower completion rates
2. **Put key questions first** - Most important questions at the top in case users don't finish
3. **Be specific** - "How satisfied were you with orientation?" beats "How are things?"
4. **Mix question types** - Vary scales, choices, and open-ended to maintain engagement
5. **Use anonymity for sensitive topics** - Culture surveys, leadership feedback, complaints
6. **Survey at milestones** - Day 7, Day 30, Day 90 are natural feedback points
7. **Set deadlines** - 3-7 days creates urgency and improves response rates
## ๐ฏ Common Use Cases
* **Onboarding Feedback**: Comprehensive assessment at 7, 30, and 90 days
* **Training Evaluations**: Multi-dimensional evaluation of training effectiveness
* **Employee Engagement**: Quarterly pulse surveys with multiple engagement indicators
* **Exit Interviews**: Detailed feedback from departing employees
* **Culture Assessments**: Anonymous surveys on company culture and values
## Related Steps
* [Step: Poll](/tracks/steps/poll) - Single-question feedback for quick pulse checks
* [Step: Message](/tracks/steps/message) - Send context before surveys or thank you after
* [Step Timing](/tracks/steps/timing) - Space surveys appropriately throughout the track
* [Step: Mentor Assignment](/tracks/steps/mentor-assignment) - Enable mentor destinations
# Step: Tasks
Source: https://help.doozy.live/tracks/steps/tasks
Assign interactive checklists to users in your track.
The **Tasks** step sends an interactive checklist to recipients. Users can mark tasks as complete or ignore non-applicable items. Perfect for onboarding checklists, IT setup, training requirements, and manager action items.
## โ๏ธ Configuration
### Task List
Add one or more tasks using the rich text editor. Each task supports:
* Bold, italics, links, and formatting
* Placeholders (`{{user}}`, `{{manager}}`, `{{mentor}}`)
* Reordering via the overflow menu
At least one task is required.
### Destination
| Destination | Description |
| ------------------- | ---------------------------------------------- |
| **User** | Direct message to the track participant |
| **Manager** | Participant's manager |
| **Specific People** | Choose individual users |
| **Mentor** | Assigned mentor (requires mentor step earlier) |
| **Mentor & User** | Group DM to both mentor and mentee |
## โ
Task Interaction
Recipients can:
* **Mark complete**: Check off finished tasks
* **Ignore**: Skip non-applicable tasks
Tasks are non-blocking. The track continues regardless of task completion.
## โญ Best Practices
1. **Keep tasks actionable**: Use clear verbs like "Complete", "Review", "Schedule"
2. **Include links**: Make it easy to find resources
3. **Order logically**: Sequence tasks in completion order
4. **Don't overload**: 5-7 tasks per checklist is ideal
5. **Route appropriately**: IT tasks โ IT team, manager tasks โ manager
See [Track Examples](/tracks/track-examples) for complete onboarding track templates with tasks.
## ๐ฏ Common Use Cases
* **New Hire Onboarding**: First-day and first-week setup tasks
* **IT Provisioning**: Equipment and access checklists
* **Training Requirements**: Courses and certifications to complete
* **Manager Actions**: Tasks for managers onboarding their reports
* **Compliance**: Policy reviews and acknowledgments
## ๐ Related Steps
* [Step: Message](/tracks/steps/message): Send context before tasks arrive
* [Step Timing](/tracks/steps/timing): Allow time for task completion
* [Step: Mentor Assignment](/tracks/steps/mentor-assignment): Enable mentor destinations
* [Step: Survey](/tracks/steps/survey): Collect feedback after tasks complete
# Step Timing
Source: https://help.doozy.live/tracks/steps/timing
Schedule each step on a day of the track, with its own send time.
A track is a sequence of days. Every step sits on a day (Day 1, Day 7) and has a send time, so the builder reads top to bottom as a timeline of exactly what arrives when.
## ๐
Days
**Day 1 is the member's first day on the track** - the day it kicks off for them, which is the day they are enrolled. On a user-joined track, enrollment is the later of the member's start date and the day they join Slack: if your HRIS provides a future start date, the track waits until then, so Day 1 is that start date; otherwise Day 1 is the day they join.
Because Day 1 is always the enrollment day, the track never stacks days. Add a tenured employee, or a new hire who joins Slack a week late, and they simply begin at Day 1 when they enroll - no backlog of earlier days arrives at once.
Days count only the Track's **working days**. With the default Monday-to-Friday workspace policy, Day 1 on Monday makes Day 5 Friday and Day 6 the next Monday. A Track can override those days. With a five-day week, Day 30 falls about six calendar weeks after enrollment. See [Working days and catch-up hours](#working-days-and-catch-up-hours).
In the builder, consecutive steps that share a day are grouped under a **day divider** (for example, "Day 3"). Edit the divider's number to move every step in that group. Click the **+** on the connector between steps and choose **Send on a day** to start a new day.
The builder keeps steps in delivery order from top to bottom: days ascend, and
within a day steps sort by send time. Changing a day or time moves the step to
its slot, and dragging a step adjusts its time to fit its new position.
## Working days and catch-up hours
Working days determine which days steps can run and how Day N advances in each member's time zone. Doozy also checks overdue catch-up against the selected days and daily hours in that time zone. At least one working day is required. A sparse schedule such as Monday, Wednesday, and Friday can put up to three calendar days between consecutive steps.
Start and end times apply only to overdue catch-up. They do not move a future step's send time. If an overdue step is ready outside the recipient's working day or hours, Doozy waits until the next opening. Overdue steps may run exactly at either time boundary.
The workspace default is **Monday to Friday, 09:00 to 17:00**, with **Europe/London** as the default timezone. A workspace owner can change working hours and the separate default timezone under **Workspace settings โ Track settings**. Doozy uses the default timezone only when a member has no time zone.
New Tracks use the workspace policy unless you turn on **Override workspace working days and hours** in the Track's trigger settings. Older Tracks keep their saved working days and use the workspace's hours until you set their Working Hours. Changes apply only to new enrollments. People already enrolled keep the policy they started with.
These are daytime windows only. Choose times to the minute in `HH:mm` format.
The start time must be earlier than the end time. Equal, reversed, or
overnight windows are not valid.
## ๐ Send times
Every step has a **send time**, shown next to the step title. Steps send at **9:00 AM** in the member's local time zone by default; click the time to change it. Put two steps on the same day with different times to pace them within a day (9:00 AM, then 11:00 AM). An authored future send time remains due at that time even if it falls outside working hours.
## ๐ Catch-up: if someone reaches a step after its time
**Catch-up** is a single on/off setting for the track, **on by default**. It decides what happens when a member reaches the track after a step's send time has already passed that day, for example, when someone is added mid-afternoon and Day 1 has a 9:00 AM step. Nothing is ever skipped either way:
* **On** (default): overdue steps become eligible in order during working hours.
* **Off**: Day 1 shifts to the next working day, and no step is sent before its time.
Find the setting in the track's trigger settings.
## ๐ Tracks built with waits
Tracks built before day-based timing could space steps with relative waits ("wait 2 days"). Those tracks keep running with their exact original timing. When you open one in the builder, it appears converted to days and times, with a notice that it was upgraded to day-based timing. Nothing changes until you save; saving adopts the days and times shown, and the first save asks you to confirm.
## โญ Best Practices
1. **Anchor milestones to days**: Day 1, Day 5, Day 30 intervals work well
2. **Use times for same-day pacing**: Two steps on one day, an hour or two apart
3. **Keep momentum**: Avoid gaps longer than 2 weeks between touchpoints
## ๐ Related Steps
* [Step: Message](/tracks/steps/message): Space messages across days
* [Step: Survey](/tracks/steps/survey): Schedule feedback at milestones
* [Step: Quiz](/tracks/steps/quiz): Allow study time before testing
* [Step: Introductions](/tracks/steps/introductions): Stagger introduction waves
# Step: Webhook
Source: https://help.doozy.live/tracks/steps/webhook
Call an external service when a user reaches this step, to trigger your own automation from a track.
The **Webhook** step calls an external service when a participant reaches it.
Doozy sends an HTTPS request to a URL you choose, so a track can trigger your own
automation: provision an account, notify a CRM, kick off a Zapier or Make
scenario, or hand off to an internal tool, all at the right moment in someone's
journey.
## ๐งฉ How it works
A webhook has two parts that are set up separately:
1. **The webhook itself** lives in your workspace settings and holds the URL,
custom headers, and any secrets. It's reusable across many tracks.
2. **The Webhook step** in a track just points at one of those webhooks by name.
This split means credentials live in one place. Rotate a key once and every track
using that webhook picks it up, and someone building a track can choose a webhook
without ever seeing its secrets.
**Roles.** Only **owners** can create or edit webhooks. Owners and
**managers** can pick an existing webhook in a track step. Members can't use
webhooks.
## โ๏ธ Setting it up
Go to **Settings โ Workspace โ API & Webhooks** and add a webhook. Give it a
name, paste the destination **URL** (must be `https`), and add any
**headers** your receiver needs (for example an `Authorization` header).
Toggle **Secret** on any header carrying a credential. Secret values are
stored encrypted, shown as `***` afterward, and never revealed again. To
change one, re-enter it.
In the track builder, add a **Webhook** step where you want it to fire and
pick the webhook you created.
Test against a tool like [webhook.site](https://webhook.site) or your staging
endpoint first, so you can see the exact request Doozy sends before pointing
it at production.
## ๐ฆ What Doozy sends
When a participant reaches the step, Doozy sends a `POST` with a JSON body:
```json theme={null}
{
"event": "track.step.fired",
"delivery_id": "wf_123:inst_456:step_789",
"fired_at": "2026-06-23T09:30:00.000Z",
"workflow": { "id": "wf_123", "name": "New Hire Onboarding" },
"step": { "id": "step_789", "title": "Provision laptop" },
"instance": { "id": "inst_456" },
"user": {
"doozy_user_id": "usr_abc",
"slack_user_id": "U01ABC",
"slack_team_id": "T01XYZ"
}
}
```
| Field | Description |
| ------------- | ------------------------------------------------------------------------------------------- |
| `event` | Always `track.step.fired` today. Branch on this so new event types don't break your parser. |
| `delivery_id` | Stable id for this delivery, reused across retries. Use it to deduplicate. |
| `fired_at` | When the step fired (ISO 8601, UTC). |
| `workflow` | The track's id and name. |
| `step` | The step's id and title (title can be empty if the step is unnamed). |
| `instance` | The id of this participant's run through the track. |
| `user` | The participant's Doozy user id and Slack user/team ids. |
### Headers Doozy always sets
These are added to every delivery and can't be overridden by your custom headers:
| Header | Value |
| --------------------- | --------------------------------------- |
| `Content-Type` | `application/json` |
| `Idempotency-Key` | The `delivery_id` (same across retries) |
| `X-Doozy-Delivery-Id` | The `delivery_id` |
Because the `Idempotency-Key` is the same on every retry of the same delivery,
a receiver that keys on it will process each step firing **once**, even if
Doozy retries.
## ๐ Delivery and retries
| Behavior | Detail |
| ----------- | ------------------------------------------------------------------- |
| Method | `POST` with the JSON body above |
| Success | Any `2xx` response |
| Timeout | 10 seconds per attempt |
| Retries | Up to **3 attempts** total |
| Retried | `5xx` responses and network errors or timeouts |
| Not retried | `4xx` responses (treated as a permanent rejection) and blocked URLs |
Respond quickly with a `2xx` and do any slow work asynchronously on your side. If
your receiver needs more than a moment, acknowledge first and process after.
You can review recent attempts (status code, attempt number, and any error) in the
**delivery log** on the webhook in **Settings โ Workspace โ API & Webhooks**.
## ๐ Security
* **HTTPS only.** Plain `http` URLs are rejected.
* **No internal targets.** Doozy blocks requests to private, loopback, link-local,
and cloud-metadata addresses.
* **Encrypted secrets.** Secret header values are encrypted at rest and never shown
again after you save them.
## โญ Best Practices
1. **Return `2xx` fast** and process asynchronously, so a slow job doesn't time out
the delivery.
2. **Deduplicate on the `Idempotency-Key`**, since a retry can deliver the same
step firing more than once.
3. **Authenticate the request** with a secret header (for example a bearer token)
so only Doozy can call your endpoint.
4. **Reserve one webhook per destination** and reuse it across tracks, so rotating
a credential is a single change.
## ๐ฏ Common Use Cases
* **Provisioning**: Create an account or grant access in an external system at the
right step.
* **CRM and data sync**: Push a signal to your CRM or data warehouse when someone
reaches a milestone.
* **No-code automation**: Trigger a Zapier or Make scenario to fan out to other
tools.
* **Internal tooling**: Kick off a job in your own service as part of onboarding or
offboarding.
## ๐ Related Steps
* [Step: Message](/tracks/steps/message): Tell the participant what happened after a webhook fires
* [Step Timing](/tracks/steps/timing): Pick the day and time an external system is called
* [Steps Overview](/tracks/steps/overview): All the step types you can use in a track
# Track Examples
Source: https://help.doozy.live/tracks/track-examples
Ready-to-use track templates for common use cases like onboarding, training, and feedback collection.
Use these proven track structures as starting points for your own workflows. Each example demonstrates how different step types work together to create effective automated processes. Steps are [scheduled by day](/tracks/steps/timing), so a track reads as a timeline: Day 1, Day 5, Day 30.
## Onboarding Feedback Track
Collect feedback at key moments during a new hire's first month:
* **Type**: Message
* **Destination**: User
* **Timing**: Day 1 at 9:00 AM
* **Message**: "Welcome! We'll check in with you throughout your first week."
* **Type**: Poll
* **Destination**: User
* **Timing**: Day 1 at 4:00 PM
* **Question**: "How would you rate your first day?"
* **Type**: Emoji scale
* **Allow comments**: Yes
* **Type**: Poll
* **Destination**: User
* **Timing**: Day 5 at 4:00 PM
* **Question**: "On a scale of 1-10, how prepared do you feel for your role?"
* **Type**: Scale 1-10
* **Allow comments**: Yes
* **Type**: Poll
* **Destination**: Manager
* **Timing**: Day 5 at 5:00 PM
* **Question**: "How is \{\{user}} progressing in their first week?"
* **Type**: Scale 1-5
* **Type**: Poll
* **Destination**: User
* **Timing**: Day 30 at 10:00 AM
* **Question**: "How likely are you to recommend working here to a friend?"
* **Type**: Employee NPS
* **Allow comments**: Yes
## Training Certification Track
Deliver training content and validate knowledge with quizzes:
* **Type**: Message
* **Destination**: User
* **Timing**: Day 1 at 9:00 AM
* **Message**: "Welcome to Product Training! Over the next week, you'll learn our products and validate your knowledge."
* **Type**: Message
* **Destination**: User
* **Timing**: Day 1 at 9:30 AM
* **Message**: Link to training video and documentation
* **Type**: Quiz
* **Destination**: User
* **Quiz**: "Product Features Quiz"
* **Delivery**: All at once
* **Timing**: Day 3 at 9:00 AM
* **Mandatory**: Yes
* **Reminders**: Every 2 days for 7 days
* **Type**: Message
* **Destination**: User
* **Timing**: Day 5 at 9:00 AM
* **Message**: "Great job! Now let's cover advanced features..."
* **Type**: Quiz
* **Destination**: User
* **Quiz**: "Product Certification Exam"
* **Delivery**: All at once
* **Timing**: Day 7 at 9:00 AM
* **Mandatory**: Yes
* **Reminders**: Every 1 day for 5 days
* **Type**: Message
* **Destination**: User
* **Timing**: Day 8 at 9:00 AM
* **Message**: "๐ You've completed product training!"
* **Type**: Message
* **Destination**: Manager
* **Timing**: Day 8 at 9:00 AM
* **Message**: "\{\{user}} has completed product certification!"
## Related Pages
* [Create a Track](/tracks/create-a-track) - Step-by-step guide to building tracks
* [Step Timing](/tracks/steps/timing) - How days and send times work
* [Tracks Overview](/tracks/overview) - Learn about track features and triggers
# Cohort Trigger
Source: https://help.doozy.live/tracks/triggers/cohort
Run tracks when a cohort opens, or for each person when the cohort starts.
The **Cohort** trigger attaches a track to a [cohort
program](/cohorts/overview), so the track runs as part of each cohort that
program creates. Use it for onboarding intakes, training groups, and any
experience where people who start together should move through content together.
Cohorts is rolling out gradually (see the [Cohorts
overview](/cohorts/overview)). You need at least one cohort program before you
can use this trigger: see [Cohort programs](/cohorts/set-up-cohorts).
## Attach a track to a cohort program
Pick **Cohort** as the trigger, either from a cohort program's page (**Create a
cohort track** or **Create a per-person track**) or directly in the track
builder's trigger picker for any draft track, new or existing. Choose the run
mode and the program it runs in, and the builder shows the trigger as **Cohort
ยท Once per cohort** or **Cohort ยท For each person**. Attaching a track to a
program needs editor access on it (see the
[Access](/cohorts/set-up-cohorts#access) list).
| Run mode | What it does | Good for |
| ------------------- | ------------------------------------------------------------------ | --------------------------------------------------------- |
| **Once per cohort** | Runs a single time when the cohort opens | Kickoff messages and shared content in the cohort channel |
| **For each person** | Runs for each person when the cohort starts, in their own timezone | Onboarding sequences, check-ins, and quizzes |
A program runs at most **one active** Once per cohort track, and any number of
For each person tracks. Drafts are unlimited: you can build a replacement while
the current track keeps running. The limit applies when you activate or resume,
not when you save.
Pausing or archiving the active track frees the slot. Pausing is the gentler of
the two: cohorts already running that track deliver to the end, but it isn't
picked up for a new one. Archiving stops it everywhere, including for cohorts
mid-sequence. The usual swap: pause the current track, then activate the
replacement. When the program you've picked
already has an active Once per cohort track, the trigger picker names it and
links to it while you build, so you know which track to pause or archive.
The run mode and program are only editable while the track is a **draft**.
Move a draft to a different program, or switch its run mode, from the same
trigger picker at any time.
Once a track goes live (active or paused), its program and run mode lock: the
builder shows a read-only summary instead of the picker. Running cohorts and
in-progress enrollees are matched to the track by that exact program and run
mode, so changing either mid-flight would orphan them. To point a running
track at a different program, or change how it runs, archive it and build a
new one - see [Import an existing track](#start-from-an-existing-track) to
carry over its steps.
The run mode determines which step types the track can contain. Steps that act
on an individual person, like Introductions, Mentor Assignment, Tasks, Add to
Track, or Webhook, can't run once per cohort. Each one shows an inline error,
and publishing is blocked until you resolve or remove them - including on a
track whose run mode you just switched.
Archiving any track that's attached to a cohort program, not just a track built
this way, warns you first: the confirmation names the program and, if it still
has active or upcoming cohorts, says they'll lose this content when you go
through with it. It's a warning, not a block: archiving still goes ahead once
you confirm.
## Start from an existing track
Instead of building from scratch, **Import an existing track** on the program's
page copies one of your existing tracks into a new draft already wired to this
program and run mode, and opens it in the builder. The source track is never
changed. Only your non-archived, non-cohort tracks are offered - a track
already on a cohort isn't, since it's either a draft you can repoint directly
from its own trigger settings, or a live track that needs archiving instead
(see above).
The copy carries over every step. Any that don't fit the chosen run mode, like
an Introductions or Tasks step imported into a once-per-cohort track, are kept
but flagged as invalid in the builder, the same as if you'd added them there
directly. Resolve or remove them before you can activate the copy.
## When per-person tracks start
A cohort has one clock: its first day. Day 1 of every per-person track is the
first day of the cohort's dates, at the program's [start
time](/cohorts/set-up-cohorts#start-time), read in each person's own timezone. A
9:00 AM start lands at 9:00 AM local time for everyone, and later steps count
from that same day. Per-person cohort tracks are not timed from each person's
own start date; that anchor belongs to the [First day
trigger](/tracks/triggers/first-day), a separate feature.
Most people land in a cohort days before it starts, and their tracks don't start
early. Each person is enrolled when the cohort opens, so the cohort, and its
channel if it has one, exists before anything is sent. If steps are already due
when someone joins on the start day, the Track's catch-up setting either runs
them in order during the permitted hours or shifts the schedule to the next
working day. Later steps keep their scheduled days. Someone who joins after the
start day is enrolled and invited to the channel once their own start date has
arrived. Their track then runs from the beginning, using the recipient's
timezone and the Track's working days. If overdue steps are caught up outside
the permitted hours, they wait for the next opening.
Someone whose start date is still ahead waits. Nothing is sent and no channel
invite goes out until that day, even though the cohort is already running.
## Where each run mode sends
A **Once per cohort** track speaks to the group. Its steps post to the **cohort
channel** by default, so the whole cohort receives messages, quizzes, or surveys
together. A step can instead target a specific Slack channel, that channel's
members, specific people, or groups. Destinations relative to one person (User,
Manager, Mentor, and the like) aren't offered, because the track runs once for
the whole cohort.
There's no group DM option for a cohort. Slack caps group DMs at 9 people, so
the cohort channel is the cohort's one shared space.
A **For each person** track is a personal journey. Its steps deliver to the
person being onboarded, or their manager, mentor, and the other per-person
destinations, and can't send to the cohort channel. Group announcements belong
in the cohort track.
Sending to the cohort channel only works when the program actually has a
channel, meaning its **Slack channel** setting is **Create automatically** or
**Link existing**. If a track sends to the cohort channel but the program is set
to **No channel**, the track editor warns you and offers a one-click fix that
switches the program to create a channel for each cohort. Publishing is blocked
until the mismatch is resolved. If a published track ends up in this state
anyway, for example because the program was edited later, the channel step fails
with a stated reason and the rest of the track continues.
## Referencing the cohort in a message
Message steps on either run mode can pull in the cohort itself with
placeholders: `{{cohortChannel}}` becomes a clickable mention of the cohort's
onboarding channel, and `{{cohortMembers}}` / `{{cohortFacilitators}}` list its
roster. All three resolve live at send time, so they're accurate even if the
channel is created, or people join, after the track has started. See [Step:
Message](/tracks/steps/message#placeholders) for the full set and how each one
renders.
A step that posts to a channel can also appear under the **cohort
facilitator's** name and profile picture instead of Doozy's, via [Posted
by](/tracks/steps/message). Unlike the `{{cohortFacilitators}}` placeholder,
which lists everyone, Posted by uses one facilitator: the first on the cohort
who's connected to Slack.
## Editing a published cohort track
You can edit a cohort track's steps while cohorts are running through it. Edits
apply to steps that haven't been sent yet, including in runs already in
progress. The editor shows a notice reminding you of this when you edit a live
cohort track. Its program and run mode are the one thing you can't touch once
it's live - see [above](#attach-a-track-to-a-cohort-program).
## Related
How cohort programs, cohorts, and tracks fit together
Create a program: membership, schedule, and channel
Put the people who run each cohort in its channel
The track builder, step by step
# First Day Trigger
Source: https://help.doozy.live/tracks/triggers/first-day
Run onboarding tracks on someone's first day, once they've joined Slack.
The **First day** trigger runs a track on someone's first day, once they've joined
Slack. It's the standard way to start onboarding automatically, so every new joiner
gets the same welcome without anyone having to remember to enroll them.
This trigger used to be called "User Joined". It's the same trigger, with the
first-day behavior described below.
## How the first day is decided
What counts as someone's first day depends on whether you have an
[HRIS connected](/integrations/how-to-connect-my-hris):
### With an HRIS connected
Start dates come from your HRIS, and the track waits for **both** of these before it
runs:
1. The person's **start date** has arrived
2. The person has **joined Slack**
Whichever happens second releases the track:
| Order of events | When the track runs |
| ------------------------------------------------ | ----------------------- |
| Joins Slack early, then their start date arrives | On their start date |
| Start date passes, then they join Slack | The day they join Slack |
This means onboarding never fires for someone who was added to your HRIS but hasn't
started yet, and never silently skips someone who joined Slack a few days late. If a
person's start date passes and they still haven't joined Slack, Doozy holds their
enrollment and starts the track when they join.
### Without an HRIS
The day someone joins Slack is their first day, and joining Slack alone triggers the
track.
## Day 1 is the day they're enrolled
The track starts when the person is enrolled, and that day is **Day 1** for them:
the later of their start date and the day they join Slack. [Day-scheduled
steps](/tracks/steps/timing) count from Day 1:
* Someone added later, such as a new hire who joins Slack a week late, or a tenured
employee added by hand, simply begins at Day 1 when they enroll. Earlier days
never stack up and arrive at once.
* Each step's send time is evaluated in the member's timezone. Working days
determine when a future step can run. Start and end times can delay overdue
catch-up until the next opening.
## Seeing who's waiting
The First day trigger's configuration panel in the track builder shows both halves of
this picture:
* **Where start dates come from** - the name of your connected HRIS, or a note that
first day means the day someone joins Slack when no HRIS is connected
* **Who's waiting** - people whose start date has arrived but who haven't joined
Slack yet, for example "2 people are waiting: in Workday but not yet in Slack"
People whose start date has passed stay in the waiting list (it shows anyone up to
90 days past their start date), so nobody quietly falls through the gap between your
HRIS and your workspace. Their enrollment stays held either way: the track runs when
they join Slack.
## Getting started
To set up a First day trigger:
1. Go to [doozy.live/app](https://doozy.live/app) and open **Tracks**
2. Create a new track
3. Select the first-day trigger - the card reads **New Hire** when an HRIS is
connected, and **User added to Slack** when one isn't
4. Check the panel below the trigger cards to confirm where start dates come from
5. Add your onboarding steps and activate the track
## Targeting the right people
Use **Advanced filters** on the trigger to limit who enters the track by group,
country, work location, or manager status. For example, run one onboarding track for
managers and another for individual contributors, or a separate track per department.
Connect your HRIS (like Workday, BambooHR, or Personio) so start dates,
departments, and manager relationships are accurate from day one.
## Common use cases
* **New hire onboarding**: Welcome messages, introductions, and first-week tasks
* **30/60/90 day check-ins**: Surveys scheduled on Day 30, 60, and 90 of the track
* **Compliance and policy training**: Required reading and quizzes for every new joiner
* **Team connection**: Introductions and buddy assignments as soon as someone arrives
Onboarding classes that should move through content **together** are a better
fit for [cohorts](/cohorts/overview) - group people who start in the same
window and run tracks per cohort.
Want to reach new hires **before** their first day, while they're still off
Slack? See [Preboarding](/preboarding/overview) - it adds before-first-day
steps, then hands them off to this trigger on day one. Because the hire isn't
in Slack yet, only some step types can run before the first day; see
[Preboarding in tracks](/preboarding/overview#preboarding-in-tracks) for which
ones.
# Manual Enrollment Trigger
Source: https://help.doozy.live/tracks/triggers/manual-add-users
Manually control track participation with complete flexibility over who joins and when.
## Key Features
Complete control over track participants
Add users individually or in groups at any time
Perfect for specific groups or initiatives
Hand-pick participants based on any criteria
## Getting Started
To set up a Manual enrollment trigger:
1. Go to [doozy.live/app](https://doozy.live/app) and open **Tracks**
2. Create a new track
3. Select **Manual enrollment** as your trigger type
4. Create your track content and structure
5. Save your track (it won't run until you enroll people)
6. Enroll people individually or in groups
7. Monitor engagement and adjust as needed
Manual enrollment gives you the flexibility to create highly targeted, personalized experiences that achieve specific organizational goals while maintaining complete control over participation.
## Timing overrides
During manual enrollment, use the Track policy or choose Working Hours for the
people you are enrolling. Working days determine when Day 1 and later steps can
run. Start and end times limit overdue catch-up. The selected policy does not
change the Track or anyone already enrolled. If the Track uses the workspace
policy, these people use it too. Older Tracks keep their saved working days and
use the workspace's hours.
Working days and overdue catch-up hours use each recipient's time zone. If a
recipient has no time zone, Doozy uses the default timezone. Future steps keep
their send times.
## Configuration Tips
1. **Plan Your Selection**: Clearly define who should participate and why
2. **Prepare Communications**: Draft invitation messages that explain the value
3. **Set Expectations**: Be clear about time commitments and objectives
4. **Monitor Engagement**: Track who's participating and follow up with non-participants
5. **Document Results**: Keep records of what works for future reference
Connect your HRIS (like Workday, BambooHR, or Personio) to ensure you have
accurate department and role data when manually selecting people for your
tracks.
## Common Use Cases
Manual enrollment excels in situations requiring precise control:
### Department-Specific Initiatives
Launch initiatives targeted at specific departments or cross-functional teams for new process rollouts and tool implementations.
### Project Team Communications
Keep project stakeholders connected and informed with regular updates, training materials, and feedback collection.
### Targeted Feedback Collection
Gather insights from carefully selected groups like customer-facing teams, leadership groups, and subject matter experts.
### Special Group Activities
Create unique experiences for specific cohorts including high-potential programs and mentorship groups.
### Crisis or Change Management
Respond quickly to organizational changes with emergency communications and reorganization updates.
### Innovation Teams
Engage creative problem-solvers in ideation processes and cross-training initiatives.
# Track Triggers Overview
Source: https://help.doozy.live/tracks/triggers/overview
Understanding the different ways to trigger Doozy Tracks for automated team engagement.
The trigger decides how people enter a track. Each trigger type suits different use
cases, from onboarding to learning and development to HR processes.
## Available Trigger Types
Runs on someone's first day, once they've joined Slack.
Enroll people from the dashboard or via the API.
Runs on a recurring schedule for a set of people.
Runs around people's work anniversaries.
Runs once when a cohort opens, in the cohort's timezone.
Runs for each person at the cohort start, in their own timezone.
The two cohort triggers appear once [Cohorts](/cohorts/overview) is enabled for
your workspace - it's rolling out gradually.
## Two more ways people enter a track
These aren't trigger types you pick, so they don't appear in the trigger picker.
They work alongside whichever trigger the track already has:
* **Self-enrolled**: turn on self-join and people can add themselves. See
[Self-join tracks](/tracks/self-join-tracks).
* **Added by another track**: an "add to track" step in one track enrolls people
into another, so a track can hand off to a follow-up.
## Advanced Filtering
Every trigger offers advanced filtering options to ensure your tracks reach the right people (for a Cohort track, filters apply to its "For each person" run mode):
* **Filter by Group/Department**: Target specific organizational units
* **Filter by Country or Work Location**: Target people by where they are
* **Filter by Manager Status**: Differentiate between managers and individual contributors
For detailed instructions on each trigger type, explore the individual trigger guides or check out our [track creation guide](/tracks/create-a-track).
# Schedule Trigger
Source: https://help.doozy.live/tracks/triggers/schedule
Set up tracks that run at specific times and intervals with flexible user sourcing.
## Key Features
Set daily, weekly, monthly, or custom intervals
Choose specific times and time zones for global teams
Pick from specific channels, departments, or user groups
Ideal for building knowledge over time
## Getting Started
To set up a Schedule trigger:
1. Go to [doozy.live/app](https://doozy.live/app) and open **Tracks**
2. Create a new track
3. Select **Schedule** as your trigger type
4. Choose your frequency and timing
5. Select your user source (channels, departments, etc.)
6. Configure any advanced filters
7. Set up your track content and steps
8. Save and activate your track
The Schedule trigger is your foundation for creating systematic learning and development programs that maximize knowledge retention.
## One-off schedules
Set the frequency to `once` to schedule one run at the configured start date and time.
The read-only `next_run_at` field contains the next scheduled run time. It is `null` when no future run is scheduled, including for draft or paused tracks and after Doozy finishes processing a one-off schedule. Updating other track fields does not schedule another run. To schedule another run, change the start date, time, or time zone.
## Advanced Filtering
Combine Schedule triggers with advanced filters for targeted learning:
### By Manager Status
* **Managers**: Leadership development, team management training
* **Individual Contributors**: Skills development, role-specific training
### By Department
* **Engineering**: Technical skills, development practices
* **Sales**: Product knowledge, sales methodology
* **HR**: Compliance training, people management
## Configuration Tips
1. **Test Your Setup**: Start with a small group to validate timing and content flow
2. **Monitor Engagement**: Track which content types and timing work best for your team
3. **Adjust Based on Feedback**: Regularly review and refine your approach
4. **Document Your Strategy**: Keep track of what works for future programs
5. **Consider Time Zones**: Ensure content arrives at appropriate times for all team members
Connect your HRIS (like Workday, BambooHR, or Personio) to ensure you have the
most accurate department and user data for targeting your scheduled tracks.
## Common Use Cases
### Drip Learning Programs
Weekly skill-building content delivered to specific teams for gradual knowledge acquisition.
### Compliance Training
Monthly reinforcement of policies and procedures to ensure ongoing compliance.
### Onboarding Journeys
Progressive learning tracks for new hires over their first 90 days.
### Professional Development
Quarterly goal-setting and review cycles to support career growth.
### Knowledge Reinforcement
Daily or weekly tips and best practices to keep skills sharp.
### Team Check-ins
Regular pulse surveys to measure learning progress and engagement.
# Work Anniversary Trigger
Source: https://help.doozy.live/tracks/triggers/work-anniversary
Automate HR processes and compliance requirements tied to employee work anniversaries.
## Key Features
Automatically detects work anniversary dates from your HR system
Sends to users at 10am in their local timezone on their work anniversary date
Can be integrated with your HR systems accurate data
Perfect for time-sensitive HR compliance and processes
## Getting Started
To set up a Work Anniversary trigger:
1. Go to [doozy.live/app](https://doozy.live/app) and open **Tracks**
2. Create a new track
3. Select **Work Anniversary** as your trigger type
4. Set up any department or role-based filters
5. Create your track content (surveys, training links, reminders)
6. Save and activate your track
## Configuration Options
When setting up a Work Anniversary trigger, you have several configuration options to customize when and how the trigger activates:
### Trigger Frequency
Choose how often the work anniversary should be recognized:
* **Annually** - Triggers every year on the anniversary date
* **Every 3 months** - Triggers quarterly after the start date
* **Every 6 months** - Triggers twice per year
* **Every 12 months** - Same as annually, triggers once per year
For example, if an employee's start date is July 1, 2023:
* **3-month intervals**: Will trigger on October 1, 2023, January 1, 2024, April 1, 2024, etc.
* **6-month intervals**: Will trigger on January 1, 2024, July 1, 2024, January 1, 2025, etc.
* **Annual**: Will trigger on July 1, 2024, July 1, 2025, etc.
### Trigger Timing (Optional)
Customize when the trigger activates relative to the anniversary date. You can specify timing in days, weeks, or months:
**Examples:**
* **On the anniversary date** - Triggers exactly on the milestone date (default)
* **3 days before** - Triggers 3 days before the anniversary
* **1 week before** - Triggers 7 days before the anniversary
* **2 weeks before** - Triggers 14 days before the anniversary
* **1 month before** - Triggers 30 days before the anniversary
* **1 week after** - Triggers 7 days after the anniversary
* **2 months after** - Triggers 60 days after the anniversary
You can enter any combination using days, weeks, or months (e.g., "10 days before", "3 weeks after", "2 months before"). This flexibility is useful for preparation time or follow-up activities. Leave blank to trigger exactly on the milestone date.
### Number of Triggers (Optional)
Limit how many times this trigger will activate for each employee:
* Enter a number (e.g., 3) to limit the trigger to only fire that many times
* This will trigger on the user's 1st, 2nd, and 3rd anniversaries only
* Leave blank for unlimited triggers (recommended for ongoing processes)
### Advanced Filters
Use advanced filters to target specific groups of employees:
* **Department filters** - Target specific departments
* **Manager filters** - Target managers or individual contributors
Connect your HRIS (like Workday, BambooHR, or Personio) to ensure you have accurate work anniversary dates and employee data.
## Common Use Cases
### Annual Compliance Training
Mandatory training reminders for safety, compliance, and regulatory requirements.
### Performance Review Cycles
Annual performance evaluations and 360-degree feedback collection.
### Benefits Enrollment
Annual benefits review periods and open enrollment reminders.
### Career Development Planning
Skills assessments and career development conversations.
### Compensation Reviews
Salary and compensation review processes at appropriate intervals.
# How Tracks Work
Source: https://help.doozy.live/tracks/user-experience
How you'll receive content, complete tasks, and track your progress through a Doozy track.
When you're enrolled in a track, Doozy guides you through a series of steps - delivering content directly to you in Slack. Here's what to expect.
***
## ๐ฌ How Content is Delivered
All track content arrives as **direct messages from Doozy** in Slack. You'll receive notifications just like any other Slack message.
| Step Type | What You'll Receive |
| --------------------- | ------------------------------------------------------------- |
| **Message** | A direct message with information, instructions, or resources |
| **Poll** | A single question with buttons to submit your response |
| **Survey** | A multi-question form delivered in your DMs |
| **Quiz** | Interactive questions to test your knowledge |
| **Task** | A to-do item with details and a completion button |
| **Introduction** | A group DM connecting you with a teammate |
| **Mentor Assignment** | A group DM with your assigned mentor or buddy |
Steps are delivered on a schedule set by your admin. You might receive multiple steps on the same day, or they may be spread out over days or weeks.
***
## ๐ Your To-Do List
When you receive quizzes, surveys, tasks, or introductions that need action, they appear in your **to-do list** on the Doozy home screen.
### Finding Your To-Dos
1. Open **Doozy** from your Slack sidebar
2. Look for the **๐ Your to-dos** section at the top
3. Click on any item to take action
### What Appears in Your To-Dos
| Item | Icon | Actions |
| ---------------- | ---- | ---------------- |
| **Quiz** | ๐ | Take quiz |
| **Survey** | ๐ | Take survey |
| **Poll** | ๐ | Take poll |
| **Task** | ๐ผ | Mark as complete |
| **Introduction** | ๐ค | Schedule meeting |
Each to-do shows:
* **Title** - What you need to do
* **Due date** - When it's due (if set)
* **Track name** - Which track it's from (e.g., "via Onboarding Track")
Mandatory items appear at the top of your list. Complete them first to stay on track!
### When You're All Caught Up
If you have no pending items, you'll see: **"You're all caught up โ
"**
***
## ๐ฅ Finding Your Mentor
If your track includes a mentor assignment, you'll be paired with someone to guide you. Here's how to find and connect with them:
### On the Doozy Home Screen
1. Open **Doozy** from your Slack sidebar
2. Look for the **Mentoring** section
3. You'll see your mentor's name and a link to your shared channel
Your mentor card shows:
* **Who your mentor is** - Their name with a link to their profile
* **Open Slack Channel** - Direct link to your group DM
* **Assignment date** - When you were paired
### Contacting Your Mentor
Click **Open Slack Channel** to jump directly to your group DM with your mentor. This is your space to:
* Ask questions
* Schedule 1:1 meetings
* Get guidance and support
Your mentor was matched based on factors like timezone, location, and availability to give you the best support.
***
## ๐ Viewing Your Progress
You can check your progress through any track at any time.
### Finding Your Enrolled Tracks
1. Open **Doozy** from your Slack sidebar
2. Click **๐ค๏ธ Tracks**
3. Look for the **Enrolled Tracks** section
4. Click **View** on any track to see details
### Understanding Your Progress
The progress view shows each step and its status:
| Status | Icon | Meaning |
| ----------------- | ---- | --------------------------------------------------------------------------- |
| **Completed** | โ
| You've finished this step |
| **In progress** | ๐ | This step has been sent and is waiting for your action |
| **Action needed** | โณ | This step requires you to do something (take a quiz, complete a task, etc.) |
| **Pending** | ๐ | This step hasn't been sent yet |
You'll also see a summary like:
* **"Step 3 of 8"** - How far through the track you are
* **"2 steps need your attention"** - Items waiting for your action
* **"All done!"** - You've completed the track
***
## โ Getting Help
### Contact Track Admins
Each track has assigned admins who can help if you have questions or issues:
1. Open **Doozy** โ **๐ค๏ธ Tracks**
2. View the track you need help with
3. Look for **Need help? Contact the track admins**
4. Reach out to any listed admin
### Common Questions
**I missed a message - where can I find it?**
Check your DMs with Doozy. All track messages are sent there and stay in your message history.
**I can't find my to-do list**
Open Doozy from your Slack sidebar. Your to-dos appear near the top of the home screen.
**My mentor isn't responding**
Check the Mentoring section on your Doozy home screen for the direct channel link. If you're still having issues, contact the track admins.
**I want to leave a track**
Contact your track admin - they can remove you from a track if needed. Removing you cancels any open quizzes, surveys, tasks, introductions, and invitations still outstanding from that track, so they disappear from your to-do list. Anything Doozy already sent you stays in your DM history.
***
## ๐ Related
Browse and join available tracks yourself
See what tracks are commonly used for
Learn about the tracks feature
Learn more about quizzes in Doozy
# How to View Track Progress
Source: https://help.doozy.live/tracks/view-track-progress
Learn how to view the progress of a track in Doozy Tracks.
## How to View Track Progress
To view the progress of a track, follow these steps:
1. Go to [doozy.live/app](https://doozy.live/app) and open **Tracks**.
2. Select the active track you want to view progress for.
You will see all the steps within the track, along with the progress for users in each step.
### Step Statuses
* **In Progress**: The step is currently being worked on by the user.
* **Completed**: The step has been successfully completed by the user.
* **Failed**: The step was not completed successfully.
Note: Users may be in progress in multiple steps simultaneously if the steps are long-running. For example, a user may enter a quiz step, but this step will only be marked as completed once all questions have been sent to the user.
## Downloading Track Progress Data
You can export track progress data as a CSV file for further analysis or reporting purposes. This is particularly useful for tracking user completion rates, identifying bottlenecks, and generating usage reports.
To download track progress data:
1. While viewing the track progress (following the steps above), look for the **Download as CSV** button.
2. Click the button to generate and download the CSV file.
3. The file will contain detailed information including:
* User names and identifiers
* Manager name/Email
* Department
* Current step status for each user
* Completion timestamps
* Progress percentages
* Step-by-step completion data
The exported CSV can be opened in spreadsheet applications like Excel or Google Sheets for detailed analysis of your track's performance and user engagement.
If you have any questions, reach out to the Customer Success team via Slack or email us at [hello@doozy.live](mailto:hello@doozy.live).
# Create a Custom Icebreaker
Source: https://help.doozy.live/trivia-and-icebreakers/how-to-create-an-icebreaker
Build your own icebreaker questions to use in scheduled icebreaker activities.
When you set up an icebreaker activity, you can use Doozy's curated question bank or
your own **custom icebreaker**. This guide covers creating your own set of questions.
***
## ๐ Getting Started
1. Go to [doozy.live/app](https://doozy.live/app) and open **Icebreakers**
2. Create a new custom icebreaker
3. Add your questions
4. Give your icebreaker a name and save it
***
## โ๏ธ Adding Questions
| Method | Description |
| ---------------- | ----------------------------------------------------- |
| **Manual** | Write your own custom questions |
| **AI Generated** | Let Doozy's AI draft questions from a topic or prompt |
Mix and match to build the perfect set.
***
## ๐ค Using Your Icebreaker
Once saved, your custom icebreaker is available whenever you set up an icebreaker
activity. In the activity's **Content** setting, choose **Custom template** and pick
your icebreaker.
See [Schedule a Custom Icebreaker](/trivia-and-icebreakers/schedule-a-custom-icebreaker)
for the full walkthrough.
***
## ๐ Related
Send your icebreaker to your team
Learn about all options
# Set Up Trivia & Icebreakers
Source: https://help.doozy.live/trivia-and-icebreakers/how-to-set-up-trivia
Start daily trivia or icebreakers in your Slack channel to get your team chatting.
Get your team engaged with daily trivia questions or fun icebreaker prompts. Set up takes just a minute!
***
## ๐ Getting Started
1. Go to [doozy.live/app](https://doozy.live/app) and open **Icebreakers**
2. Create a new **trivia** or **icebreaker** activity
3. Pick your channel, content, time, and frequency
4. Save and you're done!
To post in a private channel, first invite Doozy by typing `/invite @doozy` in that channel.
***
## โ๏ธ Configuration
Both trivia and icebreaker activities share these settings:
| Setting | Description |
| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Content** | Use Doozy's curated question bank, or pick your own - a [custom quiz](/quizzes/how-to-create-a-quiz) for trivia, or a [custom icebreaker](/trivia-and-icebreakers/how-to-create-an-icebreaker) for icebreakers |
| **Send to** | Where it posts - a channel, channel members, individuals, or groups |
| **Schedule** | The days of the week and time of day it posts |
### Trivia-only settings
Trivia activities have an extra **Configure** step:
| Setting | Options |
| ----------------- | --------------------------------------------------- |
| **Delivery** | One question per day, or a full round per day |
| **Scoring** | 1 point per correct, or points + speed bonus |
| **Leaderboard** | Show a leaderboard to rank players |
| **Intro message** | An optional message posted before the trivia starts |
| **Expiry** | Optionally close answering after a set time |
To post in a private channel, first invite Doozy by typing `/invite @doozy` in that channel.
***
## ๐ Scoring (Trivia)
With **points + speed bonus** scoring:
| Component | Points |
| --------------------------- | ---------- |
| **Correct answer** | 100 points |
| **Speed bonus (1st place)** | +20 points |
| **Speed bonus (2nd place)** | +19 points |
| **Speed bonus (3rd place)** | +18 points |
| **...down to 20th place** | +1 point |
The first 20 people to answer correctly earn bonus points based on how fast they responded.
***
## ๐ง Icebreakers vs Trivia
| Type | What It Does |
| ---------------- | ------------------------------------------------------- |
| **Daily Trivia** | Multiple-choice questions with scoring and leaderboards |
| **Icebreakers** | Fun prompts to spark conversation (no scoring) |
### Icebreaker Examples
* "What food best describes where you were born?"
* "Share the most ridiculous photo of your pet!"
* "What's your go-to comfort movie?"
***
## ๐ ๏ธ Managing Trivia & Icebreakers
To update, pause, or cancel:
1. Go to [doozy.live/app](https://doozy.live/app) and open **Icebreakers**
2. Find your trivia or icebreaker activity
3. Use its actions menu (**โฎ**) to edit, pause, or cancel it
***
## ๐ Related
Scoring, leaderboards, and weekly themes
Create your own icebreaker questions
# Manage trivia and icebreakers
Source: https://help.doozy.live/trivia-and-icebreakers/manage-trivia-icebreakers
Edit, pause, or cancel your trivia and icebreaker activities.
To manage, pause, or cancel daily trivia and scheduled icebreakers:
1. Go to [doozy.live/app](https://doozy.live/app) and open **Icebreakers**
2. Find the trivia or icebreaker activity you want to manage
3. Use its actions menu (**โฎ**) to edit, pause, or cancel it
# Trivia & Icebreakers
Source: https://help.doozy.live/trivia-and-icebreakers/overview
Daily trivia questions and fun icebreaker prompts to engage your team.
Keep your team engaged with daily trivia competitions and conversation-starting icebreakers. Both post automatically to your Slack channel on a schedule you choose.
***
## ๐ฏ Trivia vs Icebreakers
| Feature | Daily Trivia | Icebreakers |
| ----------- | ------------------------- | ----------------------- |
| **Format** | Multiple-choice questions | Open-ended prompts |
| **Scoring** | Points and leaderboards | No scoring |
| **Goal** | Friendly competition | Spark conversation |
| **Themes** | Rotating weekly topics | Varied personal prompts |
***
## ๐ง Daily Trivia
A new trivia question posts every day at your scheduled time. Answer quickly to earn more points!
### How It Works
1. **Question posted** โ Multiple-choice trivia appears in your channel
2. **Team answers** โ Everyone submits their answer
3. **Faster = more points** โ Speed bonus for the first 20 correct answers
4. **Leaderboards** โ Track weekly and monthly standings
### Scoring
| Component | Points |
| ------------------------- | ---------- |
| **Correct answer** | 100 points |
| **1st place speed bonus** | +20 points |
| **2nd place** | +19 points |
| **3rd place** | +18 points |
| **...down to 20th** | +1 point |
### Weekly Themes
Topics rotate each week: Science, History, Geography, Pop Culture, Sports, Movies & TV, Music, and more.
GIFs posted with questions may (or may not!) be helpful clues...
***
## ๐ง Icebreakers
Fun prompts that help teammates get to know each other. No scoring - just conversation!
### Example Prompts
| Category | Example |
| ------------ | ----------------------------------------------------- |
| **Personal** | "What's your go-to comfort food?" |
| **Fun** | "Share the most ridiculous photo of your pet!" |
| **Travel** | "What's the best trip you've ever taken?" |
| **Work** | "What's the best career advice you've received?" |
| **Random** | "If you could have any superpower, what would it be?" |
***
## ๐ Getting Started
1. Go to [doozy.live/app](https://doozy.live/app) and open **Icebreakers**
2. Create a trivia or icebreaker activity
3. Pick your channel, content, days, and time
4. Save to start posting
To post in a private channel, first invite Doozy by typing `/invite @doozy` in that channel.
Schedule trivia and icebreakers at different times to avoid overlap!
***
## โญ Best Practices
| Practice | Why It Works |
| ----------------------- | --------------------------------------------------- |
| **Post in the morning** | Gives people time to participate throughout the day |
| **Vary frequency** | 1-3 icebreakers per week avoids fatigue |
| **Lead by example** | Respond first to encourage participation |
| **Mix it up** | Run both trivia and icebreakers for variety |
***
## ๐ Related
Configure schedule and settings
Create your own questions
Update or cancel trivia and icebreakers
# Schedule a Custom Icebreaker
Source: https://help.doozy.live/trivia-and-icebreakers/schedule-a-custom-icebreaker
Send your custom icebreaker to channels, teams, or individuals.
Once you've created a custom icebreaker, schedule it to go out to your team automatically.
***
## ๐ Getting Started
1. Go to [doozy.live/app](https://doozy.live/app) and open **Icebreakers**
2. Create a new icebreaker activity
3. In the **Content** setting, choose **Custom template** and pick your icebreaker
4. Set the channel and schedule (see below)
5. Save to start posting
Don't have a custom icebreaker yet? [Create one first](/trivia-and-icebreakers/how-to-create-an-icebreaker)!
***
## ๐ Destination Options
| Destination | Description |
| --------------------------- | --------------------------------------------- |
| **Post in a channel** | Icebreaker appears publicly in the channel |
| **Send to channel members** | Each channel member receives a private DM |
| **Send to individual(s)** | Specific people you select receive a DM |
| **Send to team(s)** | All members of a department/team receive a DM |
To send to teams, you'll need to [connect your HRIS](/integrations/how-to-connect-my-hris) first.
To post in a private channel, first invite Doozy by typing `/invite @doozy` in that channel.
***
## โฐ Scheduling Options
| Option | Description |
| ------------- | ------------------------------------------ |
| **Now** | Send immediately |
| **Scheduled** | Pick a specific date and time |
| **Recurring** | Repeat on a schedule (daily, weekly, etc.) |
***
## ๐ฏ Common Use Cases
| Use Case | Recommended Setup |
| -------------------------- | --------------------------------------- |
| **Team bonding** | Post to team channel weekly |
| **New hire welcome** | Send to individual on their first day |
| **All-hands warm-up** | Post to #general before company meeting |
| **Remote team connection** | Send to remote team members via DM |
***
## ๐ Related
Build your own custom questions
Learn about all trivia and icebreaker options