What This Agent Does
This workflow delivers automated daily trivia questions to your team's Slack channel while maintaining a complete log in Google Sheets. Every day, the agent randomly selects a difficulty level (easy, medium, or hard), fetches a fresh trivia question from the Open Trivia Database, formats it beautifully for Slack, and archives each question for future reference. It's a perfect way to boost team engagement, spark conversations, and add a fun learning element to your workplace culture.
Key Benefits:
-
Saves 15+ minutes daily by eliminating manual trivia research and posting
-
Increases team engagement with zero-effort daily content that encourages interaction
-
Builds a knowledge repository automatically in Google Sheets for tracking participation and reusing questions
-
Fully customizable difficulty ensures content stays fresh and appropriately challenging
Perfect Use Cases:
- Daily team engagement in remote or hybrid workplaces
- Morning standup ice-breakers
- Learning and development initiatives
- Community building in large Slack workspaces
- Educational content delivery for training programs
Who Is It For
This workflow is ideal for:
-
Team Leaders & Managers who want to foster team bonding and create daily touchpoints without manual effort
-
HR & Culture Teams looking to maintain engagement and build community across distributed teams
-
Community Managers running Slack communities who need consistent, quality content
-
Training Coordinators seeking to supplement learning programs with bite-sized knowledge challenges
-
Small Business Owners who want to keep their teams connected and energized with minimal time investment
No coding experience required! If you can connect a few apps and follow step-by-step instructions, you can set this up in under 20 minutes.
Required Integrations
Slack
Why it's needed: Slack is where your trivia questions will be posted daily, making them visible to your team and encouraging participation through reactions and thread discussions.
Setup Steps:
-
Create a Slack App (if you haven't already):
-
Configure Bot Permissions:
- Navigate to "OAuth & Permissions" in the left sidebar
- Under "Scopes" → "Bot Token Scopes", add:
chat:write, chat:write.public
- These permissions allow the bot to post messages to channels
-
Install to Workspace:
- Scroll to top of "OAuth & Permissions" page
- Click "Install to Workspace" and authorize
- Copy the "Bot User OAuth Token" (starts with
xoxb-)
-
Configure in TaskAGI:
- Go to TaskAGI Integrations page
- Click "Add Integration" → Select "Slack"
- Paste your Bot User OAuth Token
- Name the connection (e.g., "Company Slack")
- Click "Test Connection" to verify
- Save the integration
Pro Tip: Invite your bot to the target channel by typing /invite @Trivia Bot in the channel where you want questions posted.
Google Sheets
Why it's needed: Google Sheets serves as your trivia archive, logging every question posted with timestamps, difficulty levels, and question details. This creates a searchable history and enables analytics on engagement patterns.
Setup Steps:
-
Create a Google Sheets Document:
- Go to https://sheets.google.com
- Create a new spreadsheet named "Trivia Log"
- In the first row, add headers:
Timestamp, Difficulty, Category, Question, Correct Answer, All Answers
- Copy the full URL from your browser (you'll need this later)
-
Enable Google Sheets API:
- Visit https://console.cloud.google.com
- Create a new project or select existing one
- Navigate to "APIs & Services" → "Library"
- Search for "Google Sheets API" and enable it
-
Create Service Account Credentials:
- Go to "APIs & Services" → "Credentials"
- Click "Create Credentials" → "Service Account"
- Name it "TaskAGI Trivia Logger"
- Click "Create and Continue"
- Skip optional steps and click "Done"
- Click on the created service account
- Go to "Keys" tab → "Add Key" → "Create new key"
- Choose JSON format and download the file
-
Share Your Sheet:
- Open your downloaded JSON file
- Find the
client_email field (looks like name@project.iam.gserviceaccount.com)
- In your Google Sheet, click "Share"
- Paste the service account email
- Grant "Editor" permissions
- Uncheck "Notify people" and click "Share"
-
Configure in TaskAGI:
- Go to TaskAGI Integrations page
- Click "Add Integration" → Select "Google Sheets"
- Upload your JSON credentials file OR paste the JSON content
- Name the connection (e.g., "Trivia Sheets")
- Click "Test Connection" to verify
- Save the integration
Configuration Steps
Step 1: Configure the Schedule Trigger
The Schedule Trigger node determines when your trivia questions are posted.
- Click on the "Schedule Trigger" node
- Set your preferred schedule:
-
Interval:
daily
-
Time:
09:00 (or your preferred time - consider when your team is most active)
-
Timezone: Select your team's timezone
-
Days: Select weekdays only if you prefer (Monday-Friday)
Example Configuration:
interval: daily
time: 09:00
timezone: America/New_York
days: [Monday, Tuesday, Wednesday, Thursday, Friday]
Step 2: Choose Random Difficulty (No Configuration Needed)
This Function node automatically selects a random difficulty level. The code is pre-configured to randomly choose between "easy", "medium", and "hard" with equal probability.
Step 3: Route by Difficulty (Pre-configured)
The Switch node routes the workflow to the appropriate trivia API endpoint based on the randomly selected difficulty. No configuration needed - it automatically reads the output from the previous node.
Step 4: Trivia Fetch Nodes (Easy, Medium, Hard)
These three HTTP Request nodes fetch questions from the Open Trivia Database. They're pre-configured with the correct endpoints:
-
Fetch Easy Trivia:
https://opentdb.com/api.php?amount=1&difficulty=easy&type=multiple
-
Fetch Medium Trivia:
https://opentdb.com/api.php?amount=1&difficulty=medium&type=multiple
-
Fetch Hard Trivia:
https://opentdb.com/api.php?amount=1&difficulty=hard&type=multiple
Optional Customization: You can add category filters to focus on specific topics:
Step 5: Format Message Nodes (Pre-configured)
The three Format Message nodes (Easy, Medium, Hard) automatically structure the trivia data into Slack-friendly formatting with emojis and proper answer shuffling. No configuration needed.
Step 6: Merge Branches (Pre-configured)
The Merge node combines the three difficulty branches back into a single flow. No configuration required.
Step 7: Extract Trivia Data (Pre-configured)
This Function node parses the trivia response and prepares data for logging. Pre-configured and ready to use.
Step 8: Configure Post to Slack
The Slack Send Message node posts your formatted trivia to Slack.
- Click on the "Post to Slack" node
- Configure the following:
-
Integration: Select your connected Slack integration
-
Channel: Enter your channel name (e.g.,
#general or #trivia)
-
Message: This should automatically reference the formatted message from previous nodes:
{{4643.output}}
-
Bot Name (optional):
Trivia Bot or your preferred name
-
Icon Emoji (optional):
:question: or :brain:
Pro Tip: Test with a private channel first to ensure formatting looks perfect before going live to your main channel.
Step 9: Configure Log to Google Sheets
The Google Sheets Append Row node logs each trivia question to your spreadsheet.
- Click on the "Log to Google Sheets" node
- Configure the following:
-
Integration: Select your connected Google Sheets integration
-
Sheet URL: Paste the full URL of your "Trivia Log" spreadsheet
-
Values to Append: Map the data fields:
[
"{{$now}}",
"{{4643.difficulty}}",
"{{4643.category}}",
"{{4643.question}}",
"{{4643.correct_answer}}",
"{{4643.all_answers}}"
]
Important: Ensure the order matches your spreadsheet headers exactly.
Testing Your Agent
Running Your First Test
-
Save Your Workflow: Click the "Save" button in the top-right corner
-
Manual Test Run: Click "Test Workflow" or "Run Once" button
-
Monitor Execution: Watch the workflow execution panel as each node processes
Verification Checklist
During Execution:
- ✅ Schedule Trigger fires successfully
- ✅ Random difficulty is selected (check the node output)
- ✅ Correct HTTP request branch executes (only one of the three trivia fetch nodes should run)
- ✅ Message formatting completes without errors
- ✅ Merge node combines the data
After Execution:
- ✅ Check your Slack channel - you should see a formatted trivia question with:
- Difficulty indicator (🟢 Easy, 🟡 Medium, or 🔴 Hard)
- Category label
- The question
- Four answer options labeled A, B, C, D
- Engagement prompt
- ✅ Check your Google Sheet - a new row should appear with:
- Current timestamp
- Difficulty level
- Category
- Question text
- Correct answer
- All answer options
Success Indicators:
- Message appears in Slack within 5-10 seconds
- Formatting is clean and readable
- Google Sheet updates simultaneously
- No error notifications in TaskAGI
Test Different Scenarios
Run the workflow 3-4 times manually to ensure all difficulty levels work:
- You should see different difficulty levels across multiple runs
- Each difficulty should fetch and format correctly
- All data should log properly regardless of difficulty
Troubleshooting
Slack Integration Issues
Problem: "Channel not found" error
-
Solution: Ensure you've invited your bot to the channel using
/invite @YourBotName
-
Solution: Verify the channel name includes the
# symbol (e.g., #general)
-
Solution: Check that your bot has
chat:write and chat:write.public permissions
Problem: Message posts but formatting looks wrong
-
Solution: Check that the message field references the correct node output:
{{4643.output}}
-
Solution: Verify the Format Message nodes are executing (check their output in test mode)
Problem: "Invalid token" error
-
Solution: Regenerate your Bot User OAuth Token in Slack API settings
-
Solution: Ensure you copied the Bot token (starts with
xoxb-), not the User token
Google Sheets Integration Issues
Problem: "Permission denied" error
-
Solution: Verify you shared the sheet with the service account email from your JSON credentials
-
Solution: Ensure the service account has "Editor" permissions, not just "Viewer"
-
Solution: Check that the Google Sheets API is enabled in your Google Cloud project
Problem: Data appears in wrong columns
-
Solution: Verify your sheet headers match exactly:
Timestamp, Difficulty, Category, Question, Correct Answer, All Answers
-
Solution: Check the values array in the node configuration matches the header order
-
Solution: Ensure there are no extra columns or merged cells in row 1
Problem: "Sheet URL invalid" error
-
Solution: Copy the complete URL from your browser, including
https://docs.google.com/spreadsheets/d/...
-
Solution: Ensure the sheet is not in "view only" mode
-
Solution: Try using the Sheet ID instead of the full URL (the long string in the URL)
Workflow Execution Issues
Problem: Workflow doesn't trigger at scheduled time
-
Solution: Verify your timezone setting matches your local timezone
-
Solution: Check that the workflow is "Active" (toggle in top-right corner)
-
Solution: Ensure your TaskAGI account has sufficient execution credits
Problem: HTTP request fails or times out
-
Solution: The Open Trivia Database API is free but occasionally experiences downtime - wait 5 minutes and retry
-
Solution: Check your internet connectivity
-
Solution: Verify the API URL hasn't changed at https://opentdb.com/api_config.php
Problem: Only one difficulty level works
-
Solution: Check the Switch node configuration - ensure all three cases are properly defined
-
Solution: Verify each HTTP Request node has the correct difficulty parameter in its URL
-
Solution: Test each branch individually by temporarily removing the Switch node
Data Flow Issues
Problem: Merge node shows errors
-
Solution: Ensure at least one of the three trivia fetch branches completes successfully
-
Solution: Check that the Format Message nodes are producing output
-
Solution: Verify the Merge node is configured to wait for only one branch (not all three)
Next Steps
After Successful Setup
Immediate Actions:
-
Activate the Workflow: Toggle the "Active" switch to enable automatic daily execution
-
Announce to Your Team: Post a message in your Slack channel introducing the new daily trivia feature
-
Monitor First Week: Check daily that questions are posting correctly and adjust timing if needed
-
Gather Feedback: Ask your team about difficulty preferences and timing
Optimization Suggestions
Enhance Engagement:
-
Add Reaction Voting: Encourage team members to react with 🇦 🇧 🇨 🇩 emojis to vote for answers
-
Create a Leaderboard: Use your Google Sheets log to track who answers correctly most often
-
Weekly Recaps: Set up a second workflow that summarizes the week's questions every Friday
-
Prize System: Offer small rewards for monthly trivia champions
Customize Content:
-
Category Rotation: Modify the HTTP request URLs to rotate through specific categories on different days
- Monday: History (
&category=23)
- Wednesday: Science (
&category=17)
- Friday: Entertainment (
&category=11)
-
Difficulty Progression: Instead of random selection, increase difficulty throughout the week (Easy Monday → Hard Friday)
-
Themed Weeks: Temporarily lock to specific categories for themed weeks (e.g., "Geography Week")
Improve Logging:
-
Add Response Tracking: Create a Google Form linked to your sheet for team members to submit answers
-
Analytics Dashboard: Use Google Sheets formulas or Data Studio to visualize participation trends
-
Answer Reveal: Set up a second Slack message 4 hours later that posts the correct answer with explanation
Advanced Usage Tips
Multi-Channel Deployment:
Duplicate this workflow to post different difficulty levels to different channels:
-
#trivia-easy for casual participants
-
#trivia-hard for competitive players
-
#trivia-random for mixed difficulty
Integration Expansion:
-
Add Microsoft Teams: Duplicate the Slack node and configure for Teams to reach more team members
-
Email Digest: Add an email node to send weekly trivia compilations to subscribers
-
Discord Support: Replace Slack with Discord integration for gaming communities
Gamification Features:
-
Streak Tracking: Modify the Google Sheets logging to track consecutive correct answers
-
Point System: Assign points based on difficulty (Easy: 1pt, Medium: 2pts, Hard: 3pts)
-
Team Competitions: Split your organization into teams and track cumulative scores
Content Quality:
-
Question Review: Periodically review your Google Sheets log to identify and exclude poor-quality questions
-
Custom Questions: Build your own trivia database and replace the API with your curated content