Integrations
Connect Raven Docs with your existing tools for a seamless workflow.
Slack
Interact with Raven Docs directly from Slack using slash commands and @mentions.
Creating a Slack App
- Go to api.slack.com/apps
- Click Create New App → From scratch
- Name your app (e.g., "Raven Docs") and select your workspace
Configure Bot Permissions
Go to OAuth & Permissions → Bot Token Scopes and add:
app_mentions:readchat:writecommandsim:historyim:writeusers:read
Set Up Webhooks
-
Event Subscriptions: Enable and set Request URL to:
https://your-domain.com/api/integrations/slack/eventsSubscribe to:
app_mention,message.im -
Slash Commands: Create
/ravencommand with Request URL:https://your-domain.com/api/integrations/slack/commands -
Interactivity: Enable and set Request URL to:
https://your-domain.com/api/integrations/slack/interactions
Install and Configure
- Install the app to your workspace
- Copy the Bot Token (xoxb-...) and Signing Secret
- In Raven Docs, go to Settings → Integrations
- Enable Slack and enter your credentials
- Save settings
Commands
| Command | Description |
|---|---|
/raven link | Link your Slack account to Raven Docs |
/raven status | Check your account linking status |
/raven ask [question] | Ask the AI agent a question |
/raven research [topic] | Start a research task |
/raven task [title] | Add an item to your inbox |
/raven approve [token] | Approve a pending action |
/raven reject [token] | Reject a pending action |
Account Linking
Link your Slack account to use your Raven Docs permissions:
- Run
/raven linkin Slack - Click the secure link provided
- Sign in to your Raven Docs account
- Your accounts are now connected
Once linked, all commands run with your permissions.
Channel Mapping
Map Slack channels to Raven spaces:
- Go to Settings → Integrations → Slack section
- Find "Channel → Space Mappings"
- Enter a Slack channel ID and select a space
- Click Add Mapping
Content created from that channel will be saved to the mapped space.
Discord
Interact with Raven Docs from Discord using slash commands.
Creating a Discord App
- Go to discord.com/developers/applications
- Click New Application
- Name your app and create it
Get Your Credentials
From General Information, copy:
- Application ID
- Public Key
From Bot, copy:
- Bot Token (click Reset Token if needed)
Invite the Bot
Go to OAuth2 → URL Generator:
- Select scopes:
bot,applications.commands - Select permissions: Send Messages, Use Slash Commands, Embed Links
- Open the generated URL to invite the bot
Set Up Interactions
In General Information, set Interactions Endpoint URL to:
https://your-domain.com/api/integrations/discord/interactions
Register Commands
Register the /raven slash command using the Discord API:
curl -X POST \
"https://discord.com/api/v10/applications/YOUR_APP_ID/guilds/YOUR_GUILD_ID/commands" \
-H "Authorization: Bot YOUR_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "raven",
"description": "Interact with Raven Docs",
"options": [{
"name": "command",
"description": "Command to run",
"type": 3,
"required": true
}]
}'
Configure in Raven Docs
- Go to Settings → Integrations
- Enable Discord
- Enter: Guild ID, Bot Token, Public Key, Application ID
- Save settings
Commands
| Command | Description |
|---|---|
/raven link | Link your Discord account to Raven Docs |
/raven status | Check your account linking status |
/raven ask [question] | Ask the AI agent a question |
/raven research [topic] | Start a research task |
/raven task [title] | Add an item to your inbox |
/raven approve [token] | Approve a pending action |
/raven reject [token] | Reject a pending action |
Account Linking
Link your Discord account to use your Raven Docs permissions:
- Run
/raven linkin Discord - Click the secure link provided
- Sign in to your Raven Docs account
- Your accounts are now connected
Channel Mapping
Map Discord channels to Raven spaces:
- Go to Settings → Integrations → Discord section
- Find "Channel → Space Mappings"
- Enter a Discord channel ID and select a space
- Click Add Mapping
Enable Developer Mode in Discord (Settings → Advanced → Developer Mode), then right-click any channel and select "Copy ID".
GitHub
Link your code and documentation.
Setup
- Go to Settings → Integrations → GitHub
- Click Connect to GitHub
- Select repositories to link
Features
Issue/PR Mentions
Reference GitHub issues and PRs in your docs:
This feature was implemented in #123.
See the PR at github:owner/repo#456.
Auto-linking
Raven Docs automatically detects and links:
- Issue numbers (#123)
- PR numbers (#456)
- Commit SHAs (abc1234)
Sync Tasks
Optionally sync tasks with GitHub Issues:
- Create GitHub issue from Raven task
- Update task when issue is closed
- Bidirectional status sync
Webhooks
Build custom integrations with webhooks.
Creating a Webhook
- Go to Settings → Integrations → Webhooks
- Click Create Webhook
- Enter your endpoint URL
- Select events to subscribe to
Available Events
| Event | Description |
|---|---|
page.created | New page created |
page.updated | Page content changed |
page.deleted | Page deleted |
task.created | New task created |
task.updated | Task modified |
task.completed | Task marked done |
comment.created | New comment added |
member.joined | New workspace member |
Webhook Payload
{
"event": "page.updated",
"timestamp": "2025-01-22T10:30:00Z",
"workspace_id": "ws_123",
"data": {
"page_id": "page_456",
"title": "Updated Page",
"updated_by": "user_789",
"changes": ["content", "title"]
}
}
Security
Webhooks include a signature header for verification:
import crypto from 'crypto';
function verifyWebhook(payload: string, signature: string, secret: string) {
const expected = crypto
.createHmac('sha256', secret)
.update(payload)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expected)
);
}
API Integration
Build custom integrations using the REST API.
Authentication
const client = new RavenDocs({
apiKey: process.env.RAVEN_API_KEY,
});
Common Patterns
Automated Documentation:
// Update docs when code changes
async function updateDocs(componentName: string, props: any) {
await client.pages.update({
pageId: 'api-reference',
workspaceId: 'ws_123',
content: generateDocsContent(componentName, props),
});
}
Task Sync:
// Create Raven task from external system
async function syncTask(externalTask: ExternalTask) {
await client.tasks.create({
workspaceId: 'ws_123',
title: externalTask.title,
description: externalTask.description,
metadata: {
external_id: externalTask.id,
},
});
}
MCP Server
Connect AI agents to your knowledge base.
What is MCP?
The Model Context Protocol (MCP) allows AI assistants to:
- Read and search your documentation
- Create and update content
- Manage tasks
- Store persistent memory
Setup
See the MCP documentation for full setup instructions.
Use Cases
- AI assistant with company knowledge
- Automated documentation updates
- Intelligent chatbots
- Research agents
Zapier (Coming Soon)
Connect to 5000+ apps without code.
Planned Triggers
- New page created
- Task completed
- Comment added
Planned Actions
- Create page
- Create task
- Add comment
Best Practices
- Start small - Enable one integration at a time
- Test in staging - Verify webhooks before production
- Monitor activity - Watch for unexpected behavior
- Secure credentials - Use environment variables for secrets
- Rate limiting - Respect API limits in custom integrations
Related
- API Reference - Full API documentation
- MCP Server - AI agent integration