Limits & Rate Limits
Query quotas, rate limits, retention periods, and usage limits per plan
Limits & Rate Limits
Every operation in alice has defined limits to ensure fair usage across all workspaces and maintain system performance. This page documents every limit, how they are enforced, and what happens when you reach them.
Query Quotas
Query quotas control how many skill executions your workspace can perform per billing month. Every skill run counts as one query, regardless of the source type, query complexity, or whether it is a combined query.
| Plan | Queries/Month | Limit Type | What Happens at Limit |
|---|---|---|---|
| Free Free | 50 | Hard | Queries are blocked with an error message |
| Pro Pro | 2,000 | Soft | Warning banner shown, queries continue |
| Business Business | 10,000 | Soft | Warning banner shown, queries continue |
What Counts as a Query
Each of these operations counts as one query:
- Running a skill from Slack (
/alice skill-name) - Running a skill from the dashboard test panel
- A scheduled report executing automatically
- A monitor executing its check
What Does Not Count
- Viewing the dashboard or settings
- Creating or editing skills (no query executed)
- Running
/alice helpor/alice list - Action button clicks (actions are separate from queries)
- AI skill generation requests
Hard vs Soft Enforcement
Hard limits (Free plan): When the 50-query limit is reached:
- Additional slash commands return: "Monthly query limit reached. Upgrade to Pro for 2,000 queries/month."
- Scheduled reports that attempt to run are skipped with a logged error
- Monitors that attempt to check are skipped
- The counter resets on the first day of the next billing cycle
Soft limits (Pro and Business): When the quota is reached or exceeded:
- A warning banner appears in the dashboard showing over-quota status
- Queries continue to execute without interruption
- Usage is tracked and visible in Billing > Usage
- No slash commands, scheduled reports, or monitors are blocked
Monitoring Your Usage
Track your query consumption in Dashboard > Settings > Billing. The usage bar shows:
- Current queries this period
- Daily average
- Projected total by end of billing cycle
Resource Limits
Beyond query quotas, each plan has limits on the number of resources you can create:
| Resource | Free Free | Pro Pro | Business Business |
|---|---|---|---|
| Data Sources | 1 | 3 | Unlimited |
| Skills | 10 | 50 | Unlimited |
| Scheduled Reports | 1 (weekly only) | Unlimited | Unlimited |
| Monitors | 3 | 25 | Unlimited |
| Team Members | Unlimited | Unlimited | Unlimited |
Resource limits are hard limits on all plans. You cannot create a 4th source on the Pro plan, for example. The dashboard displays a message indicating the limit and suggesting an upgrade.
Feature Availability
Some features are only available on certain plans:
| Feature | Free Free | Pro Pro | Business Business |
|---|---|---|---|
| Actions | No | Yes | Yes |
| Combined Queries | No | Yes | Yes |
| GDPR Data Export | No | No | Yes |
Attempting to use an unavailable feature shows a message with the plan required and a link to upgrade.
API Rate Limits
API endpoints are rate-limited per organization to prevent abuse and ensure system stability. Rate limits use a sliding window and are tracked per organization.
Rate Limit Table
| Endpoint | Limit | Window | Scope |
|---|---|---|---|
| Skill execution | 30 requests | Per hour | Per organization |
| AI skill generation | 20 requests | Per hour | Per organization |
| Skill creation | 20 requests | Per hour | Per organization |
| Checkout | 10 requests | Per hour | Per organization |
| Cancel/Uncancel | 5 requests | Per hour | Per organization |
| GDPR data export | 2 requests | Per hour | Per organization |
When You Hit a Rate Limit
When a rate limit is exceeded, the API returns an HTTP 429 (Too Many Requests) response with headers indicating:
X-RateLimit-Limit-- The maximum number of requests allowed in the windowX-RateLimit-Remaining-- How many requests remainX-RateLimit-Reset-- When the window resets (Unix timestamp)
In Slack, a rate-limited skill execution returns an ephemeral message:
Rate limit exceeded. You can run 30 skills per hour.
Try again in a few minutes.Rate Limits vs Query Quotas
Rate limits and query quotas are separate systems:
| Aspect | Rate Limits | Query Quotas |
|---|---|---|
| Scope | Per endpoint, per hour | All queries, per month |
| Purpose | Prevent burst abuse | Control monthly consumption |
| Enforcement | Always hard (429 response) | Hard (Free) or soft (Pro/Business) |
| Resets | Every hour (sliding window) | Every billing cycle |
You can hit a rate limit without being near your monthly query quota, and vice versa.
Data Retention
Execution history (audit logs) is automatically cleaned up based on your plan:
| Data Type | Free Free | Pro Pro | Business Business |
|---|---|---|---|
| Skill run logs | 7 days | 30 days | 90 days |
| Action run logs | 7 days | 30 days | 90 days |
| Expired invites | Immediate | Immediate | Immediate |
Cleanup Schedule
A daily automated cleanup process runs via cron:
- Time: Daily at midnight UTC
- Process: Deletes all skill_runs and action_runs older than the plan's retention period
- Also cleans: Expired team invites (where
expires_at < now()and not accepted)
Retention After Downgrade
When you downgrade from a higher plan to a lower one, the new (shorter) retention period applies starting at the next cleanup cycle. Logs older than the new retention period will be deleted within 24 hours of the downgrade taking effect.
Permanent Data
These are never affected by retention:
- Skill definitions and configurations
- Source connections
- Workspace and member records
- Billing and subscription data
Content Limits
Input validation enforces maximum lengths on content submitted through the API:
| Field | Max Length |
|---|---|
| Skill name | 100 characters |
| Skill description | 500 characters |
| SQL query | 50 KB |
| AI generation prompt | 2,000 characters |
| Free-text parameters | 1,000 characters |
| Workspace name | 50 characters |
Exceeding these limits returns a validation error with details about which field exceeded its maximum.
Next Steps
- Plans & Pricing -- Full plan comparison
- Billing Settings -- View your usage and upgrade
- Security -- Audit log retention details
- Slash Commands -- Where queries are consumed
- FAQ -- Common questions about limits
Was this page helpful?