MCP App Store

Overview

Ask plain-language questions about your team and organization—answered with data from your Workleap account. Instead of navigating dashboards, ask things like "What's our engagement score this month?", "Who is the new hire on my team?", or "Show me my recent recognition" and get a concise, visual answer. What it covers: - Engagement scores, eNPS, and participation trends—for your team or the whole org - Employee profiles, hire dates, and reporting relationships - Recognition cards you've sent and received - Team structures and org context, so references like "my direct reports" resolve automatically Built for managers and HR teams who want faster access to the signals already in Workleap, without switching tools.

Tools

analyze_engagement

ChatGPT
Analyze employee engagement scores and recognition metrics for a team or organization. Retrieves quantitative survey data from Workleap Officevibe — pulse survey metrics (engagement score, eNPS, participation rate) and recognition activity — then produces a written analysis with actionable insights and citations back to the source data. Do NOT use this tool when the user wants to read specific employee comments, suggestions, or verbatim survey text — use analyze_feedback instead. This tool is for numeric scores, ratings, and aggregate trends, not individual written responses. Supports filtering by team name, manager, parent team, or subteams. Defaults to the authenticated user's primary managed team when no filter is specified. Use this tool when the user asks about engagement scores, eNPS, participation rates, or recognition trends. Particularly well-suited for: - Manager check-ins: understanding engagement score and trend for a team - HR or leadership reviews: company-wide or cross-team engagement metrics - Identifying areas for improvement based on low-scoring survey dimensions - Tracking engagement changes over a custom date range Returns: answer: A written analysis of the team's engagement metrics and trends. Present this directly to the user. sources: The data points cited in the analysis (survey results, scores) with title and URL. Render as citations below the answer. On error: Ask the user to verify the team or manager name and retry once. If it fails again, inform the user the engagement data is temporarily unavailable. Do not fabricate scores or engagement numbers.

analyze_engagement

ChatGPT
Analyze employee engagement scores and recognition metrics for a team or organization. Retrieves quantitative survey data from Workleap Officevibe — pulse survey metrics (engagement score, eNPS, participation rate) and recognition activity — then produces a written analysis with actionable insights and citations back to the source data. Do NOT use this tool when the user wants to read specific employee comments, suggestions, or verbatim survey text — use analyze_feedback instead. This tool is for numeric scores, ratings, and aggregate trends, not individual written responses. Supports filtering by team name, manager, parent team, or subteams. Defaults to the authenticated user's primary managed team when no filter is specified. Use this tool when the user asks about engagement scores, eNPS, participation rates, or recognition trends. Particularly well-suited for: - Manager check-ins: understanding engagement score and trend for a team - HR or leadership reviews: company-wide or cross-team engagement metrics - Identifying areas for improvement based on low-scoring survey dimensions - Tracking engagement changes over a custom date range Returns: answer: A written analysis of the team's engagement metrics and trends. Present this directly to the user. sources: The data points cited in the analysis (survey results, scores) with title and URL. Render as citations below the answer. On error: Ask the user to verify the team or manager name and retry once. If it fails again, inform the user the engagement data is temporarily unavailable. Do not fabricate scores or engagement numbers.

analyze_engagement

ChatGPT
Analyze employee engagement scores and recognition metrics for a team or organization. Retrieves quantitative survey data from Workleap Officevibe — pulse survey metrics (engagement score, eNPS, participation rate) and recognition activity — then produces a written analysis with actionable insights and citations back to the source data. Do NOT use this tool when the user wants to read specific employee comments, suggestions, or verbatim survey text — use analyze_feedback instead. This tool is for numeric scores, ratings, and aggregate trends, not individual written responses. Supports filtering by team name, manager, parent team, or subteams. Defaults to the authenticated user's primary managed team when no filter is specified. Use this tool when the user asks about engagement scores, eNPS, participation rates, or recognition trends. Particularly well-suited for: - Manager check-ins: understanding engagement score and trend for a team - HR or leadership reviews: company-wide or cross-team engagement metrics - Identifying areas for improvement based on low-scoring survey dimensions - Tracking engagement changes over a custom date range Returns: answer: A written analysis of the team's engagement metrics and trends. Present this directly to the user. sources: The data points cited in the analysis (survey results, scores) with title and URL. Render as citations below the answer. On error: Ask the user to verify the team or manager name and retry once. If it fails again, inform the user the engagement data is temporarily unavailable. Do not fabricate scores or engagement numbers.

analyze_feedback

ChatGPT
Analyze employee feedback from Officevibe pulse surveys and suggestion box. Retrieves qualitative text feedback submitted by employees through Officevibe — including survey responses, suggestions, and smart questions — then produces a written analysis that identifies urgent items, recurring themes, sentiment trends, and concrete recommended actions for the manager. Do NOT use this tool for numeric engagement scores, eNPS, or participation metrics — use analyze_engagement instead. This tool is for qualitative content: what employees are writing and saying, not how they rate numerically. Supports filtering by team name, manager, parent team, or subteams. Defaults to the authenticated user's primary managed team when no filter is specified. Individual contributors may not have access to feedback; this tool is primarily useful for managers and executives. Use this tool when the user asks what employees are saying, wants to surface specific feedback, or needs to understand qualitative themes. Particularly well-suited for: - Surfacing unread or unreplied feedback that needs a response - Understanding recurring themes around recognition, wellness, or alignment - Preparing for 1-on-1s or team retrospectives with qualitative context - Comparing feedback themes across teams or time periods - Identifying employee concerns or suggestions at the org level Returns: answer: A written analysis of the feedback themes and key items. Present this directly to the user. sources: The individual feedback items cited in the analysis with title and URL. Render as citations below the answer. On error: Ask the user to verify the team or manager name and retry once. If it fails again, inform the user that feedback data is temporarily unavailable. Do not fabricate feedback or attribute comments to employees.

analyze_feedback

ChatGPT
Analyze employee feedback from Officevibe pulse surveys and suggestion box. Retrieves qualitative text feedback submitted by employees through Officevibe — including survey responses, suggestions, and smart questions — then produces a written analysis that identifies urgent items, recurring themes, sentiment trends, and concrete recommended actions for the manager. Do NOT use this tool for numeric engagement scores, eNPS, or participation metrics — use analyze_engagement instead. This tool is for qualitative content: what employees are writing and saying, not how they rate numerically. Supports filtering by team name, manager, parent team, or subteams. Defaults to the authenticated user's primary managed team when no filter is specified. Individual contributors may not have access to feedback; this tool is primarily useful for managers and executives. Use this tool when the user asks what employees are saying, wants to surface specific feedback, or needs to understand qualitative themes. Particularly well-suited for: - Surfacing unread or unreplied feedback that needs a response - Understanding recurring themes around recognition, wellness, or alignment - Preparing for 1-on-1s or team retrospectives with qualitative context - Comparing feedback themes across teams or time periods - Identifying employee concerns or suggestions at the org level Returns: answer: A written analysis of the feedback themes and key items. Present this directly to the user. sources: The individual feedback items cited in the analysis with title and URL. Render as citations below the answer. On error: Ask the user to verify the team or manager name and retry once. If it fails again, inform the user that feedback data is temporarily unavailable. Do not fabricate feedback or attribute comments to employees.

analyze_feedback

ChatGPT
Analyze employee feedback from Officevibe pulse surveys and suggestion box. Retrieves qualitative text feedback submitted by employees through Officevibe — including survey responses, suggestions, and smart questions — then produces a written analysis that identifies urgent items, recurring themes, sentiment trends, and concrete recommended actions for the manager. Do NOT use this tool for numeric engagement scores, eNPS, or participation metrics — use analyze_engagement instead. This tool is for qualitative content: what employees are writing and saying, not how they rate numerically. Supports filtering by team name, manager, parent team, or subteams. Defaults to the authenticated user's primary managed team when no filter is specified. Individual contributors may not have access to feedback; this tool is primarily useful for managers and executives. Use this tool when the user asks what employees are saying, wants to surface specific feedback, or needs to understand qualitative themes. Particularly well-suited for: - Surfacing unread or unreplied feedback that needs a response - Understanding recurring themes around recognition, wellness, or alignment - Preparing for 1-on-1s or team retrospectives with qualitative context - Comparing feedback themes across teams or time periods - Identifying employee concerns or suggestions at the org level Returns: answer: A written analysis of the feedback themes and key items. Present this directly to the user. sources: The individual feedback items cited in the analysis with title and URL. Render as citations below the answer. On error: Ask the user to verify the team or manager name and retry once. If it fails again, inform the user that feedback data is temporarily unavailable. Do not fabricate feedback or attribute comments to employees.

get_contributions

ChatGPT
Retrieve and summarize a Workleap user's contributions over a date range. Searches across workplace tools connected to the user's Workleap account — project trackers, wikis, communication platforms, and calendar systems — then produces a written summary grouped by project or topic, with citations back to the source artifacts. Do NOT use this tool for questions about how someone is feeling, their engagement score, or employee survey responses — use analyze_engagement or analyze_feedback instead. This tool covers work output only. Use this tool when the user asks what someone has worked on, shipped, accomplished, or contributed. Particularly well-suited for: - Performance reviews and self-assessments - Weekly or quarterly status summaries - Onboarding: understanding a new teammate's recent work - Manager check-ins on a direct report's output Returns: answer: A written summary of the person's contributions, grouped by project or topic. Present this directly to the user. sources: The source artifacts cited in the summary (issues, documents, messages) with title and URL. Render as citations below the answer. On error: Ask the user to verify the person's name or email and retry once. If it fails again, inform the user the data is temporarily unavailable. Do not fabricate contributions or guess at the person's work history.

get_contributions

ChatGPT
Retrieve and summarize a Workleap user's contributions over a date range. Searches across workplace tools connected to the user's Workleap account — project trackers, wikis, communication platforms, and calendar systems — then produces a written summary grouped by project or topic, with citations back to the source artifacts. Do NOT use this tool for questions about how someone is feeling, their engagement score, or employee survey responses — use analyze_engagement or analyze_feedback instead. This tool covers work output only. Use this tool when the user asks what someone has worked on, shipped, accomplished, or contributed. Particularly well-suited for: - Performance reviews and self-assessments - Weekly or quarterly status summaries - Onboarding: understanding a new teammate's recent work - Manager check-ins on a direct report's output Returns: answer: A written summary of the person's contributions, grouped by project or topic. Present this directly to the user. sources: The source artifacts cited in the summary (issues, documents, messages) with title and URL. Render as citations below the answer. On error: Ask the user to verify the person's name or email and retry once. If it fails again, inform the user the data is temporarily unavailable. Do not fabricate contributions or guess at the person's work history.

get_contributions

ChatGPT
Retrieve and summarize a Workleap user's contributions over a date range. Searches across workplace tools connected to the user's Workleap account — project trackers, wikis, communication platforms, and calendar systems — then produces a written summary grouped by project or topic, with citations back to the source artifacts. Do NOT use this tool for questions about how someone is feeling, their engagement score, or employee survey responses — use analyze_engagement or analyze_feedback instead. This tool covers work output only. Use this tool when the user asks what someone has worked on, shipped, accomplished, or contributed. Particularly well-suited for: - Performance reviews and self-assessments - Weekly or quarterly status summaries - Onboarding: understanding a new teammate's recent work - Manager check-ins on a direct report's output Returns: answer: A written summary of the person's contributions, grouped by project or topic. Present this directly to the user. sources: The source artifacts cited in the summary (issues, documents, messages) with title and URL. Render as citations below the answer. On error: Ask the user to verify the person's name or email and retry once. If it fails again, inform the user the data is temporarily unavailable. Do not fabricate contributions or guess at the person's work history.

get_engagement_scores

ChatGPT
Retrieve and display engagement scores from Workleap Officevibe as a visual dashboard. Shows pulse survey metrics (engagement score, eNPS, participation rate) and all 10 engagement dimensions for a team or organization. When to use: - Engagement scores, eNPS, or participation rates for a team - Comparing engagement across teams or managers - Identifying strongest and weakest engagement dimensions - Quick visual overview of team health metrics Do NOT use for written analysis with insights (use analyze_engagement). Do NOT use for survey feedback text (use analyze_feedback). Do NOT use for peer recognition / Good Vibes (use get_good_vibes). Output: Returns per-team data: overall engagement score, 10 metric dimension scores, eNPS with promoter/detractor/passive distribution, and participation rate. All scores are on a 0-10 scale. Variations show change from the period start (positive = improvement, negative = decline). Score interpretation: - 8-10: Excellent — team is thriving in this area - 7-8: Very good — healthy, minor room for improvement - 6-7: Good — solid but worth monitoring - 5-6: Okay — emerging area of concern - 3-5: Poor — needs attention and action - 0-3: Critical — urgent intervention recommended eNPS ranges from -100 to +100 (promoters % minus detractors %). Positive eNPS is generally good; above +30 is strong. Response guidance: This tool returns a visual dashboard UI. If you are rendering the UI element, keep your text response to a brief 1-2 sentence commentary highlighting what stands out — do not restate scores the user can already see in the dashboard. If you are not rendering the UI, synthesize the results into a detailed summary. Parameter guidance: - Omit team_search_filters to see all teams managed by the user (up to 25). - Use multiple filter entries to compare teams side-by-side. - Set organization_wide: true for company-wide aggregate scores. - manager_name accepts full names (e.g. "Alice Chen"). On error: ask the user to verify the team/manager name and retry once. Never fabricate engagement scores.

get_engagement_scores

ChatGPT
Retrieve and display engagement scores from Workleap Officevibe as a visual dashboard. Shows pulse survey metrics (engagement score, eNPS, participation rate) and all 10 engagement dimensions for a team or organization. When to use: - Engagement scores, eNPS, or participation rates for a team - Comparing engagement across teams or managers - Identifying strongest and weakest engagement dimensions - Quick visual overview of team health metrics Do NOT use for written analysis with insights (use analyze_engagement). Do NOT use for survey feedback text (use analyze_feedback). Do NOT use for peer recognition / Good Vibes (use get_good_vibes). Output: Returns per-team data: overall engagement score, 10 metric dimension scores, eNPS with promoter/detractor/passive distribution, and participation rate. All scores are on a 0-10 scale. Variations show change from the period start (positive = improvement, negative = decline). Score interpretation: - 8-10: Excellent — team is thriving in this area - 7-8: Very good — healthy, minor room for improvement - 6-7: Good — solid but worth monitoring - 5-6: Okay — emerging area of concern - 3-5: Poor — needs attention and action - 0-3: Critical — urgent intervention recommended eNPS ranges from -100 to +100 (promoters % minus detractors %). Positive eNPS is generally good; above +30 is strong. Response guidance: This tool returns a visual dashboard UI. If you are rendering the UI element, keep your text response to a brief 1-2 sentence commentary highlighting what stands out — do not restate scores the user can already see in the dashboard. If you are not rendering the UI, synthesize the results into a detailed summary. Parameter guidance: - Omit team_search_filters to see all teams managed by the user (up to 25). - Use multiple filter entries to compare teams side-by-side. - Set organization_wide: true for company-wide aggregate scores. - manager_name accepts full names (e.g. "Alice Chen"). On error: ask the user to verify the team/manager name and retry once. Never fabricate engagement scores.

get_engagement_scores

ChatGPT
Retrieve and display engagement scores from Workleap Officevibe as a visual dashboard. Shows pulse survey metrics (engagement score, eNPS, participation rate) and all 10 engagement dimensions for a team or organization. When to use: - Engagement scores, eNPS, or participation rates for a team - Comparing engagement across teams or managers - Identifying strongest and weakest engagement dimensions - Quick visual overview of team health metrics Do NOT use for written analysis with insights (use analyze_engagement). Do NOT use for survey feedback text (use analyze_feedback). Do NOT use for peer recognition / Good Vibes (use get_good_vibes). Output: Returns per-team data: overall engagement score, 10 metric dimension scores, eNPS with promoter/detractor/passive distribution, and participation rate. All scores are on a 0-10 scale. Variations show change from the period start (positive = improvement, negative = decline). Score interpretation: - 8-10: Excellent — team is thriving in this area - 7-8: Very good — healthy, minor room for improvement - 6-7: Good — solid but worth monitoring - 5-6: Okay — emerging area of concern - 3-5: Poor — needs attention and action - 0-3: Critical — urgent intervention recommended eNPS ranges from -100 to +100 (promoters % minus detractors %). Positive eNPS is generally good; above +30 is strong. Response guidance: This tool returns a visual dashboard UI. If you are rendering the UI element, keep your text response to a brief 1-2 sentence commentary highlighting what stands out — do not restate scores the user can already see in the dashboard. If you are not rendering the UI, synthesize the results into a detailed summary. Parameter guidance: - Omit team_search_filters to see all teams managed by the user (up to 25). - Use multiple filter entries to compare teams side-by-side. - Set organization_wide: true for company-wide aggregate scores. - manager_name accepts full names (e.g. "Alice Chen"). On error: ask the user to verify the team/manager name and retry once. Never fabricate engagement scores.

get_good_vibes

ChatGPT
Retrieve and display Good Vibes (peer-to-peer recognition cards) from Workleap Officevibe. Shows recognition cards exchanged between employees — kudos, appreciation, and acknowledgements — rendered visually in the Good Vibes UI. When to use: - Recognition or kudos sent/received by a person or team - Who has or hasn't been recognized recently - Peer appreciation trends across a team or time period - Gathering recognition context for a performance review Do NOT use for engagement scores, eNPS, or participation (use analyze_engagement). Do NOT use for survey feedback or suggestion box text (use analyze_feedback). Parameter guidance: - received_by/sent_by accept full names (first + last). Use one at a time, not both. - team_search overrides all other filters — use it alone. - Cards are sorted newest-first. Max 250 per request; if the limit is hit, narrow the date range. - Recognition categories: Leadership, Team Player, Positivity, Excellence, Showing Up. On error: ask the user to verify the name/team and retry once. Never fabricate recognition data.

get_good_vibes

ChatGPT
Retrieve and display Good Vibes (peer-to-peer recognition cards) from Workleap Officevibe. Shows recognition cards exchanged between employees — kudos, appreciation, and acknowledgements — rendered visually in the Good Vibes UI. When to use: - Recognition or kudos sent/received by a person or team - Who has or hasn't been recognized recently - Peer appreciation trends across a team or time period - Gathering recognition context for a performance review Do NOT use for engagement scores, eNPS, or participation (use analyze_engagement). Do NOT use for survey feedback or suggestion box text (use analyze_feedback). Parameter guidance: - received_by/sent_by accept full names (first + last). Use one at a time, not both. - team_search overrides all other filters — use it alone. - Cards are sorted newest-first. Max 250 per request; if the limit is hit, narrow the date range. - Recognition categories: Leadership, Team Player, Positivity, Excellence, Showing Up. On error: ask the user to verify the name/team and retry once. Never fabricate recognition data.

get_good_vibes

ChatGPT
Retrieve and display Good Vibes (peer-to-peer recognition cards) from Workleap Officevibe. Shows recognition cards exchanged between employees — kudos, appreciation, and acknowledgements — rendered visually in the Good Vibes UI. When to use: - Recognition or kudos sent/received by a person or team - Who has or hasn't been recognized recently - Peer appreciation trends across a team or time period - Gathering recognition context for a performance review Do NOT use for engagement scores, eNPS, or participation (use analyze_engagement). Do NOT use for survey feedback or suggestion box text (use analyze_feedback). Parameter guidance: - received_by/sent_by accept full names (first + last). Use one at a time, not both. - team_search overrides all other filters — use it alone. - Cards are sorted newest-first. Max 250 per request; if the limit is hit, narrow the date range. - Recognition categories: Leadership, Team Player, Positivity, Excellence, Showing Up. On error: ask the user to verify the name/team and retry once. Never fabricate recognition data.

get_meeting_load_analysis

ChatGPT
Analyze team meeting load and focus time for the current work week (Monday to Friday) by examining calendar data. Calculates the percentage of working hours spent in meetings with multiple participants versus time available for focused work. Automatically retrieves calendar data for the current user and their team members, analyzes multi-participant meetings only, accounts for 15-minute meeting buffers, and presents results in a structured table format with health indicators and actionable recommendations. Returns comprehensive team meeting load metrics with individual member analysis, health indicators, and specific recommendations for optimizing team productivity and meeting culture. Invoke this function when users ask about team productivity, meeting efficiency, focus time availability, work-life balance, team health assessments, or meeting culture analysis. Examples: - "How is my team's meeting load this week?" - "Are we spending too much time in meetings?" - "Show me our team's productivity balance" - "Who might be overloaded with meetings?" - "What's our meeting culture like?" - "How much focus time does my team have?" - "Give me a team meeting load analysis" - "Which team members need meeting load support?"

get_meeting_load_analysis

ChatGPT
Analyze team meeting load and focus time for the current work week (Monday to Friday) by examining calendar data. Calculates the percentage of working hours spent in meetings with multiple participants versus time available for focused work. Automatically retrieves calendar data for the current user and their team members, analyzes multi-participant meetings only, accounts for 15-minute meeting buffers, and presents results in a structured table format with health indicators and actionable recommendations. Returns comprehensive team meeting load metrics with individual member analysis, health indicators, and specific recommendations for optimizing team productivity and meeting culture. Invoke this function when users ask about team productivity, meeting efficiency, focus time availability, work-life balance, team health assessments, or meeting culture analysis. Examples: - "How is my team's meeting load this week?" - "Are we spending too much time in meetings?" - "Show me our team's productivity balance" - "Who might be overloaded with meetings?" - "What's our meeting culture like?" - "How much focus time does my team have?" - "Give me a team meeting load analysis" - "Which team members need meeting load support?"

get_meeting_load_analysis

ChatGPT
Analyze team meeting load and focus time for the current work week (Monday to Friday) by examining calendar data. Calculates the percentage of working hours spent in meetings with multiple participants versus time available for focused work. Automatically retrieves calendar data for the current user and their team members, analyzes multi-participant meetings only, accounts for 15-minute meeting buffers, and presents results in a structured table format with health indicators and actionable recommendations. Returns comprehensive team meeting load metrics with individual member analysis, health indicators, and specific recommendations for optimizing team productivity and meeting culture. Invoke this function when users ask about team productivity, meeting efficiency, focus time availability, work-life balance, team health assessments, or meeting culture analysis. Examples: - "How is my team's meeting load this week?" - "Are we spending too much time in meetings?" - "Show me our team's productivity balance" - "Who might be overloaded with meetings?" - "What's our meeting culture like?" - "How much focus time does my team have?" - "Give me a team meeting load analysis" - "Which team members need meeting load support?"

get_officevibe_feedback_conversations

ChatGPT
Get feedback conversations from Officevibe for the current user and organization. This function retrieves the feedback conversations and their details. It will only return qualitative data and will not return quantitative metrics. If the user specifies a team or a date, you must use those parameters to filter the results correctly. This function can be called if the user is looking for feedback conversations regarding areas such as recognition, feedback, satisfaction, alignment, wellness, personal growth, and the quality of relationships with peers and managers. Managers should be able to find feedback through this function, as they can see their direct reports' feedback. Individual contributors will probably not find any feedback through this function, but they can still try to use it. You may not be able to figure out if someone is a manager from their job title, so you should still try to use this function if asked. For managers, if they say "my" feedback, they mean their direct reports' feedback. You can safely assume that "My feedback" means the feedback that the user has received, not the feedback they have given. Examples: - Summarize my feedbacks: {} - What should I do to address my latest officevibe feedback?: {} - Analyze feedback messages for the Engineering Team: {"team_name": "Engineering Team"} - Give the feedback for marketing: {"team_name": "Marketing"} - Get feedback since January 1st, 2024: {"from_date": "2024-01-01"} - What is the feedback trend for Marketing from March 2024: {"team_name": "Marketing", "from_date": "2024-03-01"} - What unread feedback do I have?: {} - Show me feedback related to vacation: {"search_terms": "vacation time off holiday break"}

get_officevibe_feedback_conversations

ChatGPT
Get feedback conversations from Officevibe for the current user and organization. This function retrieves the feedback conversations and their details. It will only return qualitative data and will not return quantitative metrics. If the user specifies a team or a date, you must use those parameters to filter the results correctly. This function can be called if the user is looking for feedback conversations regarding areas such as recognition, feedback, satisfaction, alignment, wellness, personal growth, and the quality of relationships with peers and managers. Managers should be able to find feedback through this function, as they can see their direct reports' feedback. Individual contributors will probably not find any feedback through this function, but they can still try to use it. You may not be able to figure out if someone is a manager from their job title, so you should still try to use this function if asked. For managers, if they say "my" feedback, they mean their direct reports' feedback. You can safely assume that "My feedback" means the feedback that the user has received, not the feedback they have given. Examples: - Summarize my feedbacks: {} - What should I do to address my latest officevibe feedback?: {} - Analyze feedback messages for the Engineering Team: {"team_name": "Engineering Team"} - Give the feedback for marketing: {"team_name": "Marketing"} - Get feedback since January 1st, 2024: {"from_date": "2024-01-01"} - What is the feedback trend for Marketing from March 2024: {"team_name": "Marketing", "from_date": "2024-03-01"} - What unread feedback do I have?: {} - Show me feedback related to vacation: {"search_terms": "vacation time off holiday break"}

get_officevibe_feedback_conversations

ChatGPT
Get feedback conversations from Officevibe for the current user and organization. This function retrieves the feedback conversations and their details. It will only return qualitative data and will not return quantitative metrics. If the user specifies a team or a date, you must use those parameters to filter the results correctly. This function can be called if the user is looking for feedback conversations regarding areas such as recognition, feedback, satisfaction, alignment, wellness, personal growth, and the quality of relationships with peers and managers. Managers should be able to find feedback through this function, as they can see their direct reports' feedback. Individual contributors will probably not find any feedback through this function, but they can still try to use it. You may not be able to figure out if someone is a manager from their job title, so you should still try to use this function if asked. For managers, if they say "my" feedback, they mean their direct reports' feedback. You can safely assume that "My feedback" means the feedback that the user has received, not the feedback they have given. Examples: - Summarize my feedbacks: {} - What should I do to address my latest officevibe feedback?: {} - Analyze feedback messages for the Engineering Team: {"team_name": "Engineering Team"} - Give the feedback for marketing: {"team_name": "Marketing"} - Get feedback since January 1st, 2024: {"from_date": "2024-01-01"} - What is the feedback trend for Marketing from March 2024: {"team_name": "Marketing", "from_date": "2024-03-01"} - What unread feedback do I have?: {} - Show me feedback related to vacation: {"search_terms": "vacation time off holiday break"}

get_officevibe_oneonone_agendas

