Skip to content

added tool documentation for outlook and slack#458

Open
HashirrLukmahn wants to merge 1 commit intomainfrom
agent-auth-outlook-docs
Open

added tool documentation for outlook and slack#458
HashirrLukmahn wants to merge 1 commit intomainfrom
agent-auth-outlook-docs

Conversation

@HashirrLukmahn
Copy link
Collaborator

@HashirrLukmahn HashirrLukmahn commented Mar 3, 2026

Added documentation for available tools for outlook and slack. Will add the gif for creating OAuth apps for respective tools in a seperate PR.

Summary by CodeRabbit

Documentation

  • Added comprehensive Outlook connector documentation, introducing calendar event management, messaging workflows, mailbox operations, and contact management tools.
  • Updated Slack connector documentation with standardized parameter definitions, improved field descriptions, clearer examples, and enhanced consistency across all supported tools.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 3, 2026

Walkthrough

Documentation updates for agent connectors: new Outlook connector reference with calendar, messaging, and contact operations; Slack connector reference restructured from legacy properties tables to standardized parameter schema with updated scopes and field definitions.

Changes

Cohort / File(s) Summary
Outlook Connector Documentation
src/content/docs/reference/agent-connectors/outlook.mdx
Added comprehensive documentation for Outlook tools including calendar operations (create, update, get, list, delete events), messaging workflows (send message, reply to message), mailbox interactions (list/search messages, manage contacts). Each tool includes detailed parameter tables with name, type, required flag, and description.
Slack Connector Documentation
src/content/docs/reference/agent-connectors/slack.mdx
Restructured Slack tool documentation from legacy Properties tables to standardized Name/Type/Required/Description schema. Updated OAuth scopes, field definitions, and examples across multiple tools. Replaced slack_add_reaction entry with slack_send_message. Added consistent parameter definitions and edge-case handling (DM formats, thread behavior, paging) for better API clarity.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested reviewers

  • ravibits
  • saif-at-scalekit
  • amitash1912
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main changes: adding tool documentation for two connectors (Outlook and Slack).
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch agent-auth-outlook-docs

Tip

Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs).
Share your feedback on Discord.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@netlify
Copy link

netlify bot commented Mar 3, 2026

Deploy Preview for scalekit-starlight ready!

Name Link
🔨 Latest commit c66ab31
🔍 Latest deploy log https://app.netlify.com/projects/scalekit-starlight/deploys/69a76f442a8e070008dde38b
😎 Deploy Preview https://deploy-preview-458--scalekit-starlight.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@src/content/docs/reference/agent-connectors/outlook.mdx`:
- Around line 99-102: Update the RFC3339 example datetimes to include a timezone
offset so they are valid date-time values: replace examples for `start_datetime`
and `end_datetime` (and any other RFC3339 examples in this doc) with values that
include either Z or ±HH:MM, e.g. "2026-01-27T14:00:00Z" or
"2026-01-27T14:00:00+00:00" (and similarly for the end time), keeping the
`start_timezone`/`end_timezone` fields as descriptive timezone examples.

In `@src/content/docs/reference/agent-connectors/slack.mdx`:
- Line 153: The docs incorrectly state the Slack channel `name` length limit as
21 characters; update the `name` parameter description in the Slack connector
docs so it reflects Slack's conversations.create limit of 80 characters (e.g.,
change "21 characters or fewer" to "80 characters or fewer"), keeping the
existing constraints about lowercase and no spaces intact and ensuring the
backtick-wrapped `name` token and surrounding table row remain unchanged.
- Around line 159-167: Update the documentation for
slack_fetch_conversation_history and slack_get_conversation_replies to list
required scopes by conversation type (channels:history for public channels,
groups:history for private channels, im:history for 1:1 DMs, and mpim:history
for multi-party DMs), and clarify when multiple scopes may be needed; also
revise the "limit" row to state the API-wide range (1–1000) but note Slack's
enforced runtime limits for non-Marketplace/unlisted apps (as of May 29, 2025
and affecting unlisted installs from March 3, 2026): non-Marketplace apps are
rate-limited to ~1 request/min and default/max message page sizes often limited
to 15, while Marketplace apps retain higher limits—make this distinction
explicit in both method docs.

ℹ️ Review info

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a002d16 and c66ab31.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (2)
  • src/content/docs/reference/agent-connectors/outlook.mdx
  • src/content/docs/reference/agent-connectors/slack.mdx
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: Redirect rules - scalekit-starlight
  • GitHub Check: Header rules - scalekit-starlight
  • GitHub Check: Pages changed - scalekit-starlight
🧰 Additional context used
📓 Path-based instructions (4)
**/*.mdx

📄 CodeRabbit inference engine (.cursorrules)

**/*.mdx: Use clear, descriptive titles that explain the purpose of the document
Include comprehensive descriptions in frontmatter metadata
Organize content with logical heading hierarchy (H2, H3, H4)
Use tableOfContents property in frontmatter when content has multiple sections
Set appropriate sidebar labels for navigation in frontmatter
Use direct instruction writing style with phrases like 'This guide shows you how to...' and 'Create an authorization URL to...'
Use second person perspective ('your application', 'you receive', 'you must') in documentation
Keep sentences concise, aiming for under 25 words per sentence
Explain the 'why' in documentation with phrases like 'This prevents CSRF attacks by...' or 'Use this to validate that...'
Use action verbs in section headings: 'Store session tokens securely', 'Validate the state parameter', 'Exchange authorization code for tokens'
Use present tense for descriptions: 'Scalekit handles the complex authentication flow', 'The SDK provides methods to refresh tokens'
Use future tense for results: 'This will redirect users to...', 'You'll receive a JWT containing...', 'Scalekit returns an authorization code'
Use transition phrases between sections: 'After the user authenticates...', 'Once the state is validated...', 'Let's take a look at how to...'
Write 1-3 opening paragraphs that explain what users will accomplish, provide context about when/why, preview key concepts, and use direct instructional language
Begin introduction sections with a clear statement of what the guide covers and explain the problem being solved
Use collapsible sections in introduction for sequence diagrams, video demonstrations, data models, and JSON examples with appropriate icons
Use numbered format within Steps component: 1. ## Title with all step content indented with exactly 3 spaces
Use action-oriented headings in step-by-step guides within Steps components
Include code examples in all 4 languages (Node.js, Python, Go, Java) within Steps co...

Files:

  • src/content/docs/reference/agent-connectors/outlook.mdx
  • src/content/docs/reference/agent-connectors/slack.mdx

⚙️ CodeRabbit configuration file

**/*.mdx: You are reviewing Scalekit developer documentation written in MDX
(Astro + Starlight framework). Apply ALL of the following checks:

Frontmatter

  • title MUST be ≤ 60 characters and clearly state what the page does.
  • description MUST be ≤ 160 characters, action-oriented, unique per page.
  • sidebar.label MUST be present and ≤ 30 characters.
  • sidebar.order MUST be set on every page that lives inside a section
    with siblings, to enforce the journey order in sidebar.config.ts.
  • Flag any missing prev / next links on pages that are clearly
    part of a sequential flow (e.g., quickstart → implement-login →
    complete-login → manage-session → logout).

Voice & Style (CLAUDE.md standards)

  • Voice: confident, direct, collaborative, instructional.
  • Person: second person only ("you", "your application"). Reject "we",
    "our", "the developer", "the user".
  • Tense: present tense for descriptions; imperative mood for instructions.
  • Flag weasel words: "simply", "just", "easy", "straightforward",
    "obviously", "of course", "note that".
  • Flag passive voice constructions where active voice is clearer.
  • Headings must be sentence case, not Title Case (except proper nouns).
  • No heading should end with a colon or period.

Content structure

  • How-to guides MUST contain numbered <Steps> (Starlight component).
  • Concept pages MUST NOT contain numbered steps — concepts explain, not instruct.
  • API reference pages MUST list parameters in a table with Name / Type /
    Required / Description columns.
  • Every page MUST end with a clear "what's next" signal — either a
    next: frontmatter link, a <LinkCard>, or an explicit paragraph
    pointing the reader forward in the sidebar journey.

Code examples

  • ALL code examples that show SDK usage MUST include all four language
    tabs: Node.js, Python, Go, Java — using <Tabs syncKey="tech-stack">.
  • SDK variable names are STRICTLY: scalekit (Node.js),
    scalekit_client (Python), scalekitClient (Go), ...

Files:

  • src/content/docs/reference/agent-connectors/outlook.mdx
  • src/content/docs/reference/agent-connectors/slack.mdx
**/*.{yml,yaml,md,mdx}

📄 CodeRabbit inference engine (.cursor/rules/browsecentral-labels.mdc)

**/*.{yml,yaml,md,mdx}: BrowseCentral labels should be maximum 3-5 words - keep concise but add context when needed
BrowseCentral labels should be action-oriented - start with verbs when possible
BrowseCentral labels should be specific and clear - add context when simple labels are ambiguous
BrowseCentral labels should be outcome-focused - describe what users accomplish and the context
BrowseCentral labels should use 'Action + Object' pattern (e.g., 'Invite users', 'Restrict sign-up', 'Set up SCIM')
BrowseCentral labels should use feature names (e.g., 'Enterprise SSO', 'Passwordless quickstart')
BrowseCentral labels should describe task completion (e.g., 'Run migrations', 'Migrate auth', 'Merge identities')
BrowseCentral labels should include specific context when needed (e.g., 'Configure Scalekit MCP server', 'Validate incoming API requests')
BrowseCentral labels should use integration context when applicable (e.g., 'Build MCP auth with your existing auth system')
BrowseCentral labels should avoid instructional prefixes: 'How to', 'Guide to', 'Implement', 'Configure', 'Learn', 'Understand'
BrowseCentral labels should avoid verbose phrases: 'Step-by-step guide', 'Complete tutorial', 'Detailed documentation'
BrowseCentral labels should avoid weak verbs: 'Enable', 'Allow', 'Provide', 'Support'

Files:

  • src/content/docs/reference/agent-connectors/outlook.mdx
  • src/content/docs/reference/agent-connectors/slack.mdx
**/*.{md,mdx}

📄 CodeRabbit inference engine (.cursor/rules/deno-docs-style.mdc)

**/*.{md,mdx}: Use sentence case for all titles and headings in MD/MDX documentation
Keep page titles short and descriptive (3–7 words when possible) in MD/MDX documentation
Use outcome-focused headings that describe results, not categories (e.g., 'Run a script' not 'Scripts')
Avoid gerunds in headings when an imperative works - prefer 'Configure proxies' over 'Configuring proxies'
Keep sidebar labels concise (1–3 words), use sentence case, and focus on outcomes or objects
Use sentence case in sidebar labels without punctuation
Set frontmatter title in sentence case with a clear outcome; description in one sentence (≤160 chars); sidebar.label as shorter form of title; enable tableOfContents on longer pages
Start documentation pages with a one-paragraph overview explaining what the page covers and when to use it
Present the primary use case (80% path) first in documentation, with edge cases later
Use numbered steps for task-focused sections in documentation, with each step beginning with a verb
Break up long documentation sections with subheadings every 3–6 paragraphs
Use asides for important notes, tips, cautions, and references in documentation
Provide runnable, minimal code examples that work as-is in documentation
Prefer CLI-first examples and show file layout when helpful in documentation
Label code blocks with titles for context (e.g., 'Terminal', 'main.ts') in documentation
Keep code block annotations brief and purposeful - annotate only what matters
Use consistent variable and file names across a documentation page
Use descriptive link text in documentation (e.g., 'See permission flags' not 'click here')
Prefer relative links for internal documentation pages and include anchors for section references
Reference APIs consistently using backticks for code, file names, CLI flags, and endpoints
Use backticks for code, file names, CLI flags, and endpoints in documentation
Use lists for options and features in documentation; tables only when comparisons are cleare...

Files:

  • src/content/docs/reference/agent-connectors/outlook.mdx
  • src/content/docs/reference/agent-connectors/slack.mdx
src/content/docs/**/*.{md,mdx}

📄 CodeRabbit inference engine (CLAUDE.md)

src/content/docs/**/*.{md,mdx}: Product-based documentation (MCP Auth, Agent Auth, Full Stack Auth, Modular SCIM, Modular SSO) MUST follow a journey-focused approach. Each product represents a developer's journey toward implementing authentication in their projects.
Proactively address common setup and configuration problems. Keep code examples simple, self-contained, and exportable.
Use imperative for procedures: 'Install', 'Create', 'Run', 'Configure', 'Test'. Front-load the action and start sentences with the verb or key concept.
Explain why when useful. Briefly justify non-obvious steps. Prefer examples over theory; show the common path first and link to details.
Every page MUST include frontmatter with at least: title (≤60 characters), description (≤160 characters), and sidebar.label (1-3 words). Use sidebar.order only when navigation ordering matters. Use prev/next for sequential guides; use seeAlso for related guides. Enable tableOfContents for longer pages with multiple major sections.
Opening paragraphs (1-3) MUST state what users will accomplish, when/why they need it, and preview the workflow using direct instructional language
The Steps component requires a single continuous ordered list. Steps must start at column 0 with no leading spaces. Continuation content (images, text) must be indented with exactly 3 spaces. Sub-bullet lists use 3 spaces with no blank line before bullets. No blank line immediately after Steps opening tag.
Documentation must be organized into logical sections (FSA, SSO, Directory/SCIM, Connect, M2M, Guides, Reference) with proper sidebar configuration and navigation structure

Files:

  • src/content/docs/reference/agent-connectors/outlook.mdx
  • src/content/docs/reference/agent-connectors/slack.mdx
🧠 Learnings (14)
📓 Common learnings
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 448
File: src/content/docs/reference/agent-connectors/googlesheets.mdx:95-141
Timestamp: 2026-02-26T07:22:55.583Z
Learning: For MDX files under src/content/docs/reference/agent-connectors/, the parameter tables (showing tool properties) are auto-generated from JSON API responses by scripts/sync-agent-connectors.js. Any table format corrections must be made in the generation script, not by manually editing the generated MDX files. The script should be updated to output the required "Name | Type | Required | Description" four-column table format per coding guidelines.
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 455
File: src/content/docs/reference/agent-connectors/asana.mdx:94-173
Timestamp: 2026-03-03T13:35:56.400Z
Learning: For Agent Connectors documentation (src/content/docs/reference/agent-connectors/**/*.mdx), currently only Python SDK support is available for Agent Actions/Agent Connectors. Do not require or enforce the multi-language SDK code examples (Node.js, Python, Go, Java) guideline for these connector docs until SDK support is ready in other languages. The Node.js, Go, and Java examples can be added once the respective SDKs support Agent Actions features.
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 448
File: src/content/docs/reference/agent-connectors/googlemeet.mdx:1-87
Timestamp: 2026-02-26T07:20:46.903Z
Learning: For auto-generated agent connector documentation pages in src/content/docs/reference/agent-connectors/, the "what's next" signal requirement (next: frontmatter link, <LinkCard>, or concluding paragraph) does not apply. These are reference pages generated by scripts/sync-agent-connectors.js and serve as lookup resources rather than sequential guides.
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 448
File: src/content/docs/reference/agent-connectors/googlesheets.mdx:82-82
Timestamp: 2026-02-26T07:21:12.772Z
Learning: For agent connector documentation files under src/content/docs/reference/agent-connectors/, prefer CDN URLs (https://cdn.scalekit.cloud/sk-connect/assets/provider-icons/) for connector logo images rather than storing them locally in src/assets/docs/. This differs from the general guideline to use local assets.
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 448
File: src/content/docs/reference/agent-connectors/microsoftword.mdx:3-3
Timestamp: 2026-02-26T07:23:27.672Z
Learning: For MDX files under src/content/docs/reference/agent-connectors/, do not enforce the 160-character description limit. These files are auto-generated from API payloads via scripts/sync-agent-connectors.js and may have longer descriptions from the source data.
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 448
File: src/content/docs/reference/agent-connectors/googlesheets.mdx:89-131
Timestamp: 2026-02-26T07:21:37.207Z
Learning: In src/content/docs/reference/agent-connectors/** MDX files, tool headings (e.g., `googlesheets_create_spreadsheet`, `googlesheets_get_values`) intentionally use H2 (##) instead of H3 to ensure they appear in the table of contents for easier navigation. This is a deliberate UX choice for agent connector reference pages and should not be flagged as a hierarchy issue.
📚 Learning: 2026-02-26T07:22:49.128Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 448
File: src/content/docs/reference/agent-connectors/googlesheets.mdx:95-141
Timestamp: 2026-02-26T07:22:49.128Z
Learning: For MDX files under src/content/docs/reference/agent-connectors, parameter tables are auto-generated from JSON API responses by scripts/sync-agent-connectors.js. Do not manually edit the generated MDX files. Update scripts/sync-agent-connectors.js to output a four-column table with headers Name | Type | Required | Description for all parameter tables, ensuring consistency with the coding guidelines. This pattern should apply to all MDX files in that directory.

Applied to files:

  • src/content/docs/reference/agent-connectors/outlook.mdx
  • src/content/docs/reference/agent-connectors/slack.mdx
📚 Learning: 2026-02-26T07:23:24.179Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 448
File: src/content/docs/reference/agent-connectors/microsoftword.mdx:3-3
Timestamp: 2026-02-26T07:23:24.179Z
Learning: Do not enforce the 160-character description limit for MDX files under src/content/docs/reference/agent-connectors/. These files are auto-generated from API payloads via scripts/sync-agent-connectors.js and may contain longer descriptions sourced from the data.

Applied to files:

  • src/content/docs/reference/agent-connectors/outlook.mdx
  • src/content/docs/reference/agent-connectors/slack.mdx
📚 Learning: 2026-02-26T07:21:32.951Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 448
File: src/content/docs/reference/agent-connectors/googlesheets.mdx:89-131
Timestamp: 2026-02-26T07:21:32.951Z
Learning: For agent-connectors reference MDX files, use H2 headings (##) for tool sections (e.g., googlesheets_create_spreadsheet, googlesheets_get_values) so they appear in the table of contents. This is a deliberate UX choice and should not be flagged as a hierarchy issue.

Applied to files:

  • src/content/docs/reference/agent-connectors/outlook.mdx
  • src/content/docs/reference/agent-connectors/slack.mdx
📚 Learning: 2026-01-30T18:18:50.883Z
Learnt from: AkshayParihar33
Repo: scalekit-inc/developer-docs PR: 415
File: src/content/docs/authenticate/fsa/multiapp/manage-apps.mdx:31-49
Timestamp: 2026-01-30T18:18:50.883Z
Learning: In all Scalekit documentation files (MDX), treat the terms 'Applications', 'Single Page Application (SPA)', 'Native Application', and 'Web Application' as proper nouns and preserve their capitalization in headings and body text. Ensure these terms remain capitalized even when used in sentence case or within prose.

Applied to files:

  • src/content/docs/reference/agent-connectors/outlook.mdx
  • src/content/docs/reference/agent-connectors/slack.mdx
📚 Learning: 2026-02-04T12:47:16.544Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 412
File: src/content/docs/dev-kit/tools/scalekit-dryrun.mdx:1-23
Timestamp: 2026-02-04T12:47:16.544Z
Learning: In scalekit-inc/developer-docs, the MDX frontmatter field order is required only when the sidebar configuration points to a directory (for auto-generation). If the sidebar.config.ts references a specific file path, the order field is not required. Apply this check to all MDX files under src/content/docs: if a file contributes to an auto-generated sidebar (directory path), ensure order is present; if it’s linked to a concrete file, order can be omitted. Use sidebar.config.ts to determine whether a given MDX file falls under directory-based vs file-specific sidebar references.

Applied to files:

  • src/content/docs/reference/agent-connectors/outlook.mdx
  • src/content/docs/reference/agent-connectors/slack.mdx
📚 Learning: 2026-02-25T08:57:12.201Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 444
File: src/content/docs/agent-auth/quickstart.mdx:2-10
Timestamp: 2026-02-25T08:57:12.201Z
Learning: In Scalekit developer-docs (Astro Starlight), do not auto-suggest adding tableOfContents in frontmatter unless the user explicitly overrides the default behavior. The default enables tableOfContents with minHeadingLevel 2 and maxHeadingLevel 3. Only set tableOfContents when you want to customize heading levels or disable it entirely; otherwise omit it for other docs.

Applied to files:

  • src/content/docs/reference/agent-connectors/outlook.mdx
  • src/content/docs/reference/agent-connectors/slack.mdx
📚 Learning: 2026-02-25T13:04:27.491Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 444
File: src/content/docs/agent-auth/start-agent-auth-coding-agents.mdx:9-17
Timestamp: 2026-02-25T13:04:27.491Z
Learning: Allow page-level CSS overrides in MDX frontmatter (head: style) for readability and engagement, even if it customizes typography beyond defaults. This applies to per-page UX decisions, including heading sizes and style tweaks, but keep overrides purposeful, accessible, and within the repository's design guidelines. Use these overrides sparingly and document the rationale for maintainability.

Applied to files:

  • src/content/docs/reference/agent-connectors/outlook.mdx
  • src/content/docs/reference/agent-connectors/slack.mdx
📚 Learning: 2026-02-25T03:34:41.147Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 444
File: src/content/docs/agent-auth/start-agent-auth-coding-agents.mdx:31-31
Timestamp: 2026-02-25T03:34:41.147Z
Learning: In MDX files, import { Code } from 'astrojs/starlight/components' only if the MDX content actually uses the <Code> component. If the file uses only fenced code blocks (```), the import is not required. Apply this guideline to all MDX files (e.g., src/content/docs/**/*.mdx) to avoid unnecessary imports and reduce bundle size.

Applied to files:

  • src/content/docs/reference/agent-connectors/outlook.mdx
  • src/content/docs/reference/agent-connectors/slack.mdx
📚 Learning: 2026-02-25T18:41:00.639Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 446
File: src/content/docs/authenticate/m2m/api-auth-quickstart.mdx:78-78
Timestamp: 2026-02-25T18:41:00.639Z
Learning: Preserve full URLs inside code comments in MDX code blocks (bash/python/js) when the URLs are part of copyable examples. Do not flag these in code examples. Use relative paths in prose and hyperlinks within MDX; only enforce relative paths for markdown prose links, not for URLs inside code comments.

Applied to files:

  • src/content/docs/reference/agent-connectors/outlook.mdx
  • src/content/docs/reference/agent-connectors/slack.mdx
📚 Learning: 2026-02-26T07:18:41.518Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 448
File: scripts/sync-agent-connectors.js:0-0
Timestamp: 2026-02-26T07:18:41.518Z
Learning: For MDX files under src/content/docs/reference/agent-connectors, the sidebar.label frontmatter is not required because navigation is auto-generated from this directory via the central sidebar config. Do not rely on or modify sidebar.label in these files; ensure ordering and grouping are defined in the shared sidebar configuration.

Applied to files:

  • src/content/docs/reference/agent-connectors/outlook.mdx
  • src/content/docs/reference/agent-connectors/slack.mdx
📚 Learning: 2026-02-26T07:20:42.107Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 448
File: src/content/docs/reference/agent-connectors/googlemeet.mdx:1-87
Timestamp: 2026-02-26T07:20:42.107Z
Learning: In src/content/docs/reference/agent-connectors/**, these auto-generated agent connector reference pages (e.g., googlemeet.mdx) are lookup resources. Do not require or enforce the 'what's next' signal (next link, LinkCard, or concluding paragraph) for these pages; treat them as non-sequential references produced by scripts (scripts/sync-agent-connectors.js).

Applied to files:

  • src/content/docs/reference/agent-connectors/outlook.mdx
  • src/content/docs/reference/agent-connectors/slack.mdx
📚 Learning: 2026-02-26T07:21:09.133Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 448
File: src/content/docs/reference/agent-connectors/googlesheets.mdx:82-82
Timestamp: 2026-02-26T07:21:09.133Z
Learning: For any agent connector documentation files located in src/content/docs/reference/agent-connectors/, prefer using CDN URLs for connector logos (https://cdn.scalekit.cloud/sk-connect/assets/provider-icons/) instead of inlining or storing images in local assets (e.g., src/assets/docs/). This should override the general guideline to use local assets for this specific docs section. Apply this pattern to all mdx files in that directory; use the CDN-hosted logo URLs in image elements or logo references.

Applied to files:

  • src/content/docs/reference/agent-connectors/outlook.mdx
  • src/content/docs/reference/agent-connectors/slack.mdx
📚 Learning: 2026-03-03T13:35:47.638Z
Learnt from: saif-at-scalekit
Repo: scalekit-inc/developer-docs PR: 455
File: src/content/docs/reference/agent-connectors/asana.mdx:94-173
Timestamp: 2026-03-03T13:35:47.638Z
Learning: In Agent Connectors documentation (src/content/docs/reference/agent-connectors/**/*.mdx), only Python SDK examples for Agent Actions/Agent Connectors should be required for now. Do not enforce or require multi-language SDK code examples (Node.js, Python, Go, Java) until the respective SDKs support Agent Actions. Once supported, you can add and require other languages in those docs. This guideline applies to all files under the agent-connectors documentation path.

Applied to files:

  • src/content/docs/reference/agent-connectors/outlook.mdx
  • src/content/docs/reference/agent-connectors/slack.mdx

Comment on lines +99 to +102
| `start_datetime` | string | Yes | Event start time in RFC3339 format (e.g. 2026-01-27T14:00:00) |
| `start_timezone` | string | Yes | Timezone for the start time (e.g. UTC) |
| `end_datetime` | string | Yes | Event end time in RFC3339 format (e.g. 2026-01-27T15:00:00) |
| `end_timezone` | string | Yes | Timezone for the end time (e.g. UTC) |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Fix RFC3339 examples to include a timezone offset

Line 99, Line 101, Line 135, and Line 137 use examples that omit timezone information (Z or ±HH:MM), so they are not valid RFC3339 date-time values.

Suggested documentation fix
-| `start_datetime` | string | Yes | Event start time in RFC3339 format (e.g. 2026-01-27T14:00:00) |
+| `start_datetime` | string | Yes | Event start time in RFC3339 format (e.g. 2026-01-27T14:00:00Z) |
-| `end_datetime` | string | Yes | Event end time in RFC3339 format (e.g. 2026-01-27T15:00:00) |
+| `end_datetime` | string | Yes | Event end time in RFC3339 format (e.g. 2026-01-27T15:00:00Z) |
-| `start_datetime` | string | No | Event start time in RFC3339 format (e.g. 2026-01-27T09:00:00) |
+| `start_datetime` | string | No | Event start time in RFC3339 format (e.g. 2026-01-27T09:00:00Z) |
-| `end_datetime` | string | No | Event end time in RFC3339 format (e.g. 2026-01-27T10:00:00) |
+| `end_datetime` | string | No | Event end time in RFC3339 format (e.g. 2026-01-27T10:00:00Z) |

Also applies to: 135-138

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/content/docs/reference/agent-connectors/outlook.mdx` around lines 99 -
102, Update the RFC3339 example datetimes to include a timezone offset so they
are valid date-time values: replace examples for `start_datetime` and
`end_datetime` (and any other RFC3339 examples in this doc) with values that
include either Z or ±HH:MM, e.g. "2026-01-27T14:00:00Z" or
"2026-01-27T14:00:00+00:00" (and similarly for the end time), keeping the
`start_timezone`/`end_timezone` fields as descriptive timezone examples.

| `ts` | Timestamp of the parent message to get replies for | string |
| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | Yes | Name of the channel to create, without `#` prefix. Must be lowercase, no spaces, 21 characters or fewer. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

cat -n src/content/docs/reference/agent-connectors/slack.mdx | sed -n '150,160p'

Repository: scalekit-inc/developer-docs

Length of output: 765


🌐 Web query:

Slack conversations.create channel name maximum length limit characters

💡 Result:

For conversations.create, the name (channel name) must be 80 characters or less (and can only use lowercase letters, numbers, hyphens, and underscores). [1][2]

Sources:
[1] Slack Developer Docs – conversations.create (“must be 80 characters or less”)
[2] Slack API method docs – naming rules + invalid_name_maxlength error


Update channel name length limit to match Slack's API constraint

The name parameter at line 153 incorrectly limits channel names to 21 characters. Slack's conversations.create method allows up to 80 characters. Update the description to reflect the actual API limit.

Documentation fix
-| `name` | string | Yes | Name of the channel to create, without `#` prefix. Must be lowercase, no spaces, 21 characters or fewer. |
+| `name` | string | Yes | Name of the channel to create, without `#` prefix. Must be lowercase, no spaces, 80 characters or fewer. |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/content/docs/reference/agent-connectors/slack.mdx` at line 153, The docs
incorrectly state the Slack channel `name` length limit as 21 characters; update
the `name` parameter description in the Slack connector docs so it reflects
Slack's conversations.create limit of 80 characters (e.g., change "21 characters
or fewer" to "80 characters or fewer"), keeping the existing constraints about
lowercase and no spaces intact and ensuring the backtick-wrapped `name` token
and surrounding table row remain unchanged.

Comment on lines +159 to +167
Fetches conversation history from a Slack channel or direct message with pagination support. Requires a valid Slack OAuth2 connection with `channels:history` scope.

| Properties | Description | Type |
| --- | --- | --- |
| `include_locale` | Set to true to include locale information for the user | boolean | null |
| `user` | User ID to get information about | string |
| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `channel` | string | Yes | Channel ID, channel name (e.g. `#general`), or user ID for DM |
| `oldest` | string | No | Start of time range — only messages after this timestamp are returned (e.g. `1715432100.123456`) |
| `latest` | string | No | End of time range — only messages before this timestamp are returned (e.g. `1715432200.123456`) |
| `limit` | integer | No | Number of messages to return, 1–1000 (default: 100) |
| `cursor` | string | No | Pagination cursor from a previous response to fetch the next page |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

cd src/content/docs/reference/agent-connectors && wc -l slack.mdx

Repository: scalekit-inc/developer-docs

Length of output: 84


🏁 Script executed:

cd src/content/docs/reference/agent-connectors && sed -n '155,195p' slack.mdx

Repository: scalekit-inc/developer-docs

Length of output: 2630


🌐 Web query:

Slack conversations.history API scopes requirements dm support 2025

💡 Result:

  • Does conversations.history support DMs (IMs)? Yes. Pass the DM conversation ID (starts with D) as channel to retrieve DM history. (api.slack.com)
  • What scopes are required? (depends on conversation type) You only need the scope that matches the conversation you’re reading:
    • Public channels: channels:history
    • Private channels: groups:history
    • 1:1 DMs (IMs): im:history
    • Group DMs (MPIMs): mpim:history (api.slack.com)
  • Access rule (practical requirement): the calling bot/app must be a member of the conversation to read its history (per Slack’s “accessible conversations” notes for tokens). (api.slack.com)
  • 2025 change to be aware of (non‑Marketplace apps): Slack introduced stricter rate limits for conversations.history (and conversations.replies) starting May 29, 2025 for new non‑Marketplace apps / new installs, and starting September 2, 2025 for existing installs distributed outside the Marketplace. (api.slack.com)

Citations:


🌐 Web query:

Slack conversations.replies API scopes im:history mpim:history limits

💡 Result:

Required scopes for conversations.replies (by conversation type)

  • DMs (IMs): im:history
  • Group DMs (MPIMs): mpim:history
  • (For completeness: public channels use channels:history, private channels use groups:history.) [1]

Limits / rate limits

  • The method is normally listed as Rate limit tier: Tier 3. [1]
  • For non‑Marketplace (“unlisted”) apps Slack introduced much lower limits: 1 request per minute and the limit parameter max/default reduced to 15. This applied immediately to new unlisted apps/new installs, and Slack’s changelog states it applies to existing installations of unlisted distributed apps on March 3, 2026. [1][2][3]

Update scope and limit documentation for Slack history methods to reflect DM requirements and app distribution changes

The slack_fetch_conversation_history (lines 159–167) and slack_get_conversation_replies (lines 181–191) documentation mention DM support but only list channels:history (or channels:history + groups:history). These methods require additional scopes depending on conversation type: im:history for 1:1 DMs and mpim:history for group DMs.

The limit documentation (1–1000 messages, default 100) is incomplete. As of May 29, 2025, Slack enforces stricter limits for non-Marketplace apps: 1 request per minute with a max/default of 15 messages. These limits apply to existing unlisted app installations as of March 3, 2026. Update the documentation to clarify scope requirements by conversation type and note that limits vary based on app distribution model.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@src/content/docs/reference/agent-connectors/slack.mdx` around lines 159 -
167, Update the documentation for slack_fetch_conversation_history and
slack_get_conversation_replies to list required scopes by conversation type
(channels:history for public channels, groups:history for private channels,
im:history for 1:1 DMs, and mpim:history for multi-party DMs), and clarify when
multiple scopes may be needed; also revise the "limit" row to state the API-wide
range (1–1000) but note Slack's enforced runtime limits for
non-Marketplace/unlisted apps (as of May 29, 2025 and affecting unlisted
installs from March 3, 2026): non-Marketplace apps are rate-limited to ~1
request/min and default/max message page sizes often limited to 15, while
Marketplace apps retain higher limits—make this distinction explicit in both
method docs.

@saif-at-scalekit
Copy link
Collaborator

Please see if you can branch out from #455 and raise a PR against #455 ? I'd recommend we close this PR as a checkout from main.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants