added tool documentation for outlook and slack#458
added tool documentation for outlook and slack#458HashirrLukmahn wants to merge 1 commit intomainfrom
Conversation
WalkthroughDocumentation 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
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested reviewers
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs). 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. Comment |
✅ Deploy Preview for scalekit-starlight ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
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
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (2)
src/content/docs/reference/agent-connectors/outlook.mdxsrc/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. ## Titlewith 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.mdxsrc/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
titleMUST be ≤ 60 characters and clearly state what the page does.descriptionMUST be ≤ 160 characters, action-oriented, unique per page.sidebar.labelMUST be present and ≤ 30 characters.sidebar.orderMUST 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/nextlinks 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.mdxsrc/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.mdxsrc/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.mdxsrc/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), andsidebar.label(1-3 words). Usesidebar.orderonly when navigation ordering matters. Useprev/nextfor sequential guides; useseeAlsofor related guides. EnabletableOfContentsfor 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.mdxsrc/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.mdxsrc/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.mdxsrc/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.mdxsrc/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.mdxsrc/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.mdxsrc/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.mdxsrc/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.mdxsrc/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.mdxsrc/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.mdxsrc/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.mdxsrc/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.mdxsrc/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.mdxsrc/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.mdxsrc/content/docs/reference/agent-connectors/slack.mdx
| | `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) | |
There was a problem hiding this comment.
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. | |
There was a problem hiding this comment.
🧩 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.
| 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 | |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
cd src/content/docs/reference/agent-connectors && wc -l slack.mdxRepository: scalekit-inc/developer-docs
Length of output: 84
🏁 Script executed:
cd src/content/docs/reference/agent-connectors && sed -n '155,195p' slack.mdxRepository: scalekit-inc/developer-docs
Length of output: 2630
🌐 Web query:
Slack conversations.history API scopes requirements dm support 2025
💡 Result:
- Does
conversations.historysupport DMs (IMs)? Yes. Pass the DM conversation ID (starts withD) aschannelto 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)
- Public channels:
- 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(andconversations.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:
- 1: https://api.slack.com/methods/conversations.history?utm_source=openai
- 2: https://api.slack.com/methods/conversations.history?utm_source=openai
- 3: https://api.slack.com/methods/conversations.history?utm_source=openai
- 4: https://api.slack.com/methods/conversations.history?utm_source=openai
🌐 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 usegroups: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
limitparameter 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.
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