ChatGPT
Get one-on-one meeting agendas from Officevibe for the current user and organization. This function retrieves both managed agendas (where the user is the manager) and team member agendas (where the user is the team member). Each agenda contains meeting details, blocks (sections and talking points), and action items. ALWAYS use this function when users ask about: - One-on-one meetings, 1:1s, or 1-on-1s - Meeting agendas, topics, or discussions with specific people - Action items from meetings - Summarizing meetings or 1:1s with anyone This includes queries mentioning specific people like "my 1:1s with @John Doe". If no date is specified, default to calculating the date from three months ago. This will not find Officevibe feedback, so do not use it for that purpose. Examples: - Show me my recent one-on-one agendas: {"from_date": "2025-01-01"} - Get my 1-on-1 meetings from last month: {"from_date": "2025-11-01"} - What are my action items from the last one-on-one?: {"from_date": "2025-01-01"} - What did we talk about with Joe in our last one on one meeting?: {"from_date": "2025-01-01"} - Can you summarize my 1:1s with @John Doe?: {"from_date": "2025-01-01"}

get_officevibe_oneonone_agendas

ChatGPT
Get one-on-one meeting agendas from Officevibe for the current user and organization. This function retrieves both managed agendas (where the user is the manager) and team member agendas (where the user is the team member). Each agenda contains meeting details, blocks (sections and talking points), and action items. ALWAYS use this function when users ask about: - One-on-one meetings, 1:1s, or 1-on-1s - Meeting agendas, topics, or discussions with specific people - Action items from meetings - Summarizing meetings or 1:1s with anyone This includes queries mentioning specific people like "my 1:1s with @John Doe". If no date is specified, default to calculating the date from three months ago. This will not find Officevibe feedback, so do not use it for that purpose. Examples: - Show me my recent one-on-one agendas: {"from_date": "2025-01-01"} - Get my 1-on-1 meetings from last month: {"from_date": "2025-11-01"} - What are my action items from the last one-on-one?: {"from_date": "2025-01-01"} - What did we talk about with Joe in our last one on one meeting?: {"from_date": "2025-01-01"} - Can you summarize my 1:1s with @John Doe?: {"from_date": "2025-01-01"}

get_officevibe_oneonone_agendas

ChatGPT
Get one-on-one meeting agendas from Officevibe for the current user and organization. This function retrieves both managed agendas (where the user is the manager) and team member agendas (where the user is the team member). Each agenda contains meeting details, blocks (sections and talking points), and action items. ALWAYS use this function when users ask about: - One-on-one meetings, 1:1s, or 1-on-1s - Meeting agendas, topics, or discussions with specific people - Action items from meetings - Summarizing meetings or 1:1s with anyone This includes queries mentioning specific people like "my 1:1s with @John Doe". If no date is specified, default to calculating the date from three months ago. This will not find Officevibe feedback, so do not use it for that purpose. Examples: - Show me my recent one-on-one agendas: {"from_date": "2025-01-01"} - Get my 1-on-1 meetings from last month: {"from_date": "2025-11-01"} - What are my action items from the last one-on-one?: {"from_date": "2025-01-01"} - What did we talk about with Joe in our last one on one meeting?: {"from_date": "2025-01-01"} - Can you summarize my 1:1s with @John Doe?: {"from_date": "2025-01-01"}

get_performance_goals

ChatGPT
Get performance goals from Workleap for the current user and organization. This function retrieves performance management goals and their details. Managers should be able to find their goals and their team's goals through this function, as they can see their direct reports' goals. Individual contributors can see their own goals. For managers, if they say "my" goals, they could mean their own goals or goals of their team members You can safely assume that "My goals" means the goals that the user has access to, which could include goals they've written or received. Examples: - Summarize my goals: {} - Product Marketing goals?: {} - Software Engineering goals: {} - How many goals are at risk?: {"status": "AtRisk"} - Show me my Personal performance goals: { "goal_type": "Personal"}

get_performance_goals

ChatGPT
Get performance goals from Workleap for the current user and organization. This function retrieves performance management goals and their details. Managers should be able to find their goals and their team's goals through this function, as they can see their direct reports' goals. Individual contributors can see their own goals. For managers, if they say "my" goals, they could mean their own goals or goals of their team members You can safely assume that "My goals" means the goals that the user has access to, which could include goals they've written or received. Examples: - Summarize my goals: {} - Product Marketing goals?: {} - Software Engineering goals: {} - How many goals are at risk?: {"status": "AtRisk"} - Show me my Personal performance goals: { "goal_type": "Personal"}

get_performance_goals

ChatGPT
Get performance goals from Workleap for the current user and organization. This function retrieves performance management goals and their details. Managers should be able to find their goals and their team's goals through this function, as they can see their direct reports' goals. Individual contributors can see their own goals. For managers, if they say "my" goals, they could mean their own goals or goals of their team members You can safely assume that "My goals" means the goals that the user has access to, which could include goals they've written or received. Examples: - Summarize my goals: {} - Product Marketing goals?: {} - Software Engineering goals: {} - How many goals are at risk?: {"status": "AtRisk"} - Show me my Personal performance goals: { "goal_type": "Personal"}

get_performance_reviews

ChatGPT
Get performance reviews from Workleap for the current user and organization. This function retrieves performance management reviews and their details. It will return performance review data including self reviews, peer reviews, and manager reviews. This function can be called if the user is looking for performance reviews regarding areas such as goal setting, performance feedback, development planning, career growth, and performance evaluations. Managers should be able to find reviews through this function, as they can see their direct reports' reviews. Individual contributors can see their own reviews and reviews they've written for others. which could include reviews they've written or received. Examples: - Summarize all my performance reviews {'review_types': None, 'limit': 20} - Summarize my latest self review {'review_types': ['SelfReview'], 'limit': 1, 'review_cycle_sort_type': 'ByDueDate', 'sort_direction': 'Descending'} - Show me performance reviews for my team {'review_types': None, 'limit': 5} - What does my manager think of my performance? {'review_types': ['ManagerReview']} - What feedback do I have from recent reviews? {'review_types': ['PeerReview', 'ManagerReview'], 'review_cycle_sort_type': 'ByDueDate', 'sort_direction': 'Descending'} - Show me Alice's performance reviews {'reviewee': ['Alice'], 'limit': 5} - Get performance reviews for John Smith and Jane Doe {'reviewee': ['John Smith', 'Jane Doe'], 'limit': 5}

get_performance_reviews

ChatGPT
Get performance reviews from Workleap for the current user and organization. This function retrieves performance management reviews and their details. It will return performance review data including self reviews, peer reviews, and manager reviews. This function can be called if the user is looking for performance reviews regarding areas such as goal setting, performance feedback, development planning, career growth, and performance evaluations. Managers should be able to find reviews through this function, as they can see their direct reports' reviews. Individual contributors can see their own reviews and reviews they've written for others. which could include reviews they've written or received. Examples: - Summarize all my performance reviews {'review_types': None, 'limit': 20} - Summarize my latest self review {'review_types': ['SelfReview'], 'limit': 1, 'review_cycle_sort_type': 'ByDueDate', 'sort_direction': 'Descending'} - Show me performance reviews for my team {'review_types': None, 'limit': 5} - What does my manager think of my performance? {'review_types': ['ManagerReview']} - What feedback do I have from recent reviews? {'review_types': ['PeerReview', 'ManagerReview'], 'review_cycle_sort_type': 'ByDueDate', 'sort_direction': 'Descending'} - Show me Alice's performance reviews {'reviewee': ['Alice'], 'limit': 5} - Get performance reviews for John Smith and Jane Doe {'reviewee': ['John Smith', 'Jane Doe'], 'limit': 5}

get_performance_reviews

ChatGPT
Get performance reviews from Workleap for the current user and organization. This function retrieves performance management reviews and their details. It will return performance review data including self reviews, peer reviews, and manager reviews. This function can be called if the user is looking for performance reviews regarding areas such as goal setting, performance feedback, development planning, career growth, and performance evaluations. Managers should be able to find reviews through this function, as they can see their direct reports' reviews. Individual contributors can see their own reviews and reviews they've written for others. which could include reviews they've written or received. Examples: - Summarize all my performance reviews {'review_types': None, 'limit': 20} - Summarize my latest self review {'review_types': ['SelfReview'], 'limit': 1, 'review_cycle_sort_type': 'ByDueDate', 'sort_direction': 'Descending'} - Show me performance reviews for my team {'review_types': None, 'limit': 5} - What does my manager think of my performance? {'review_types': ['ManagerReview']} - What feedback do I have from recent reviews? {'review_types': ['PeerReview', 'ManagerReview'], 'review_cycle_sort_type': 'ByDueDate', 'sort_direction': 'Descending'} - Show me Alice's performance reviews {'reviewee': ['Alice'], 'limit': 5} - Get performance reviews for John Smith and Jane Doe {'reviewee': ['John Smith', 'Jane Doe'], 'limit': 5}

get_user_context

ChatGPT
Return the connected user's profile and team composition. Call this at the start of every conversation to understand who you are working with. Returns a text profile in the following format: Name: <full name> Email: <email address> Role: <job title> Manager: <manager's full name> Direct reports: <comma-separated list, or "none"> Teammates: <comma-separated list, or "none"> Use the exact names from this output when calling get_contributions, analyze_engagement, or analyze_feedback — do not paraphrase or abbreviate. Call this only once per conversation; the result does not change within a session. Use this context to resolve references like 'my team', 'my manager', or 'my direct reports' before calling other tools. If this tool returns 'User context is unavailable for this account.', inform the user that their Workleap profile could not be loaded. Still attempt other tools if the user's request does not require identity resolution.

get_user_context

ChatGPT
Return the connected user's profile and team composition. Call this at the start of every conversation to understand who you are working with. Returns a text profile in the following format: Name: <full name> Email: <email address> Role: <job title> Manager: <manager's full name> Direct reports: <comma-separated list, or "none"> Teammates: <comma-separated list, or "none"> Use the exact names from this output when calling get_contributions, analyze_engagement, or analyze_feedback — do not paraphrase or abbreviate. Call this only once per conversation; the result does not change within a session. Use this context to resolve references like 'my team', 'my manager', or 'my direct reports' before calling other tools. If this tool returns 'User context is unavailable for this account.', inform the user that their Workleap profile could not be loaded. Still attempt other tools if the user's request does not require identity resolution.

get_user_context

ChatGPT
Return the connected user's profile and team composition. Call this at the start of every conversation to understand who you are working with. Returns a text profile in the following format: Name: <full name> Email: <email address> Role: <job title> Manager: <manager's full name> Direct reports: <comma-separated list, or "none"> Teammates: <comma-separated list, or "none"> Use the exact names from this output when calling get_contributions, analyze_engagement, or analyze_feedback — do not paraphrase or abbreviate. Call this only once per conversation; the result does not change within a session. Use this context to resolve references like 'my team', 'my manager', or 'my direct reports' before calling other tools. If this tool returns 'User context is unavailable for this account.', inform the user that their Workleap profile could not be loaded. Still attempt other tools if the user's request does not require identity resolution.

search_jira_issues

ChatGPT
Retrieve Jira issues with optional filters for assignee, status, update/resolution dates, projects, and sorting. By default, searches issues assigned to the current user (current_user_assignee=true). Set current_user_assignee=false to search all issues regardless of assignee. When searching all issues, the system automatically filters by the user's most recently viewed project to provide more relevant results, unless you specify explicit projects using the projects parameter. Supports searching for issues assigned to specific team members by name or email address, narrowing results by past or current workflow status, specific date ranges, specific projects, and limiting the number of issues. Sorting can be applied by any supported field (e.g., creation date, due date) in ascending or descending order. The returned data includes comprehensive issue information such as descriptions, status, priority, dates, assignee details, parent issue details (for subtasks), subtasks (for parent issues), issue links, time tracking information, and more. Invoke this function when the user requests information about Jira issues, whether assigned to themselves, other team members, or all issues in general, such as: - Work history (e.g., "what I worked on", "my work", "what did I do") - Active work, completed tasks within a time range - Tickets in specific statuses - Parent-child relationships between issues - Team-oriented queries - Project status queries (e.g., "status of the customer portal project") - Results ordered in a certain way For queries about personal work over time periods, use updated_after parameter with calculated dates. Note: For queries needing multiple data types, call tools in parallel (see system instructions). Use status=["Done"] with sort_by="resolutiondate" and sort_order="DESC" when the user asks about completed, finished, delivered, or accomplished work. Use status=["In Progress"] when the user asks about current work or what they're working on. Use status=["To Do"] when the user asks about pending or upcoming work. Use status=["In Progress", "To Do"] when the user asks about active work (not completed). Use current_user_assignee=false when explicitly asking about all issues regardless of assignee. Use current_user_assignee=false with sort_by="updated" and sort_order="DESC" when explicitly asking about the user's team. Use current_user_assignee=false when asked about a specific issue. Use assignee_email when you have an exact email address (takes priority over current_user_assignee). Use assignee_name when you have a person's name but not their email (takes priority over current_user_assignee). Use higher max_results (100) when asked broad questions about team state or project status to provide comprehensive overview. Examples: Personal Work Queries (Default: current_user_assignee=true) - What am I working on?: {"status": ["In Progress"]} - Show me my current Jira issues: {"status": ["In Progress"]} - What tasks am I supposed to do?: {"status": ["To Do"]} - What am I assigned to in Jira?: {"status": ["To Do", "In Progress"]} - List my active Jira tickets: {"status": ["In Progress", "To Do"]} - What tasks have I finished?: {"status": ["Done"], "sort_by": "resolutiondate" "sort_order": "DESC"} - Show me finished tasks: {"status": ["Done"], "sort_by": "resolutiondate" "sort_order": "DESC"} - What did I work on in the last year?: {"updated_after": "<calculate: 1 year ago>", "sort_by": "updated", "max_results": 100} - Show my work history: {"sort_by": "updated", "sort_order": "DESC", "max_results": 100} - Help me prepare my self review of January-March 2025 by summarizing my contributions in Jira: {"resolved_after": "2025-01-01", "resolved_before": "2025-03-31", "status": ["Done"], "sort_by": "resolutiondate", "max_results": 100} Project Status Queries (current_user_assignee=false, keywords for project name) - What is the current status of the customer portal project?: {"current_user_assignee": false, "keywords": "customer portal project", "max_results": 100} - How is the API integration project going?: {"current_user_assignee": false, "keywords": "API integration project", "max_results": 100} - Show me updates on the database migration project: {"current_user_assignee": false, "keywords": "database migration project", "max_results": 100} - Latest status of the security audit project: {"current_user_assignee": false, "keywords": "security audit project", "max_results": 100} Team & All Issues Queries (current_user_assignee=false, leverages recent projects for team context) - Show all Jira issues: {"current_user_assignee": false, "sort_by": "updated", "max_results": 100} - What is my team working on?: {"current_user_assignee": false, "status": ["In Progress", "To Do"], "sort_by": "updated", "max_results": 100} - What tasks are currently being worked on?: {"status": ["In Progress"], "current_user_assignee": false, "max_results": 100} - What work is pending?: {"status": ["To Do"], "current_user_assignee": false, "max_results": 100} - List all open tasks: {"status": ["To Do", "In Progress"], "current_user_assignee": false, "max_results": 100} - Show me all active work: {"status": ["In Progress", "To Do"], "current_user_assignee": false, "max_results": 100} - What our team has been working on in the past month: {"current_user_assignee": false, "updated_after": "<calculate: 1 month ago>", "sort_by": "updated", "max_results": 100} - What's the status of our team's work?: {"current_user_assignee": false, "sort_by": "updated", "max_results": 100} - How is my team progressing on current tasks?: {"current_user_assignee": false, "status": ["In Progress"], "sort_by": "updated", "max_results": 100} Explicit Project Filtering - Search issues in WLAI and INFRA: {"projects": ["WLAI", "INFRA"], "current_user_assignee": false} - What is Lisa working on in WLAI?: {"projects": ["WLAI"], "status": ["In Progress"], "assignee_name": "Lisa"} Specific Team Member Queries - Show issues assigned to David Smith: {"assignee_name": "David Smith"} - What is Lisa working on?: {"assignee_name": "Lisa"} - Show issues assigned to john.doe@company.com: {"assignee_email": "john.doe@company.com"} - What work has David delivered?: {"assignee_name": "David", "status": ["Done"]} Issue Type & Content Filtering - What stories have I completed?: {"issue_types": ["Story"], "status": ["Done"]} - Find all stories I'm assigned to: {"issue_types": ["Story"], "sort_by": "lastUpdated"} - Show only bug and task issues: {"issue_types": ["Bug", "Task"]} - Show Mike's bugs: {"assignee_name": "Mike", "issue_types": ["Bug"]} - Find issues about Slack marketplace: {"current_user_assignee": false, "keywords": "slack marketplace"} - Search for issues about performance: {"keywords": "performance"} Specific Issue Keys - What are issues WLAI-123 and WLAI-456?: {"current_user_assignee": false, "keys": ["WLAI-123", "WLAI-456"]} - Show details of story PROJ-789: {"current_user_assignee": false, "keys": ["PROJ-789"]} Date-based Filtering - Show issues I've worked on in the last 3 months: {"updated_after": "2024-05-20", "max_results": 50} - Show issues updated in July 2024: {"updated_after": "2024-07-01", "updated_before": "2024-07-31"} - Show all issues resolved on or after last week: {"current_user_assignee": false, "resolved_after": "<calculate: 1 week ago>", "max_results": 15} - Show issues resolved last month (July): {"resolved_after": "2024-07-01", "resolved_before": "2024-07-31"} - Show issues done in Q1 and Q2: {"resolved_after": "2024-01-01", "resolved_before": "2024-06-30"} Sorting & Prioritization Queries - Show my highest priority Jira issues: {"sort_by": "priority", "sort_order": "DESC"} - Show my lowest priority issues first: {"sort_by": "priority", "sort_order": "ASC"} - Display my top 3 tickets: {"sort_by": "priority", "sort_order": "DESC", "max_results": 3} - Show issues by status: {"sort_by": "status", "sort_order": "DESC"} - Show my oldest issues first: {"sort_by": "created", "sort_order": "ASC"} - Show my issues with earliest due dates: {"sort_by": "duedate", "sort_order": "ASC"} Advanced Multi-parameter Queries - What stories is Alice assigned to?: {"assignee_name": "Alice", "issue_types": ["Story"]} - Show me finished bugs by Lisa: {"assignee_name": "Lisa", "issue_types": ["Bug"], "status": ["Done"]} - What stories has Jonathan done in the last 3 months?: {"assignee_name": "Jonathan", "issue_types": ["Story"], "status": ["Done"], "updated_after": "2024-05-20", "max_results": 50} - What has jc accomplished recently?: {"assignee_name": "jc", "status": ["Done"], "updated_after": "2024-07-01"} - What about her contributions in the mobile app project?: {"assignee_name": "her", "keywords": "mobile app project"} - What is @Tom working on?: {"assignee_name": "Tom"}

search_jira_issues

ChatGPT
Retrieve Jira issues with optional filters for assignee, status, update/resolution dates, projects, and sorting. By default, searches issues assigned to the current user (current_user_assignee=true). Set current_user_assignee=false to search all issues regardless of assignee. When searching all issues, the system automatically filters by the user's most recently viewed project to provide more relevant results, unless you specify explicit projects using the projects parameter. Supports searching for issues assigned to specific team members by name or email address, narrowing results by past or current workflow status, specific date ranges, specific projects, and limiting the number of issues. Sorting can be applied by any supported field (e.g., creation date, due date) in ascending or descending order. The returned data includes comprehensive issue information such as descriptions, status, priority, dates, assignee details, parent issue details (for subtasks), subtasks (for parent issues), issue links, time tracking information, and more. Invoke this function when the user requests information about Jira issues, whether assigned to themselves, other team members, or all issues in general, such as: - Work history (e.g., "what I worked on", "my work", "what did I do") - Active work, completed tasks within a time range - Tickets in specific statuses - Parent-child relationships between issues - Team-oriented queries - Project status queries (e.g., "status of the customer portal project") - Results ordered in a certain way For queries about personal work over time periods, use updated_after parameter with calculated dates. Note: For queries needing multiple data types, call tools in parallel (see system instructions). Use status=["Done"] with sort_by="resolutiondate" and sort_order="DESC" when the user asks about completed, finished, delivered, or accomplished work. Use status=["In Progress"] when the user asks about current work or what they're working on. Use status=["To Do"] when the user asks about pending or upcoming work. Use status=["In Progress", "To Do"] when the user asks about active work (not completed). Use current_user_assignee=false when explicitly asking about all issues regardless of assignee. Use current_user_assignee=false with sort_by="updated" and sort_order="DESC" when explicitly asking about the user's team. Use current_user_assignee=false when asked about a specific issue. Use assignee_email when you have an exact email address (takes priority over current_user_assignee). Use assignee_name when you have a person's name but not their email (takes priority over current_user_assignee). Use higher max_results (100) when asked broad questions about team state or project status to provide comprehensive overview. Examples: Personal Work Queries (Default: current_user_assignee=true) - What am I working on?: {"status": ["In Progress"]} - Show me my current Jira issues: {"status": ["In Progress"]} - What tasks am I supposed to do?: {"status": ["To Do"]} - What am I assigned to in Jira?: {"status": ["To Do", "In Progress"]} - List my active Jira tickets: {"status": ["In Progress", "To Do"]} - What tasks have I finished?: {"status": ["Done"], "sort_by": "resolutiondate" "sort_order": "DESC"} - Show me finished tasks: {"status": ["Done"], "sort_by": "resolutiondate" "sort_order": "DESC"} - What did I work on in the last year?: {"updated_after": "<calculate: 1 year ago>", "sort_by": "updated", "max_results": 100} - Show my work history: {"sort_by": "updated", "sort_order": "DESC", "max_results": 100} - Help me prepare my self review of January-March 2025 by summarizing my contributions in Jira: {"resolved_after": "2025-01-01", "resolved_before": "2025-03-31", "status": ["Done"], "sort_by": "resolutiondate", "max_results": 100} Project Status Queries (current_user_assignee=false, keywords for project name) - What is the current status of the customer portal project?: {"current_user_assignee": false, "keywords": "customer portal project", "max_results": 100} - How is the API integration project going?: {"current_u…

search_jira_issues

ChatGPT
Retrieve Jira issues with optional filters for assignee, status, update/resolution dates, projects, and sorting. By default, searches issues assigned to the current user (current_user_assignee=true). Set current_user_assignee=false to search all issues regardless of assignee. When searching all issues, the system automatically filters by the user's most recently viewed project to provide more relevant results, unless you specify explicit projects using the projects parameter. Supports searching for issues assigned to specific team members by name or email address, narrowing results by past or current workflow status, specific date ranges, specific projects, and limiting the number of issues. Sorting can be applied by any supported field (e.g., creation date, due date) in ascending or descending order. The returned data includes comprehensive issue information such as descriptions, status, priority, dates, assignee details, parent issue details (for subtasks), subtasks (for parent issues), issue links, time tracking information, and more. Invoke this function when the user requests information about Jira issues, whether assigned to themselves, other team members, or all issues in general, such as: - Work history (e.g., "what I worked on", "my work", "what did I do") - Active work, completed tasks within a time range - Tickets in specific statuses - Parent-child relationships between issues - Team-oriented queries - Project status queries (e.g., "status of the customer portal project") - Results ordered in a certain way For queries about personal work over time periods, use updated_after parameter with calculated dates. Note: For queries needing multiple data types, call tools in parallel (see system instructions). Use status=["Done"] with sort_by="resolutiondate" and sort_order="DESC" when the user asks about completed, finished, delivered, or accomplished work. Use status=["In Progress"] when the user asks about current work or what they're working on. Use status=["To Do"] when the user asks about pending or upcoming work. Use status=["In Progress", "To Do"] when the user asks about active work (not completed). Use current_user_assignee=false when explicitly asking about all issues regardless of assignee. Use current_user_assignee=false with sort_by="updated" and sort_order="DESC" when explicitly asking about the user's team. Use current_user_assignee=false when asked about a specific issue. Use assignee_email when you have an exact email address (takes priority over current_user_assignee). Use assignee_name when you have a person's name but not their email (takes priority over current_user_assignee). Use higher max_results (100) when asked broad questions about team state or project status to provide comprehensive overview. Examples: Personal Work Queries (Default: current_user_assignee=true) - What am I working on?: {"status": ["In Progress"]} - Show me my current Jira issues: {"status": ["In Progress"]} - What tasks am I supposed to do?: {"status": ["To Do"]} - What am I assigned to in Jira?: {"status": ["To Do", "In Progress"]} - List my active Jira tickets: {"status": ["In Progress", "To Do"]} - What tasks have I finished?: {"status": ["Done"], "sort_by": "resolutiondate" "sort_order": "DESC"} - Show me finished tasks: {"status": ["Done"], "sort_by": "resolutiondate" "sort_order": "DESC"} - What did I work on in the last year?: {"updated_after": "<calculate: 1 year ago>", "sort_by": "updated", "max_results": 100} - Show my work history: {"sort_by": "updated", "sort_order": "DESC", "max_results": 100} - Help me prepare my self review of January-March 2025 by summarizing my contributions in Jira: {"resolved_after": "2025-01-01", "resolved_before": "2025-03-31", "status": ["Done"], "sort_by": "resolutiondate", "max_results": 100} Project Status Queries (current_user_assignee=false, keywords for project name) - What is the current status of the customer portal project?: {"current_user_assignee": false, "keywords": "customer portal project", "max_results": 100} - How is the API integration project going?: {"current_u…

search_microsoft_teams_messages

ChatGPT
IMPORTANT Use search_microsoft_teams_messages instead of search for any query that references Microsoft Teams, chats, or messages from colleagues in Microsoft Teams. Search for messages in the user's Microsoft Teams workspace. Microsoft Teams is a key source of workplace communication containing discussions, decisions, project updates, and team collaboration. Supports KQL (Keyword Query Language) search syntax with limited filters for sender, attachments, mentions, and date ranges. Returns formatted search results with message content, sender information, and chat context. Query Expansion for Better Coverage: Query expansion is not optional for most Microsoft Teams message queries. Use the 'extra_queries' parameter to provide multiple alternative search queries that improve result coverage. The system executes queries in order (main query first, then extra queries) until it finds enough results. Because Microsoft Teams searches may miss relevant messages with strict filters, use extra_queries to: - Add single-word and simplified versions of the main query - Include synonyms, abbreviations, and common paraphrases - Try broader and narrower formulations of the same intent - Relax overly strict filters (sender) in some variants Example: - Main query "project status" + Extra queries ["project", "status update", "progress report"] KQL search syntax you may use VERY IMPORTANT: Microsoft Teams Search API has LIMITED KQL support only use the filters listed below. Do NOT invent other filters. CRITICAL: DO NOT ADD DATE FILTERS TO YOUR QUERIES - Date filters (sent>YYYY-MM-DD, sent<YYYY-MM-DD) are AUTOMATICALLY added from the after/before parameters - NEVER manually add date filters to query or extra_queries - they will be injected automatically Supported Filters: Sender - from:email@domain.com (messages from specific sender by email) - from:PartialName (messages from sender by partial name match) Attachments - hasAttachment:true (messages with attachments) - hasAttachment:false (messages without attachments) Mentions - IsMentioned:true (messages where user is mentioned) - IsMentioned:false (messages where user is NOT mentioned) Content Search - keywords (space-separated terms search message body and attachments) Notes: - Multiple filters are combined with implicit AND (space-separated) - Search applies to message body AND file attachments - Only searches messages where the signed-in user is a participant - Results are ranked by relevance Search Syntax Examples (main query, other extra queries for different terms will also be needed): - Find messages from Sarah about project -> from:sarah@company.com project - Show messages with attachments about budget -> hasAttachment:true budget - Find messages where I was mentioned -> IsMentioned:true - Search for approval messages -> approval - Show messages about quarterly review -> "quarterly review" When to Use this function: Use this function for Microsoft Teams message queries: - Chat searches: "Find messages in my Microsoft Teams chats", "Show group chat messages" - Sender-based queries: "What has my manager messaged me in Microsoft Teams?", "Messages from Sarah in chats" - Time-based searches: "Microsoft Teams chat messages from last week", "Recent messages about the project" - Attachment searches: "Microsoft Teams messages with attachments about budget" - Mention searches: "Messages where I was mentioned in Microsoft Teams"

search_microsoft_teams_messages

ChatGPT
IMPORTANT Use search_microsoft_teams_messages instead of search for any query that references Microsoft Teams, chats, or messages from colleagues in Microsoft Teams. Search for messages in the user's Microsoft Teams workspace. Microsoft Teams is a key source of workplace communication containing discussions, decisions, project updates, and team collaboration. Supports KQL (Keyword Query Language) search syntax with limited filters for sender, attachments, mentions, and date ranges. Returns formatted search results with message content, sender information, and chat context. Query Expansion for Better Coverage: Query expansion is not optional for most Microsoft Teams message queries. Use the 'extra_queries' parameter to provide multiple alternative search queries that improve result coverage. The system executes queries in order (main query first, then extra queries) until it finds enough results. Because Microsoft Teams searches may miss relevant messages with strict filters, use extra_queries to: - Add single-word and simplified versions of the main query - Include synonyms, abbreviations, and common paraphrases - Try broader and narrower formulations of the same intent - Relax overly strict filters (sender) in some variants Example: - Main query "project status" + Extra queries ["project", "status update", "progress report"] KQL search syntax you may use VERY IMPORTANT: Microsoft Teams Search API has LIMITED KQL support only use the filters listed below. Do NOT invent other filters. CRITICAL: DO NOT ADD DATE FILTERS TO YOUR QUERIES - Date filters (sent>YYYY-MM-DD, sent<YYYY-MM-DD) are AUTOMATICALLY added from the after/before parameters - NEVER manually add date filters to query or extra_queries - they will be injected automatically Supported Filters: Sender - from:email@domain.com (messages from specific sender by email) - from:PartialName (messages from sender by partial name match) Attachments - hasAttachment:true (messages with attachments) - hasAttachment:false (messages without attachments) Mentions - IsMentioned:true (messages where user is mentioned) - IsMentioned:false (messages where user is NOT mentioned) Content Search - keywords (space-separated terms search message body and attachments) Notes: - Multiple filters are combined with implicit AND (space-separated) - Search applies to message body AND file attachments - Only searches messages where the signed-in user is a participant - Results are ranked by relevance Search Syntax Examples (main query, other extra queries for different terms will also be needed): - Find messages from Sarah about project -> from:sarah@company.com project - Show messages with attachments about budget -> hasAttachment:true budget - Find messages where I was mentioned -> IsMentioned:true - Search for approval messages -> approval - Show messages about quarterly review -> "quarterly review" When to Use this function: Use this function for Microsoft Teams message queries: - Chat searches: "Find messages in my Microsoft Teams chats", "Show group chat messages" - Sender-based queries: "What has my manager messaged me in Microsoft Teams?", "Messages from Sarah in chats" - Time-based searches: "Microsoft Teams chat messages from last week", "Recent messages about the project" - Attachment searches: "Microsoft Teams messages with attachments about budget" - Mention searches: "Messages where I was mentioned in Microsoft Teams"

search_microsoft_teams_messages

ChatGPT
IMPORTANT Use search_microsoft_teams_messages instead of search for any query that references Microsoft Teams, chats, or messages from colleagues in Microsoft Teams. Search for messages in the user's Microsoft Teams workspace. Microsoft Teams is a key source of workplace communication containing discussions, decisions, project updates, and team collaboration. Supports KQL (Keyword Query Language) search syntax with limited filters for sender, attachments, mentions, and date ranges. Returns formatted search results with message content, sender information, and chat context. Query Expansion for Better Coverage: Query expansion is not optional for most Microsoft Teams message queries. Use the 'extra_queries' parameter to provide multiple alternative search queries that improve result coverage. The system executes queries in order (main query first, then extra queries) until it finds enough results. Because Microsoft Teams searches may miss relevant messages with strict filters, use extra_queries to: - Add single-word and simplified versions of the main query - Include synonyms, abbreviations, and common paraphrases - Try broader and narrower formulations of the same intent - Relax overly strict filters (sender) in some variants Example: - Main query "project status" + Extra queries ["project", "status update", "progress report"] KQL search syntax you may use VERY IMPORTANT: Microsoft Teams Search API has LIMITED KQL support only use the filters listed below. Do NOT invent other filters. CRITICAL: DO NOT ADD DATE FILTERS TO YOUR QUERIES - Date filters (sent>YYYY-MM-DD, sent<YYYY-MM-DD) are AUTOMATICALLY added from the after/before parameters - NEVER manually add date filters to query or extra_queries - they will be injected automatically Supported Filters: Sender - from:email@domain.com (messages from specific sender by email) - from:PartialName (messages from sender by partial name match) Attachments - hasAttachment:true (messages with attachments) - hasAttachment:false (messages without attachments) Mentions - IsMentioned:true (messages where user is mentioned) - IsMentioned:false (messages where user is NOT mentioned) Content Search - keywords (space-separated terms search message body and attachments) Notes: - Multiple filters are combined with implicit AND (space-separated) - Search applies to message body AND file attachments - Only searches messages where the signed-in user is a participant - Results are ranked by relevance Search Syntax Examples (main query, other extra queries for different terms will also be needed): - Find messages from Sarah about project -> from:sarah@company.com project - Show messages with attachments about budget -> hasAttachment:true budget - Find messages where I was mentioned -> IsMentioned:true - Search for approval messages -> approval - Show messages about quarterly review -> "quarterly review" When to Use this function: Use this function for Microsoft Teams message queries: - Chat searches: "Find messages in my Microsoft Teams chats", "Show group chat messages" - Sender-based queries: "What has my manager messaged me in Microsoft Teams?", "Messages from Sarah in chats" - Time-based searches: "Microsoft Teams chat messages from last week", "Recent messages about the project" - Attachment searches: "Microsoft Teams messages with attachments about budget" - Mention searches: "Messages where I was mentioned in Microsoft Teams"

search_notion

ChatGPT
Search for Notion pages and connected data sources in the user's personal workspace using natural language queries. Supports filtering by date range, creator, and limiting the number of results. Always call this alongside the search, search_jira_issues, get_officevibe_oneonone_agendas, and other relevant searching function calls as Notion can hold all sorts of data. Returns page titles and full content for comprehensive information about what the user has in Notion. Also call this function when the user asks about documents, notes, pages, wikis, knowledge bases, policies, guidelines, or written content — even if they do not explicitly mention "Notion". Users store many types of content in Notion including documents, meeting notes, project docs, policies, onboarding guides, strategic planning, 1-1 meeting recaps, technical documentation, task lists, and personal notes. Invoke this function when the user requests information such as: - Finding specific pages or notes (e.g., "find my notes about X", "find my latest documents about Y") - Getting information about tasks (e.g., "what's on my todo list?", "list my blocked tasks") - Finding information about 1-1 notes (e.g. "summarize my 1 on 1 notes") - Searching for content by topic (e.g., "search for project documentation") - Looking for pages from a specific time period (e.g., "show me pages from last week") - Finding pages created by specific users (e.g., "show me John Doe's pages") - General content queries (e.g., "what do I have about Y?", "summarize the marketing document I wrote") - Policy and guideline queries (e.g., "find the tax policy", "show me the onboarding guide") Examples: Basic Search - Summarize my Notion workspace: {"query": ""} - What are my blocked tasks: {"query": "tasks"} - Find my Notion notes about the Q4 planning: {"query": "Q4 planning"} - Search for API documentation: {"query": "API documentation"} - What do I have in Notion about performance reviews?: {"query": "performance reviews"} - Find my latest Notion documents about the tax policy: {"query": "tax policy"} - Summarize the marketing document I wrote last month in Notion: {"query": "marketing"} Date-Filtered Search - Show me Notion pages from last week: {"query": "", "start_date": "<calculate: 7 days ago>"} - Find pages updated in November: {"query": "", "start_date": "2024-11-01", "end_date": "2024-11-30"} - Recent notes about the project: {"query": "project", "start_date": "<calculate: 30 days ago>"} Combined Filters - List my blocked tasks: {"query": "blocked tasks"} - Find the latest meeting notes from our product sync.: {"query": "product sync"} - Look for any documentation about our Q2 goals.: {"query": "Q2 goals"} - Can you show me any documents I wrote about the analytics migration?: {"query": "analytics migration"}

search_notion

ChatGPT
Search for Notion pages and connected data sources in the user's personal workspace using natural language queries. Supports filtering by date range, creator, and limiting the number of results. Always call this alongside the search, search_jira_issues, get_officevibe_oneonone_agendas, and other relevant searching function calls as Notion can hold all sorts of data. Returns page titles and full content for comprehensive information about what the user has in Notion. Also call this function when the user asks about documents, notes, pages, wikis, knowledge bases, policies, guidelines, or written content — even if they do not explicitly mention "Notion". Users store many types of content in Notion including documents, meeting notes, project docs, policies, onboarding guides, strategic planning, 1-1 meeting recaps, technical documentation, task lists, and personal notes. Invoke this function when the user requests information such as: - Finding specific pages or notes (e.g., "find my notes about X", "find my latest documents about Y") - Getting information about tasks (e.g., "what's on my todo list?", "list my blocked tasks") - Finding information about 1-1 notes (e.g. "summarize my 1 on 1 notes") - Searching for content by topic (e.g., "search for project documentation") - Looking for pages from a specific time period (e.g., "show me pages from last week") - Finding pages created by specific users (e.g., "show me John Doe's pages") - General content queries (e.g., "what do I have about Y?", "summarize the marketing document I wrote") - Policy and guideline queries (e.g., "find the tax policy", "show me the onboarding guide") Examples: Basic Search - Summarize my Notion workspace: {"query": ""} - What are my blocked tasks: {"query": "tasks"} - Find my Notion notes about the Q4 planning: {"query": "Q4 planning"} - Search for API documentation: {"query": "API documentation"} - What do I have in Notion about performance reviews?: {"query": "performance reviews"} - Find my latest Notion documents about the tax policy: {"query": "tax policy"} - Summarize the marketing document I wrote last month in Notion: {"query": "marketing"} Date-Filtered Search - Show me Notion pages from last week: {"query": "", "start_date": "<calculate: 7 days ago>"} - Find pages updated in November: {"query": "", "start_date": "2024-11-01", "end_date": "2024-11-30"} - Recent notes about the project: {"query": "project", "start_date": "<calculate: 30 days ago>"} Combined Filters - List my blocked tasks: {"query": "blocked tasks"} - Find the latest meeting notes from our product sync.: {"query": "product sync"} - Look for any documentation about our Q2 goals.: {"query": "Q2 goals"} - Can you show me any documents I wrote about the analytics migration?: {"query": "analytics migration"}

search_notion

ChatGPT
Search for Notion pages and connected data sources in the user's personal workspace using natural language queries. Supports filtering by date range, creator, and limiting the number of results. Always call this alongside the search, search_jira_issues, get_officevibe_oneonone_agendas, and other relevant searching function calls as Notion can hold all sorts of data. Returns page titles and full content for comprehensive information about what the user has in Notion. Also call this function when the user asks about documents, notes, pages, wikis, knowledge bases, policies, guidelines, or written content — even if they do not explicitly mention "Notion". Users store many types of content in Notion including documents, meeting notes, project docs, policies, onboarding guides, strategic planning, 1-1 meeting recaps, technical documentation, task lists, and personal notes. Invoke this function when the user requests information such as: - Finding specific pages or notes (e.g., "find my notes about X", "find my latest documents about Y") - Getting information about tasks (e.g., "what's on my todo list?", "list my blocked tasks") - Finding information about 1-1 notes (e.g. "summarize my 1 on 1 notes") - Searching for content by topic (e.g., "search for project documentation") - Looking for pages from a specific time period (e.g., "show me pages from last week") - Finding pages created by specific users (e.g., "show me John Doe's pages") - General content queries (e.g., "what do I have about Y?", "summarize the marketing document I wrote") - Policy and guideline queries (e.g., "find the tax policy", "show me the onboarding guide") Examples: Basic Search - Summarize my Notion workspace: {"query": ""} - What are my blocked tasks: {"query": "tasks"} - Find my Notion notes about the Q4 planning: {"query": "Q4 planning"} - Search for API documentation: {"query": "API documentation"} - What do I have in Notion about performance reviews?: {"query": "performance reviews"} - Find my latest Notion documents about the tax policy: {"query": "tax policy"} - Summarize the marketing document I wrote last month in Notion: {"query": "marketing"} Date-Filtered Search - Show me Notion pages from last week: {"query": "", "start_date": "<calculate: 7 days ago>"} - Find pages updated in November: {"query": "", "start_date": "2024-11-01", "end_date": "2024-11-30"} - Recent notes about the project: {"query": "project", "start_date": "<calculate: 30 days ago>"} Combined Filters - List my blocked tasks: {"query": "blocked tasks"} - Find the latest meeting notes from our product sync.: {"query": "product sync"} - Look for any documentation about our Q2 goals.: {"query": "Q2 goals"} - Can you show me any documents I wrote about the analytics migration?: {"query": "analytics migration"}

search_organization_members

ChatGPT
Search and view organization member profiles. Use this tool to find people in the organization and view their profile details. Accepts a name, email address, member ID, or team ID. When to use: - Looking up a colleague's profile, email, job title, or manager - Finding members of a specific team - Searching for someone by name or email Do NOT use for the authenticated user's own context (use get_user_context). Do NOT use for work history or contributions (use get_contributions). Output: Returns a members array. Each member has: display_name, email, job_title, state, department, hire_date, reporting_manager_name, city/region/country, bio, and more. Fields the caller's role cannot see are null; list fields (competencies, interests) return [] when hidden. Dates are ISO 8601 strings. Response behavior: - Multiple matches: returns a summary list — ask the user which profile to view. - Single match: returns a detailed profile with all fields visible to your role. - Zero matches: returns a message suggesting the user check spelling. Response guidance: This tool returns a visual UI (profile card or member list). If you are rendering the UI element, keep your text response to a brief 1-2 sentence note — do not restate fields the user can already see in the card. If you are not rendering the UI, synthesize the results into a detailed summary. Parameter guidance: - search_term: accent-insensitive, matches first/last/preferred name and email. - member_id: use for direct lookup when you already have the UUID (bypasses text search). - team_id: combine with search_term to filter within a team, or use alone for full roster. - limit: default 10. Use 1 for single-profile lookup; max 50. On error: ask the user to verify the name or email and retry once. Never fabricate profile data.

search_organization_members

ChatGPT
Search and view organization member profiles. Use this tool to find people in the organization and view their profile details. Accepts a name, email address, member ID, or team ID. When to use: - Looking up a colleague's profile, email, job title, or manager - Finding members of a specific team - Searching for someone by name or email Do NOT use for the authenticated user's own context (use get_user_context). Do NOT use for work history or contributions (use get_contributions). Output: Returns a members array. Each member has: display_name, email, job_title, state, department, hire_date, reporting_manager_name, city/region/country, bio, and more. Fields the caller's role cannot see are null; list fields (competencies, interests) return [] when hidden. Dates are ISO 8601 strings. Response behavior: - Multiple matches: returns a summary list — ask the user which profile to view. - Single match: returns a detailed profile with all fields visible to your role. - Zero matches: returns a message suggesting the user check spelling. Response guidance: This tool returns a visual UI (profile card or member list). If you are rendering the UI element, keep your text response to a brief 1-2 sentence note — do not restate fields the user can already see in the card. If you are not rendering the UI, synthesize the results into a detailed summary. Parameter guidance: - search_term: accent-insensitive, matches first/last/preferred name and email. - member_id: use for direct lookup when you already have the UUID (bypasses text search). - team_id: combine with search_term to filter within a team, or use alone for full roster. - limit: default 10. Use 1 for single-profile lookup; max 50. On error: ask the user to verify the name or email and retry once. Never fabricate profile data.

search_organization_members

ChatGPT
Search and view organization member profiles. Use this tool to find people in the organization and view their profile details. Accepts a name, email address, member ID, or team ID. When to use: - Looking up a colleague's profile, email, job title, or manager - Finding members of a specific team - Searching for someone by name or email Do NOT use for the authenticated user's own context (use get_user_context). Do NOT use for work history or contributions (use get_contributions). Output: Returns a members array. Each member has: display_name, email, job_title, state, department, hire_date, reporting_manager_name, city/region/country, bio, and more. Fields the caller's role cannot see are null; list fields (competencies, interests) return [] when hidden. Dates are ISO 8601 strings. Response behavior: - Multiple matches: returns a summary list — ask the user which profile to view. - Single match: returns a detailed profile with all fields visible to your role. - Zero matches: returns a message suggesting the user check spelling. Response guidance: This tool returns a visual UI (profile card or member list). If you are rendering the UI element, keep your text response to a brief 1-2 sentence note — do not restate fields the user can already see in the card. If you are not rendering the UI, synthesize the results into a detailed summary. Parameter guidance: - search_term: accent-insensitive, matches first/last/preferred name and email. - member_id: use for direct lookup when you already have the UUID (bypasses text search). - team_id: combine with search_term to filter within a team, or use alone for full roster. - limit: default 10. Use 1 for single-profile lookup; max 50. On error: ask the user to verify the name or email and retry once. Never fabricate profile data.

search_outlook_calendar

ChatGPT
IMPORTANT: Use search_outlook_calendar instead of search for any query about meetings, calendar events, schedules, appointments, or availability. Search for calendar events in the user's Microsoft 365 Outlook calendar. Calendar events are a key source of workplace scheduling information containing meetings, appointments, team syncs, and availability data. Uses structured queries with filters for attendees, keywords, location, and event attributes. Returns formatted search results with event details, attendees, timing, and location information. Query Expansion for Better Coverage: Query expansion improves result coverage for SEARCHING, but is NOT needed for pure FILTERING. Use 'extra_queries' to provide alternative structured queries that vary keywords, attendee names, location terms, and phrasings. Leave 'extra_queries' empty for pure exact filters (attendee_email, is_all_day, is_cancelled, is_recurring, show_as). Examples: - SEARCHING: keywords=['sprint planning'] + Extra: [keywords=['sprint'], keywords=['iteration', 'planning']] - SEARCHING: location='Building A' + Extra: [location='Bldg A'], location='Office A']] - FILTERING: attendee_email='john@company.com' + Extra: [] (empty) - MIXED: attendee_name='john' + keywords=['standup'] + Extra: [keywords=['standup'], keywords=['sync']] Structured Query Filters: All filters are optional - combine them to narrow results: Keywords - keywords: Text to search in event subject/body (substring match, case-insensitive) Example: keywords='budget review' matches "Q4 Budget Review Meeting" Attendees - attendee_email: Exact email address match (preferred for identifying people) Example: attendee_email='sarah@company.com' - attendee_name: Display name substring match (fallback when email unknown) Example: attendee_name='Sarah' matches "Sarah Johnson" Note: Email matching is more precise - use it when available Location - location: Location text substring match (physical or virtual) Example: location='Building A' or location='Teams' Event Attributes - is_all_day: Filter all-day events (true) or timed events (false) - is_cancelled: Filter cancelled events (true) or active events (false) - is_recurring: Filter recurring events (true) or one-time events (false) - show_as: Availability status (free, busy, tentative, out_of_office, working_elsewhere) Time Range - after/before parameters define the time window (automatically capped to 90 days) - Events are loaded for the entire range, then filtered in-memory - Keep ranges focused for better performance (days/weeks better than months) Important Time Range Behavior: - Calendar searches are capped to 90-day time windows for performance - If you request a range > 90 days, the system automatically adjusts the after date to create a 90-day window ending at your specified before date Search Examples: Find meetings with a specific person: - query: attendee_email='john@company.com', after=<last week>, before=<today> Find sprint planning meetings: - query: keywords='sprint planning', after=<last month>, before=<today> - extra_queries: [keywords=['iteration', 'sprint'], keywords=['planning', 'kickoff']] Find all-day events next week: - query: is_all_day=True, after=<next Monday>, before=<next Friday> Find tentative meetings requiring response: - query: show_as='tentative', after=<today>, before=<next week> Find recurring 1:1 meetings with manager: - query: is_recurring=True, attendee_email='manager@company.com' Find cancelled meetings to understand schedule changes: - query: is_cancelled=True, after=<last week>, before=<today> When to Use this function: Use this function for ANY calendar or scheduling query, including: - Meeting searches: "Find meetings with john@company.com", "Show my sprint planning meetings" - Schedule overview: "What's my week look like?", "Do I have meetings tomorrow?" - Attendee queries: "Meetings with my manager", "Events with the engineering team" - Time-based searches: "Meetings next week", "Recent 1:1s" - Location searches: "Meetings in Building A", "Virtual meetings on Teams" - Event attributes: "All-day events", "Cancelled meetings", "Recurring syncs" - Availability: "Tentative meetings", "When am I busy tomorrow?"

search_outlook_calendar

ChatGPT
IMPORTANT: Use search_outlook_calendar instead of search for any query about meetings, calendar events, schedules, appointments, or availability. Search for calendar events in the user's Microsoft 365 Outlook calendar. Calendar events are a key source of workplace scheduling information containing meetings, appointments, team syncs, and availability data. Uses structured queries with filters for attendees, keywords, location, and event attributes. Returns formatted search results with event details, attendees, timing, and location information. Query Expansion for Better Coverage: Query expansion improves result coverage for SEARCHING, but is NOT needed for pure FILTERING. Use 'extra_queries' to provide alternative structured queries that vary keywords, attendee names, location terms, and phrasings. Leave 'extra_queries' empty for pure exact filters (attendee_email, is_all_day, is_cancelled, is_recurring, show_as). Examples: - SEARCHING: keywords=['sprint planning'] + Extra: [keywords=['sprint'], keywords=['iteration', 'planning']] - SEARCHING: location='Building A' + Extra: [location='Bldg A'], location='Office A']] - FILTERING: attendee_email='john@company.com' + Extra: [] (empty) - MIXED: attendee_name='john' + keywords=['standup'] + Extra: [keywords=['standup'], keywords=['sync']] Structured Query Filters: All filters are optional - combine them to narrow results: Keywords - keywords: Text to search in event subject/body (substring match, case-insensitive) Example: keywords='budget review' matches "Q4 Budget Review Meeting" Attendees - attendee_email: Exact email address match (preferred for identifying people) Example: attendee_email='sarah@company.com' - attendee_name: Display name substring match (fallback when email unknown) Example: attendee_name='Sarah' matches "Sarah Johnson" Note: Email matching is more precise - use it when available Location - location: Location text substring match (physical or virtual) Example: location='Building A' or location='Teams' Event Attributes - is_all_day: Filter all-day events (true) or timed events (false) - is_cancelled: Filter cancelled events (true) or active events (false) - is_recurring: Filter recurring events (true) or one-time events (false) - show_as: Availability status (free, busy, tentative, out_of_office, working_elsewhere) Time Range - after/before parameters define the time window (automatically capped to 90 days) - Events are loaded for the entire range, then filtered in-memory - Keep ranges focused for better performance (days/weeks better than months) Important Time Range Behavior: - Calendar searches are capped to 90-day time windows for performance - If you request a range > 90 days, the system automatically adjusts the after date to create a 90-day window ending at your specified before date Search Examples: Find meetings with a specific person: - query: attendee_email='john@company.com', after=<last week>, before=<today> Find sprint planning meetings: - query: keywords='sprint planning', after=<last month>, before=<today> - extra_queries: [keywords=['iteration', 'sprint'], keywords=['planning', 'kickoff']] Find all-day events next week: - query: is_all_day=True, after=<next Monday>, before=<next Friday> Find tentative meetings requiring response: - query: show_as='tentative', after=<today>, before=<next week> Find recurring 1:1 meetings with manager: - query: is_recurring=True, attendee_email='manager@company.com' Find cancelled meetings to understand schedule changes: - query: is_cancelled=True, after=<last week>, before=<today> When to Use this function: Use this function for ANY calendar or scheduling query, including: - Meeting searches: "Find meetings with john@company.com", "Show my sprint planning meetings" - Schedule overview: "What's my week look like?", "Do I have meetings tomorrow?" - Attendee queries: "Meetings with my manager", "Events with the engineering team" - Time-based searches: "Meetings next week", "Recent 1:1s" - Location searches: "Meetings in Building A", "Virtual meetings on Teams" - Event attributes: "A…

search_outlook_calendar

ChatGPT
IMPORTANT: Use search_outlook_calendar instead of search for any query about meetings, calendar events, schedules, appointments, or availability. Search for calendar events in the user's Microsoft 365 Outlook calendar. Calendar events are a key source of workplace scheduling information containing meetings, appointments, team syncs, and availability data. Uses structured queries with filters for attendees, keywords, location, and event attributes. Returns formatted search results with event details, attendees, timing, and location information. Query Expansion for Better Coverage: Query expansion improves result coverage for SEARCHING, but is NOT needed for pure FILTERING. Use 'extra_queries' to provide alternative structured queries that vary keywords, attendee names, location terms, and phrasings. Leave 'extra_queries' empty for pure exact filters (attendee_email, is_all_day, is_cancelled, is_recurring, show_as). Examples: - SEARCHING: keywords=['sprint planning'] + Extra: [keywords=['sprint'], keywords=['iteration', 'planning']] - SEARCHING: location='Building A' + Extra: [location='Bldg A'], location='Office A']] - FILTERING: attendee_email='john@company.com' + Extra: [] (empty) - MIXED: attendee_name='john' + keywords=['standup'] + Extra: [keywords=['standup'], keywords=['sync']] Structured Query Filters: All filters are optional - combine them to narrow results: Keywords - keywords: Text to search in event subject/body (substring match, case-insensitive) Example: keywords='budget review' matches "Q4 Budget Review Meeting" Attendees - attendee_email: Exact email address match (preferred for identifying people) Example: attendee_email='sarah@company.com' - attendee_name: Display name substring match (fallback when email unknown) Example: attendee_name='Sarah' matches "Sarah Johnson" Note: Email matching is more precise - use it when available Location - location: Location text substring match (physical or virtual) Example: location='Building A' or location='Teams' Event Attributes - is_all_day: Filter all-day events (true) or timed events (false) - is_cancelled: Filter cancelled events (true) or active events (false) - is_recurring: Filter recurring events (true) or one-time events (false) - show_as: Availability status (free, busy, tentative, out_of_office, working_elsewhere) Time Range - after/before parameters define the time window (automatically capped to 90 days) - Events are loaded for the entire range, then filtered in-memory - Keep ranges focused for better performance (days/weeks better than months) Important Time Range Behavior: - Calendar searches are capped to 90-day time windows for performance - If you request a range > 90 days, the system automatically adjusts the after date to create a 90-day window ending at your specified before date Search Examples: Find meetings with a specific person: - query: attendee_email='john@company.com', after=<last week>, before=<today> Find sprint planning meetings: - query: keywords='sprint planning', after=<last month>, before=<today> - extra_queries: [keywords=['iteration', 'sprint'], keywords=['planning', 'kickoff']] Find all-day events next week: - query: is_all_day=True, after=<next Monday>, before=<next Friday> Find tentative meetings requiring response: - query: show_as='tentative', after=<today>, before=<next week> Find recurring 1:1 meetings with manager: - query: is_recurring=True, attendee_email='manager@company.com' Find cancelled meetings to understand schedule changes: - query: is_cancelled=True, after=<last week>, before=<today> When to Use this function: Use this function for ANY calendar or scheduling query, including: - Meeting searches: "Find meetings with john@company.com", "Show my sprint planning meetings" - Schedule overview: "What's my week look like?", "Do I have meetings tomorrow?" - Attendee queries: "Meetings with my manager", "Events with the engineering team" - Time-based searches: "Meetings next week", "Recent 1:1s" - Location searches: "Meetings in Building A", "Virtual meetings on Teams" - Event attributes: "A…

search_outlook_mailbox

ChatGPT
IMPORTANT Use search_outlook_mailbox instead of search for any query that references emails, inbox, Outlook, messages from people, or email-related requests. Search for email messages in the user's Microsoft 365 Outlook mailbox. Outlook email is a key source of workplace communication containing discussions, approvals, company updates, and team information. Supports KQL's rich search syntax with filters for sender, recipient, subject, attachments, importance, and dates. Returns formatted search results with message content, sender information, and pagination details. Query Expansion for Better Coverage: Query expansion improves result coverage for SEARCHING, but is NOT needed for pure FILTERING. Use 'extra_queries' to provide alternative search queries that vary keywords, synonyms, and phrasings. Leave 'extra_queries' empty for pure attribute filters (isread, importance, hasattachments, from, to, subject). Examples: - SEARCHING: 'vacation policy' + Extra: ['vacation', 'time off', 'PTO', 'leave policy'] - FILTERING: 'isread:false' + Extra: [] (empty) - MIXED: 'from:jane budget' + Extra: ['from:jane financial', 'from:jane spending'] KQL search syntax you may use VERY IMPORTANT: this is the only types of filters you should use. You can use different keywords and query terms, but for filters with ":", do not invent anything else. CRITICAL: DO NOT ADD DATE FILTERS TO YOUR QUERIES - Date filters (received:>=YYYY-MM-DD, sent:>=YYYY-MM-DD, etc.) are AUTOMATICALLY added from the after/before parameters - NEVER manually add date filters to query or extra_queries - they will be injected automatically Filters for query and extra_query: People / Recipients - from:email@domain.com (messages from a specific sender) - from:'Display Name' (messages from sender by name - use single quotes) - to:email@domain.com (messages sent to a specific recipient) Subject / Content - subject:'keyword' (subject contains keyword or phrase - use single quotes) - 'exact phrase' (single quotes for exact phrase matching in body or subject) - keywords (space-separated terms search body and subject) Message Attributes - hasattachments:true|false (message has/lacks attachments) - importance:high|low|normal (message importance level) - isread:false (unread status) Boolean Operators - AND (both conditions must match) - OR (either condition matches) - NOT (exclude matches) Wildcards - (suffix wildcards only: subject:meet works, but meeting or meet do NOT work) - to: or from: (shortcuts for any messages sent to anyone or received from anyone) Notes - Combine filters by space-separating them with AND/OR operators. - Prefer quoting proper nouns / project names (e.g., 'Project Moonlight') - especially if the user put quotes themselves. Examples: FILTERING (no extra_queries needed): - Show unread messages -> isread:false - High priority emails with attachments -> importance:high AND hasattachments:true SEARCHING (provide extra_queries): - Find vacation policy emails -> vacation policy + Extra: ['vacation', 'PTO', 'time off'] - Emails from jane about budget -> from:jane@company.com budget + Extra: ['from:jane@company.com financial'] MIXED (preserve filters in extra_queries): - Unread messages about project launch -> isread:false project launch + Extra: ['isread:false project', 'isread:false kickoff'] When to Use this function:* Use this function for ANY email-related or message query, including: - Email searches: "Find emails from john@company.com", "Show my messages about benefits" - Sender-based queries: "What has my manager emailed me?", "Messages from HR" - Sent email queries: "Summarize last email I sent to John", "Show emails I sent about the project" - Time-based searches: "Emails from last week", "Recent messages about the project" - Attachment searches: "Emails with attachments about budget", "Messages with files" - Company info: Any question about company communications that would be in email

search_outlook_mailbox

ChatGPT
IMPORTANT Use search_outlook_mailbox instead of search for any query that references emails, inbox, Outlook, messages from people, or email-related requests. Search for email messages in the user's Microsoft 365 Outlook mailbox. Outlook email is a key source of workplace communication containing discussions, approvals, company updates, and team information. Supports KQL's rich search syntax with filters for sender, recipient, subject, attachments, importance, and dates. Returns formatted search results with message content, sender information, and pagination details. Query Expansion for Better Coverage: Query expansion improves result coverage for SEARCHING, but is NOT needed for pure FILTERING. Use 'extra_queries' to provide alternative search queries that vary keywords, synonyms, and phrasings. Leave 'extra_queries' empty for pure attribute filters (isread, importance, hasattachments, from, to, subject). Examples: - SEARCHING: 'vacation policy' + Extra: ['vacation', 'time off', 'PTO', 'leave policy'] - FILTERING: 'isread:false' + Extra: [] (empty) - MIXED: 'from:jane budget' + Extra: ['from:jane financial', 'from:jane spending'] KQL search syntax you may use VERY IMPORTANT: this is the only types of filters you should use. You can use different keywords and query terms, but for filters with ":", do not invent anything else. CRITICAL: DO NOT ADD DATE FILTERS TO YOUR QUERIES - Date filters (received:>=YYYY-MM-DD, sent:>=YYYY-MM-DD, etc.) are AUTOMATICALLY added from the after/before parameters - NEVER manually add date filters to query or extra_queries - they will be injected automatically Filters for query and extra_query: People / Recipients - from:email@domain.com (messages from a specific sender) - from:'Display Name' (messages from sender by name - use single quotes) - to:email@domain.com (messages sent to a specific recipient) Subject / Content - subject:'keyword' (subject contains keyword or phrase - use single quotes) - 'exact phrase' (single quotes for exact phrase matching in body or subject) - keywords (space-separated terms search body and subject) Message Attributes - hasattachments:true|false (message has/lacks attachments) - importance:high|low|normal (message importance level) - isread:false (unread status) Boolean Operators - AND (both conditions must match) - OR (either condition matches) - NOT (exclude matches) Wildcards - (suffix wildcards only: subject:meet works, but meeting or meet do NOT work) - to: or from: (shortcuts for any messages sent to anyone or received from anyone) Notes - Combine filters by space-separating them with AND/OR operators. - Prefer quoting proper nouns / project names (e.g., 'Project Moonlight') - especially if the user put quotes themselves. Examples: FILTERING (no extra_queries needed): - Show unread messages -> isread:false - High priority emails with attachments -> importance:high AND hasattachments:true SEARCHING (provide extra_queries): - Find vacation policy emails -> vacation policy + Extra: ['vacation', 'PTO', 'time off'] - Emails from jane about budget -> from:jane@company.com budget + Extra: ['from:jane@company.com financial'] MIXED (preserve filters in extra_queries): - Unread messages about project launch -> isread:false project launch + Extra: ['isread:false project', 'isread:false kickoff'] When to Use this function:* Use this function for ANY email-related or message query, including: - Email searches: "Find emails from john@company.com", "Show my messages about benefits" - Sender-based queries: "What has my manager emailed me?", "Messages from HR" - Sent email queries: "Summarize last email I sent to John", "Show emails I sent about the project" - Time-based searches: "Emails from last week", "Recent messages about the project" - Attachment searches: "Emails with attachments about budget", "Messages with files" - Company info: Any question about company communications that would be in email

search_outlook_mailbox

ChatGPT
IMPORTANT Use search_outlook_mailbox instead of search for any query that references emails, inbox, Outlook, messages from people, or email-related requests. Search for email messages in the user's Microsoft 365 Outlook mailbox. Outlook email is a key source of workplace communication containing discussions, approvals, company updates, and team information. Supports KQL's rich search syntax with filters for sender, recipient, subject, attachments, importance, and dates. Returns formatted search results with message content, sender information, and pagination details. Query Expansion for Better Coverage: Query expansion improves result coverage for SEARCHING, but is NOT needed for pure FILTERING. Use 'extra_queries' to provide alternative search queries that vary keywords, synonyms, and phrasings. Leave 'extra_queries' empty for pure attribute filters (isread, importance, hasattachments, from, to, subject). Examples: - SEARCHING: 'vacation policy' + Extra: ['vacation', 'time off', 'PTO', 'leave policy'] - FILTERING: 'isread:false' + Extra: [] (empty) - MIXED: 'from:jane budget' + Extra: ['from:jane financial', 'from:jane spending'] KQL search syntax you may use VERY IMPORTANT: this is the only types of filters you should use. You can use different keywords and query terms, but for filters with ":", do not invent anything else. CRITICAL: DO NOT ADD DATE FILTERS TO YOUR QUERIES - Date filters (received:>=YYYY-MM-DD, sent:>=YYYY-MM-DD, etc.) are AUTOMATICALLY added from the after/before parameters - NEVER manually add date filters to query or extra_queries - they will be injected automatically Filters for query and extra_query: People / Recipients - from:email@domain.com (messages from a specific sender) - from:'Display Name' (messages from sender by name - use single quotes) - to:email@domain.com (messages sent to a specific recipient) Subject / Content - subject:'keyword' (subject contains keyword or phrase - use single quotes) - 'exact phrase' (single quotes for exact phrase matching in body or subject) - keywords (space-separated terms search body and subject) Message Attributes - hasattachments:true|false (message has/lacks attachments) - importance:high|low|normal (message importance level) - isread:false (unread status) Boolean Operators - AND (both conditions must match) - OR (either condition matches) - NOT (exclude matches) Wildcards - (suffix wildcards only: subject:meet works, but meeting or meet do NOT work) - to: or from: (shortcuts for any messages sent to anyone or received from anyone) Notes - Combine filters by space-separating them with AND/OR operators. - Prefer quoting proper nouns / project names (e.g., 'Project Moonlight') - especially if the user put quotes themselves. Examples: FILTERING (no extra_queries needed): - Show unread messages -> isread:false - High priority emails with attachments -> importance:high AND hasattachments:true SEARCHING (provide extra_queries): - Find vacation policy emails -> vacation policy + Extra: ['vacation', 'PTO', 'time off'] - Emails from jane about budget -> from:jane@company.com budget + Extra: ['from:jane@company.com financial'] MIXED (preserve filters in extra_queries): - Unread messages about project launch -> isread:false project launch + Extra: ['isread:false project', 'isread:false kickoff'] When to Use this function:* Use this function for ANY email-related or message query, including: - Email searches: "Find emails from john@company.com", "Show my messages about benefits" - Sender-based queries: "What has my manager emailed me?", "Messages from HR" - Sent email queries: "Summarize last email I sent to John", "Show emails I sent about the project" - Time-based searches: "Emails from last week", "Recent messages about the project" - Attachment searches: "Emails with attachments about budget", "Messages with files" - Company info: Any question about company communications that would be in email

search_slack

ChatGPT
IMPORTANT search_slack instead of search for any query that references Slack, channels, DMs, messages, threads, reactions, pinned items, or Slack users. Search for messages and files in ALL Slack channels and DMs that user has access to. Slack is a primary knowledge base containing team discussions, decisions, company infos, and internal knowledge. Supports Slack's rich search syntax with modifiers for filtering by channel, user, date, content type, and more. Returns formatted search results with message content, context, and pagination information. Query Expansion for Better Coverage: Query expansion is not optional for most informational or company-related questions. Use the 'extra_queries' parameter to provide multiple alternative search queries that improve result coverage. The system executes queries in order (main query first, then extra queries) until it finds enough results. Because Slack treats multi-word searches as AND queries, the main query will often miss relevant messages if you do not add variations. Use extra_queries to: - Add single-word and simplified versions of the main query - Include synonyms, abbreviations, and common paraphrases - Try broader and narrower formulations of the same intent - Relax overly strict filters (channels, users, or dates) in some variants Example: - Main query "vacation policy" + Extra queries ["vacation", "time off", "PTO", "leave"] OR Operator - Use for Synonym Expansion: The OR operator is powerful for pure keyword searches to catch messages using different terminology. Use it to search multiple synonyms, related terms, or variations in a single query. Examples of effective OR usage: - bug OR issue OR defect OR problem - catches any bug-related discussion - PTO OR vacation OR leave OR time off - comprehensive leave policy search - onboard OR onboarding OR new hire OR welcome - new employee topics Important limitation: OR works ONLY for pure keyword searches (no filters). When filters are present, use extra_queries instead: - Main: from:<@Jane> proposal → Extra: [from:<@Jane> RFC, from:<@Jane> design doc] - Main: in:#engineering error → Extra: [in:#engineering exception, in:#engineering failure] Rule: Pure keywords → use OR. With filters → use extra_queries. User Search Strategy (from:<@...> syntax): All user reference formats are auto-resolved to Slack IDs. Use the best identifier you have in the main query, then provide alternatives in extra_queries for better coverage: Priority order for main query: 1. Slack ID (from:<@U123456>) - most reliable, used directly 2. Email (from:<@user@email.com>) - very reliable, auto-resolved 3. Full display name (from:<@John Doe>) - reliable, auto-resolved 4. Partial name (from:<@Jon>) - works but may match multiple users Use extra_queries for alternative identifier formats: - If main query uses email → add display name in extra_queries (and vice versa) - If user mentions nickname/abbreviation → add full name in extra_queries Examples: - Main query: "from:<@john.doe@workleap.com>" Extra queries: ["from:<@John Doe>"] - Main query: "from:<@John Doe>" Extra queries: ["from:<@john.doe@workleap.com>"] IMPORTANT : always use <@...>, with from: to: with: filters Slack search syntax you may use VERY IMPORTANT : this is the only types of filters you should use. You can use different key words and query terms, but for filters with ":", do not invent anything else. Dates (those filters will be separate parameters) - after:YYYY-MM-DD (used if asked for, or if user ask for recently = default to last month) - before:YYYY-MM-DD (used only if the user explicitly ask for a date range/before date) Filters for query and extra_query: People / conversation - from:<@DisplayName> (messages authored by a person) - from:<@U0123456789> (messages authored by a user ID - user id can always replace @DisplayName ) - with:<@DisplayName> (DMs / 1:1 or group DMs including that person) - in:#channel-name (search within a channel by channel name) - in:<#C0123456789> (search within a channel by channel ID) - to:<@DisplayName> (search messages that the user sent to someone else in dm) "Has" / attribute filters - has:file (message contains an attached file, any type) - has:action (message contains an action item / action) - has:link (message contains a link) - has:pin (message is pinned) - hasmy::+1: (messages the user reacted to with :+1:, a thumbs up. Other emojis might be used if provided) File-type filters (do not invent any other type. If a user mention a type not in the list, just use the generic has:file instead) - type:lists - type:canvases - type:documents - type:emails - type:images - type:pdfs - type:presentations - type:snippets - type:spreadsheets - type:audio - type:videos State / context filters - is:saved (saved items ; use this when user asked for anything they saved) - is:thread (thread messages / within threads) - is:dm (direct messages) Text matching - keywords (space-separated = AND logic; OR for synonym expansion in pure keyword searches only) - "exact phrase" (quotes for exact phrase matching) Notes - Combine filters by space-separating them (implicit AND). - Prefer quoting proper nouns / project names (e.g., "Project Moonlight") - especially if the user put quotes themselves. Search Syntax Examples (main query, other extra queries for different terms will also be needed): - Find benefits update in the people-ops channel -> in:#people-ops benefits update - What has jane doe said in slack about vacation policy -> from:@jane.doe@company.com vacation policy - Surface me salary discussion I had in my dms -> is:dm salary - Summarize my saved slack messages with links -> has:link is:saved - What videos were posted in slack in january 2024? -> type:videos after:2024-01-01 before:2024-12-31 When to Use this function: Use this function for ANY company-related or informational query, including: - Vague company queries: "What is our parental leave policy?", "Tell me about benefits enrollment" - Company terminology: "What does PTO mean?", "Explain our performance review process" - Team/project information: "Who is on the HR team?", "What's the status of benefits renewal?" - Company policies: "How do I request time off?", "What's our remote work policy?" - General information: Any question that might be discussed in team communications

search_slack

ChatGPT
IMPORTANT search_slack instead of search for any query that references Slack, channels, DMs, messages, threads, reactions, pinned items, or Slack users. Search for messages and files in ALL Slack channels and DMs that user has access to. Slack is a primary knowledge base containing team discussions, decisions, company infos, and internal knowledge. Supports Slack's rich search syntax with modifiers for filtering by channel, user, date, content type, and more. Returns formatted search results with message content, context, and pagination information. Query Expansion for Better Coverage: Query expansion is not optional for most informational or company-related questions. Use the 'extra_queries' parameter to provide multiple alternative search queries that improve result coverage. The system executes queries in order (main query first, then extra queries) until it finds enough results. Because Slack treats multi-word searches as AND queries, the main query will often miss relevant messages if you do not add variations. Use extra_queries to: - Add single-word and simplified versions of the main query - Include synonyms, abbreviations, and common paraphrases - Try broader and narrower formulations of the same intent - Relax overly strict filters (channels, users, or dates) in some variants Example: - Main query "vacation policy" + Extra queries ["vacation", "time off", "PTO", "leave"] OR Operator - Use for Synonym Expansion: The OR operator is powerful for pure keyword searches to catch messages using different terminology. Use it to search multiple synonyms, related terms, or variations in a single query. Examples of effective OR usage: - bug OR issue OR defect OR problem - catches any bug-related discussion - PTO OR vacation OR leave OR time off - comprehensive leave policy search - onboard OR onboarding OR new hire OR welcome - new employee topics Important limitation: OR works ONLY for pure keyword searches (no filters). When filters are present, use extra_queries instead: - Main: from:<@Jane> proposal → Extra: [from:<@Jane> RFC, from:<@Jane> design doc] - Main: in:#engineering error → Extra: [in:#engineering exception, in:#engineering failure] Rule: Pure keywords → use OR. With filters → use extra_queries. User Search Strategy (from:<@...> syntax): All user reference formats are auto-resolved to Slack IDs. Use the best identifier you have in the main query, then provide alternatives in extra_queries for better coverage: Priority order for main query: 1. Slack ID (from:<@U123456>) - most reliable, used directly 2. Email (from:<@user@email.com>) - very reliable, auto-resolved 3. Full display name (from:<@John Doe>) - reliable, auto-resolved 4. Partial name (from:<@Jon>) - works but may match multiple users Use extra_queries for alternative identifier formats: - If main query uses email → add display name in extra_queries (and vice versa) - If user mentions nickname/abbreviation → add full name in extra_queries Examples: - Main query: "from:<@john.doe@workleap.com>" Extra queries: ["from:<@John Doe>"] - Main query: "from:<@John Doe>" Extra queries: ["from:<@john.doe@workleap.com>"] IMPORTANT : always use <@...>, with from: to: with: filters Slack search syntax you may use VERY IMPORTANT : this is the only types of filters you should use. You can use different key words and query terms, but for filters with ":", do not invent anything else. Dates (those filters will be separate parameters) - after:YYYY-MM-DD (used if asked for, or if user ask for recently = default to last month) - before:YYYY-MM-DD (used only if the user explicitly ask for a date range/before date) Filters for query and extra_query: People / conversation - from:<@DisplayName> (messages authored by a person) - from:<@U0123456789> (messages authored by a user ID - user id can always replace @DisplayName ) - with:<@DisplayName> (DMs / 1:1 or group DMs including that person) - in:#channel-name (search within a channel by channel name) - in:<#C0123456789> (search within a channel by channel ID) - to:<@DisplayNa…

search_slack

ChatGPT
IMPORTANT search_slack instead of search for any query that references Slack, channels, DMs, messages, threads, reactions, pinned items, or Slack users. Search for messages and files in ALL Slack channels and DMs that user has access to. Slack is a primary knowledge base containing team discussions, decisions, company infos, and internal knowledge. Supports Slack's rich search syntax with modifiers for filtering by channel, user, date, content type, and more. Returns formatted search results with message content, context, and pagination information. Query Expansion for Better Coverage: Query expansion is not optional for most informational or company-related questions. Use the 'extra_queries' parameter to provide multiple alternative search queries that improve result coverage. The system executes queries in order (main query first, then extra queries) until it finds enough results. Because Slack treats multi-word searches as AND queries, the main query will often miss relevant messages if you do not add variations. Use extra_queries to: - Add single-word and simplified versions of the main query - Include synonyms, abbreviations, and common paraphrases - Try broader and narrower formulations of the same intent - Relax overly strict filters (channels, users, or dates) in some variants Example: - Main query "vacation policy" + Extra queries ["vacation", "time off", "PTO", "leave"] OR Operator - Use for Synonym Expansion: The OR operator is powerful for pure keyword searches to catch messages using different terminology. Use it to search multiple synonyms, related terms, or variations in a single query. Examples of effective OR usage: - bug OR issue OR defect OR problem - catches any bug-related discussion - PTO OR vacation OR leave OR time off - comprehensive leave policy search - onboard OR onboarding OR new hire OR welcome - new employee topics Important limitation: OR works ONLY for pure keyword searches (no filters). When filters are present, use extra_queries instead: - Main: from:<@Jane> proposal → Extra: [from:<@Jane> RFC, from:<@Jane> design doc] - Main: in:#engineering error → Extra: [in:#engineering exception, in:#engineering failure] Rule: Pure keywords → use OR. With filters → use extra_queries. User Search Strategy (from:<@...> syntax): All user reference formats are auto-resolved to Slack IDs. Use the best identifier you have in the main query, then provide alternatives in extra_queries for better coverage: Priority order for main query: 1. Slack ID (from:<@U123456>) - most reliable, used directly 2. Email (from:<@user@email.com>) - very reliable, auto-resolved 3. Full display name (from:<@John Doe>) - reliable, auto-resolved 4. Partial name (from:<@Jon>) - works but may match multiple users Use extra_queries for alternative identifier formats: - If main query uses email → add display name in extra_queries (and vice versa) - If user mentions nickname/abbreviation → add full name in extra_queries Examples: - Main query: "from:<@john.doe@workleap.com>" Extra queries: ["from:<@John Doe>"] - Main query: "from:<@John Doe>" Extra queries: ["from:<@john.doe@workleap.com>"] IMPORTANT : always use <@...>, with from: to: with: filters Slack search syntax you may use VERY IMPORTANT : this is the only types of filters you should use. You can use different key words and query terms, but for filters with ":", do not invent anything else. Dates (those filters will be separate parameters) - after:YYYY-MM-DD (used if asked for, or if user ask for recently = default to last month) - before:YYYY-MM-DD (used only if the user explicitly ask for a date range/before date) Filters for query and extra_query: People / conversation - from:<@DisplayName> (messages authored by a person) - from:<@U0123456789> (messages authored by a user ID - user id can always replace @DisplayName ) - with:<@DisplayName> (DMs / 1:1 or group DMs including that person) - in:#channel-name (search within a channel by channel name) - in:<#C0123456789> (search within a channel by channel ID) - to:<@DisplayNa…

search_teams

ChatGPT
Search teams visible to the current user in their Workleap organization. When to use: - User asks about their teams, team structure, or team membership - User wants to know who manages a team or how many people are on it - User needs a team_id to pass to another tool (e.g., fetching team members) Do NOT use for: - Looking up a specific person's profile — use search_organization_members instead - Engagement scores or feedback for a team — use analyze_engagement or analyze_feedback - Finding who someone's reporting manager is — use search_organization_members Parameter guidance: - Omit search_term to see all visible teams - Use search_term when the user names a specific team (e.g., "Engineering", "QA Montreal") - Results capped at 50 teams. Use search_term to narrow if you hit the limit. On results: - Starred teams appear first. Synthesize results into readable prose — do NOT blindly list every team's full details. Highlight what the user asked about. - When the user asks a broad question ("what are my teams?"), give a concise overview (names, types, sizes) and offer to drill into any specific team. - Use team_id from the response to chain into other tools when the user wants more detail (e.g., team members, engagement data for that team). On error: Tell the user the team data could not be loaded and suggest retrying.

search_teams

ChatGPT
Search teams visible to the current user in their Workleap organization. When to use: - User asks about their teams, team structure, or team membership - User wants to know who manages a team or how many people are on it - User needs a team_id to pass to another tool (e.g., fetching team members) Do NOT use for: - Looking up a specific person's profile — use search_organization_members instead - Engagement scores or feedback for a team — use analyze_engagement or analyze_feedback - Finding who someone's reporting manager is — use search_organization_members Parameter guidance: - Omit search_term to see all visible teams - Use search_term when the user names a specific team (e.g., "Engineering", "QA Montreal") - Results capped at 50 teams. Use search_term to narrow if you hit the limit. On results: - Starred teams appear first. Synthesize results into readable prose — do NOT blindly list every team's full details. Highlight what the user asked about. - When the user asks a broad question ("what are my teams?"), give a concise overview (names, types, sizes) and offer to drill into any specific team. - Use team_id from the response to chain into other tools when the user wants more detail (e.g., team members, engagement data for that team). On error: Tell the user the team data could not be loaded and suggest retrying.

search_teams

ChatGPT
Search teams visible to the current user in their Workleap organization. When to use: - User asks about their teams, team structure, or team membership - User wants to know who manages a team or how many people are on it - User needs a team_id to pass to another tool (e.g., fetching team members) Do NOT use for: - Looking up a specific person's profile — use search_organization_members instead - Engagement scores or feedback for a team — use analyze_engagement or analyze_feedback - Finding who someone's reporting manager is — use search_organization_members Parameter guidance: - Omit search_term to see all visible teams - Use search_term when the user names a specific team (e.g., "Engineering", "QA Montreal") - Results capped at 50 teams. Use search_term to narrow if you hit the limit. On results: - Starred teams appear first. Synthesize results into readable prose — do NOT blindly list every team's full details. Highlight what the user asked about. - When the user asks a broad question ("what are my teams?"), give a concise overview (names, types, sizes) and offer to drill into any specific team. - Use team_id from the response to chain into other tools when the user wants more detail (e.g., team members, engagement data for that team). On error: Tell the user the team data could not be loaded and suggest retrying.

Capabilities

Interactive

Example Prompts

Click any prompt to copy it.

App Stats

57

Tools

3

Prompts

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily