Managing Credentials
Learn how to securely store and manage your third-party service credentials in Reeva.
What Are Accounts?
Accounts (also called credentials) are secure storage for your API tokens, keys, and authentication details for third-party services. When you connect a platform like Notion, Firecrawl, or Jira, Reeva stores those credentials and automatically injects them when your tools execute.
Why Use Accounts?
- Security — Credentials are never exposed in tool calls or logs
- Reusability — Link once, use across multiple custom tools
- Manageability — Update credentials without modifying your tools
- Separation — Keep dev/staging/prod credentials isolated
How It Works
Supported Platforms
Reeva supports 12 platforms for credential storage:
API Key Only
These platforms require just an API key or token:
| Platform | Description |
|---|---|
| Notion | Workspace integration for pages and databases |
| Firecrawl | Web scraping and crawling |
| Perplexity | AI-powered web search (Sonar API) |
| Apify | Actor automation and web scraping |
| OpenAI | GPT models and embeddings |
| Anthropic | Claude models |
| Gemini | Google AI models |
URL + API Key
These platforms require both a URL and API key:
| Platform | Description |
|---|---|
| Supabase | PostgreSQL database with REST API |
| n8n | Workflow automation (cloud or self-hosted) |
Extended Credentials
These platforms have additional required fields:
| Platform | Required Fields |
|---|---|
| Jira | URL, Email, API token |
| Mem0 | API key, Org ID (optional), Project ID (optional) |
| Header Auth | Header name, Header value |
Creating Accounts
Step-by-Step Guide
-
Navigate to Accounts
- Log into Reeva Dashboard
- Click "Accounts" in the sidebar
-
Click "Connect Platform"
- Opens the platform selection modal
-
Select Your Platform
- Choose from the available integrations
- Each shows a brief description
-
Enter Credentials
- Fill in required fields (varies by platform)
- Use descriptive account name
- Add optional description
-
Save
- Click "Create Account"
- Credentials are encrypted and stored
Platform Setup Guides
Notion
- Go to notion.so
- Click Settings & members → Integrations
- Click Create new integration
- Name it (e.g., "Reeva Integration")
- Copy the Internal Integration Token
- Paste in Reeva
Important: After creating the integration, you must share specific pages/databases with it for access.
Firecrawl
- Sign up at firecrawl.dev
- Go to your dashboard
- Navigate to the API section
- Copy your API key
- Paste in Reeva
Perplexity (Sonar)
- Go to Perplexity Settings
- Navigate to API
- Click Create API key
- Copy the key
- Paste in Reeva
Apify
- Visit the Apify Console
- Go to Account → Integrations
- Copy your API token (starts with
apify_api_) - Paste in Reeva
Supabase
- Go to your Supabase project dashboard
- Navigate to Settings → API
- Copy the Project URL (e.g.,
https://abc123.supabase.co) - Copy the anon public key
- Paste both in Reeva
Jira
- Go to your Jira instance
- Click your Profile → Personal Access Tokens
- Click Create token
- Copy the generated token
- In Reeva, enter:
- Jira URL:
https://your-domain.atlassian.net - Email: Your Atlassian account email
- API Token: The token you just created
- Jira URL:
n8n
- Go to your n8n instance
- Navigate to Settings → API
- Click Create new API key
- Copy the key
- In Reeva, enter:
- Instance URL:
https://your-instance.n8n.cloud(or self-hosted URL) - API Key: The key you just created
- Instance URL:
Mem0
- Visit your Mem0 dashboard
- Create a new API key
- Optionally, get your Organization ID
- Optionally, get your Project ID
- Paste in Reeva
OpenAI
- Visit platform.openai.com/api-keys
- Click Create new secret key
- Copy the key immediately (it won't be shown again)
- Paste in Reeva
Anthropic
- Visit console.anthropic.com/settings/keys
- Click Create key
- Copy the key
- Paste in Reeva
Gemini (Google AI)
- Visit aistudio.google.com/app/apikey
- Click Get API key
- Copy the key
- Paste in Reeva
Header Authentication (Generic)
Use this for any REST API that requires custom header authentication:
- Select Header Authentication
- Enter the Header Name (e.g.,
X-API-Key,Authorization,X-Auth-Token) - Enter the Header Value (your token or key)
- Give it a descriptive name
This is useful for APIs not directly supported by Reeva.
Managing Accounts
Viewing Accounts
The Accounts page displays all your connected platforms as cards showing:
- Service badge - Platform name with icon
- Account name - Your custom name
- Created date - When the account was added
- Last used - Most recent tool execution using this account
- Credentials - Stored values (hidden by default)
Editing Accounts
- Click the three-dot menu on an account card
- Select Settings
- Update any of:
- Account name
- Credentials (API keys, tokens, URLs)
- Description
- Click Update Account
Viewing Credentials
Stored credentials are hidden by default for security:
- Find the credential field on the account card
- Click the eye icon to reveal
- Click again to hide
Deleting Accounts
Warning: Deleting an account affects all custom tools linked to it.
- Click the three-dot menu on an account card
- Select Delete
- Confirm the deletion
What happens:
- Account is permanently removed
- Linked custom tools will fail at runtime
- You'll need to re-link tools to a new account
Linking Accounts to Tools
Accounts become useful when linked to custom tools. See Custom Tools Guide for full details.
Quick Overview
- Create custom tool from a base tool
- Select credential from dropdown (shows matching accounts)
- Save tool
Runtime Behavior
When a tool with linked credentials executes:
- Reeva looks up the linked account
- Credentials are decrypted
- Credentials are injected into the API call
- Tool executes with authentication
Important: Your credentials are never sent to AI models or logged.
Required vs Optional Credentials
Tools have different credential requirements:
| Type | Behavior |
|---|---|
| Required | Tool fails without linked credentials |
| Optional | Uses platform credentials if you don't provide your own |
No-Fallback Policy: If you provide credentials and they fail (expired, revoked, etc.), Reeva will NOT fall back to platform credentials. The tool will return an error instead.
Credential Groups (Advanced)
Some tools support multiple credential providers. For example, LLM-powered tools can use:
- OpenAI (GPT-4o, GPT-4)
- Anthropic (Claude Sonnet, Claude Haiku)
- Google (Gemini 2.0 Flash, Gemini Pro)
How It Works
- Tool defines a credential group (e.g., "LLM Provider")
- You select one account from any supported service
- System detects which provider based on your account
- Correct API is called at runtime
Example
Tool: llm_generate (supports OpenAI, Anthropic, Gemini)
Your accounts:
- "Work OpenAI" (openai)
- "Personal Claude" (anthropic)
When creating custom tool:
- Select "Personal Claude" as the LLM Provider
- Tool will use Anthropic's API at runtime
Security Best Practices
Environment Separation
Create separate accounts for different environments:
├── Notion (Production)
├── Notion (Staging)
├── Notion (Development)
This prevents accidental modifications to production data.
Credential Rotation
Rotate credentials regularly:
| Timeframe | Action |
|---|---|
| Every 90 days | Rotate API keys |
| Immediately | Revoke if compromised |
| On team changes | Rotate shared credentials |
Access Control
- Use separate accounts per team member when possible
- Revoke credentials when team members leave
- Audit usage logs for unexpected patterns
What NOT to Do
- ❌ Share credentials via chat/email
- ❌ Use production credentials for testing
- ❌ Keep unused accounts active
- ❌ Use the same credentials across all environments
Troubleshooting
"Credentials not found"
Cause: The linked account was deleted or deactivated.
Solution:
- Go to the custom tool
- Edit and select a new account
- Save
"Authentication failed"
Cause: Token expired, revoked, or incorrect.
Solution:
- Go to Accounts
- Edit the account
- Enter fresh credentials
- Save
"No credentials linked"
Cause: Custom tool doesn't have an account linked.
Solution:
- Edit the custom tool
- Select an account from the dropdown
- Save
Tool works in playground but fails in server
Cause: Different credential configurations.
Solution:
- Verify the same account is linked
- Check account has correct permissions
- Test with the specific custom tool, not base tool