Team Collaboration¶
Notifer's TEAM plan enables multiple users to collaborate on shared notification topics, making it perfect for development teams, DevOps groups, and business departments.
Overview¶
With the TEAM plan, you can:
- Create teams with multiple members
- Share notification topics across your team
- Assign roles with different permission levels
- Leverage the team owner's subscription for all team members
- Publish collectively using a shared rate limit pool
Cost-Effective Collaboration
Only the team owner needs a TEAM subscription ($24/month base). All team members can use FREE tier accounts and still publish to team topics with the owner's generous rate limits.
Key Concepts¶
Teams¶
A team is a group of users who collaborate on shared notification topics. Each team has:
- One owner (requires TEAM subscription)
- Multiple members (can have FREE tier accounts)
- Shared topics that all members can publish to
- Centralized rate limits based on the owner's subscription
Team Topics¶
Team topics are notification channels owned by a team:
- Created by team owner or admins
- All team members can publish to them
- Use the team owner's rate limits and retention
- Can be public or private
Roles¶
Teams have three role levels:
| Role | Description | Subscription Required |
|---|---|---|
| OWNER | Full control over team and billing | TEAM ($24/month + $5/additional user) |
| ADMIN | Manage members and topics | FREE+ (any tier) |
| MEMBER | Publish to team topics | FREE+ (any tier) |
Creating a Team¶
Prerequisites¶
- Active TEAM subscription ($24/month base + $5/additional user)
- Verified email address
Steps¶
- Navigate to the Teams page in your dashboard
- Click "Create Team" button
- Enter team details:
- Team name: Choose a descriptive name (e.g., "Engineering", "DevOps")
- Description: Optional description of the team's purpose
- Click "Create"
Your team is now created, and you're automatically set as the OWNER.
Inviting Team Members¶
Who Can Invite¶
- Team Owner
- Team Admin
Invitation Process¶
- Navigate to your team's detail page
- Click "Invite Member"
- Enter the member's email address
- Select their role:
- ADMIN: Can manage members and topics
- MEMBER: Can only publish to topics
- Click "Send Invitation"
Invitation Email¶
The invitee receives an email with:
- Team name and who invited them
- Role they've been assigned
- Invitation link (valid for 7 days)
- Instructions to accept
Accepting Invitations¶
If the invitee has an account:
- Click the invitation link
- Log in to their account
- Invitation is automatically accepted
- They're redirected to the team page
If the invitee doesn't have an account:
- Click the invitation link
- See the invitation details
- Create a FREE account (no payment required)
- Invitation is automatically accepted
- They're redirected to the team page
FREE Accounts Welcome
Team members don't need to upgrade from FREE tier. They can publish to team topics using the owner's TEAM tier limits.
Managing Pending Invitations¶
Pending invitations appear in the team members list with a yellow background.
Actions available:
- Resend: Send the invitation email again
- Cancel: Revoke the invitation
Invitations automatically expire after 7 days.
Adding Members to Multiple Teams¶
Member Billing Policy
Unique member counting: If you own multiple teams and add the same person to more than one team, they count as one member slot in your billing, not multiple.
Example:
You have a TEAM plan with 3 base member slots (included) and create two teams:
- Engineering Team: Alice, Bob, Charlie
- DevOps Team: Alice, Bob, David
Even though Alice and Bob are in both teams (4 memberships total), they only consume 2 member slots because billing counts unique users.
Total unique members: Alice, Bob, Charlie, David = 4 members
Your billing: - Base plan: 3 members included = $24/mo - Additional member: 1 × $5 = $5/mo - Total: $29/mo ✅
Invitation Process:
When inviting someone who's already in another one of your teams:
- The system allows the invitation (not a duplicate)
- They receive a new invitation email for the second team
- They must accept the invitation to join the second team
- No additional billing charge (same person counted once)
This design lets you organize members flexibly across teams without billing penalties.
Team Roles & Permissions¶
OWNER¶
Full control over the team
✅ Can do:
- Edit team details (name, description)
- Delete the team
- Invite and remove all members
- Change member roles (including admins)
- Create, edit, and delete team topics
- Manage topic access tokens
- Publish to all team topics
❌ Cannot do:
- Leave the team (must delete team or transfer ownership)
- Remove themselves as owner
Subscription Required
The team owner must maintain an active TEAM subscription. If downgraded, the team becomes inactive and members cannot publish to team topics.
ADMIN¶
Day-to-day management powers
✅ Can do:
- Invite and remove regular members
- Change roles for regular members only
- Create and edit team topics (cannot delete)
- Manage topic access tokens
- Publish to all team topics
- View all team details
❌ Cannot do:
- Edit team settings
- Delete the team
- Delete team topics
- Remove or demote other admins
- Remove or demote the owner
- Change their own role
No Subscription Required
Admins can use FREE tier accounts. They benefit from the team owner's TEAM tier limits when publishing to team topics.
MEMBER¶
Publishing-focused role
✅ Can do:
- Publish to all team topics
- View team topics
- Subscribe to team topics
- Generate personal API keys
- Send test notifications
❌ Cannot do:
- Create or manage topics
- Invite or manage other members
- Edit team settings
- Manage topic access tokens
- Delete anything
Perfect for Developers
Members can use FREE tier accounts and publish unlimited messages to team topics (within the team owner's limits).
Creating Team Topics¶
Who Can Create¶
- Team Owner
- Team Admin
Steps¶
- Click "Create Topic" in the dashboard
- Enter topic details:
- Topic name: Use a descriptive name (e.g., "deployment-prod")
- Access level:
- Public: Anyone can subscribe
- Private: Requires authentication
- Discoverable (public only): Show in public topic list
- Select your team from the dropdown
- Click "Create"
The topic is now created and:
- Visible to all team members
- Publishable by all team members
- Uses the team owner's retention (90 days)
- Counted in the team owner's usage
Topic Naming Best Practices¶
Use consistent naming conventions:
✅ Good examples:
deployment-production
deployment-staging
errors-backend
alerts-critical
metrics-cpu
❌ Bad examples:
prod-deploy
staging_deployment
backend_errors
CriticalAlerts
cpu_metrics
Recommended patterns:
{purpose}-{environment}: deployment-prod, deployment-staging{type}-{component}: errors-backend, errors-frontend{category}-{level}: alerts-critical, alerts-warning
Publishing to Team Topics¶
All team members (Owner, Admin, Member) can publish to team topics.
Web Interface¶
- Navigate to the topic page
- Enter your message
- Optionally set:
- Title: Message headline
- Priority: 1 (low) to 5 (urgent)
- Tags: Categorization tags
- Click "Publish"
HTTP/cURL¶
With Personal API Key (Recommended)¶
curl -d "Deployment completed successfully" \
-H "X-API-Key: your_personal_api_key" \
-H "X-Title: Deployment" \
-H "X-Priority: 3" \
https://app.notifer.io/deployment-prod
Personal API Keys
All team members (including FREE tier) can generate personal API keys in Settings → API Keys. These are more secure than shared tokens.
With JWT Token¶
curl -d "Deployment completed successfully" \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "X-Title: Deployment" \
-H "X-Priority: 3" \
https://app.notifer.io/deployment-prod
With Topic Access Token¶
curl -d "Deployment completed successfully" \
-H "X-Topic-Token: tk_team_topic_token" \
-H "X-Title: Deployment" \
-H "X-Priority: 3" \
https://app.notifer.io/deployment-prod
Token Security
Topic access tokens are shared among team members and external systems. Use personal API keys when possible for better security and audit trails.
Rate Limits & Usage¶
How Team Rate Limits Work¶
Notifer uses team-aware rate limiting:
For team topics:
- Rate limits based on team owner's subscription tier
- All team members share the same pool
- Usage counted against team owner's account
For personal topics:
- Rate limits based on user's own subscription tier
- Usage counted against user's own account
Rate Limit Tiers¶
| Tier | Per Minute | Per Hour | Per Day |
|---|---|---|---|
| FREE | 10 | 100 | 1,000 |
| ESSENTIALS | 30 | 300 | 10,000 |
| TEAM | 60 | 500 | 100,000 |
| BUSINESS | 120 | 1,000 | 250,000 |
Example Scenarios¶
Scenario 1: Member Publishing to Team Topic¶
Team: "Engineering"
Owner: alice@company.com (TEAM tier)
Member: bob@company.com (FREE tier)
Team Topic: "deployment-prod"
When bob publishes to "deployment-prod":
✅ Uses Alice's TEAM limits (60/min, 500/hour, 100k/day)
✅ Does NOT use Bob's FREE limits
✅ Counted in Alice's usage dashboard
Scenario 2: Member Publishing to Personal Topic¶
Member: bob@company.com (FREE tier)
Personal Topic: "bob-personal"
When bob publishes to "bob-personal":
✅ Uses Bob's FREE limits (10/min, 100/hour, 1k/day)
✅ Does NOT affect team limits
✅ Counted in Bob's usage dashboard
Usage Dashboard¶
Team Owner View:
The team owner sees comprehensive usage statistics including:
- Total usage from personal + team topics combined
- Team member count (unique members vs. limit - same person in multiple teams counts once)
- Per-member breakdown - see who publishes the most
- Per-topic breakdown - identify high-traffic topics
Access your usage dashboard at Settings → Usage or via API at /api/usage.
Example team owner dashboard:
{
"usage": {
"daily_messages": {
"used": 1234,
"remaining": 98766,
"limit": 100000
},
"team_breakdown": {
"teams": [
{
"team_name": "Engineering",
"total_messages_today": 1234,
"per_member": [
{
"email": "alice@team.com",
"role": "ADMIN",
"messages_published": 789
},
{
"email": "bob@team.com",
"role": "MEMBER",
"messages_published": 345
}
],
"per_topic": [
{
"topic_name": "deployment-prod",
"messages_today": 456
},
{
"topic_name": "errors-backend",
"messages_today": 778
}
]
}
]
}
}
}
What you can learn from the breakdown:
- Most active members: Identify power users
- High-traffic topics: Which topics consume most of your limits
- Inactive members: Members with 0 messages (candidates for removal)
- Usage patterns: Plan capacity and optimize topic structure
Team Member View:
- Shows only personal topic usage
- Team topic publishes do not appear in member's usage
- Members cannot see team breakdown (owner only)
Rate Limit Errors¶
When limits are exceeded:
Team topic limit:
429 Too Many Requests
Team rate limit exceeded. The team owner's TEAM plan allows
60 messages per minute. Try again in 42 seconds.
Personal topic limit:
429 Too Many Requests
Rate limit exceeded. Your FREE plan allows 10 messages per
minute. Try again in 38 seconds.
Managing Team Members¶
Viewing Members¶
Navigate to your team page to see:
- Active members with their roles
- Pending invitations (yellow background)
- Member join dates
Changing Roles¶
Who can change roles:
- Owner: Can change any member's role
- Admin: Can only change regular members' roles (not other admins)
Steps:
- Find the member in the team members list
- Click their current role badge
- Select new role from dropdown
- Confirm the change
Removing Members¶
Who can remove:
- Owner: Can remove anyone except themselves
- Admin: Can remove regular members only
Steps:
- Find the member in the team members list
- Click the three-dot menu (⋮)
- Select "Remove from team"
- Confirm the removal
Immediate Effect
Removed members lose access to team topics immediately. They cannot publish or subscribe to team topics anymore.
Topic Access Tokens¶
What Are They?¶
Topic access tokens are shared authentication tokens that allow:
- External systems (CI/CD, monitoring) to publish
- Shared services to send notifications
- API-only publishing without user accounts
Who Can Manage¶
- Team Owner
- Team Admin
Creating Tokens¶
- Navigate to a team topic
- Click "Manage Access Tokens"
- Click "Create Token"
- Set permissions:
- Read: Can subscribe and read messages
- Write: Can publish messages
- Read+Write: Both permissions
- Copy the token (shown only once)
Token Security
Topic access tokens are shown only once during creation. Store them securely (e.g., GitHub Secrets, environment variables).
Using Tokens¶
# In CI/CD pipeline
curl -d "Build #$BUILD_NUMBER deployed" \
-H "X-Topic-Token: tk_your_token_here" \
-H "X-Title: CI/CD" \
https://app.notifer.io/deployment-prod
Revoking Tokens¶
- Navigate to "Manage Access Tokens"
- Find the token to revoke
- Click "Revoke"
- Confirm
The token is immediately invalidated.
Personal API Keys vs Topic Tokens¶
Personal API Keys¶
Recommended for:
- Individual developers
- Local development
- Personal scripts and automation
Advantages:
- Tied to user account (audit trail)
- Access to all topics user can publish to
- Can be rotated without affecting team
- More secure (not shared)
How to create:
Settings → API Keys → Generate New Key
Topic Access Tokens¶
Recommended for:
- CI/CD pipelines
- Shared monitoring tools
- External services
- Team-wide automation
Advantages:
- Not tied to individual users
- Can be shared safely within team
- Topic-specific permissions
- Managed by owner/admin
How to create:
Topic page → Manage Access Tokens → Create Token
Best Practice
Use personal API keys when possible for better security and accountability. Use topic access tokens only for truly shared services.
Team Settings¶
Editing Team Details¶
Who can edit: Owner only
Steps:
- Navigate to team page
- Click "Edit Team"
- Update:
- Team name
- Description
- Click "Save"
Deleting a Team¶
Who can delete: Owner only
Permanent Action
Deleting a team is permanent and cannot be undone.
What gets deleted:
- Team and all team topics
- All messages in team topics
- Team member associations
- Topic access tokens
What is NOT deleted:
- Team member accounts
- Member's personal topics
- Member's subscriptions
Steps:
- Navigate to team page
- Click "Delete Team"
- Type the team name to confirm
- Click "Delete Permanently"
Monitoring Team Usage¶
Accessing Usage Statistics¶
Team owners can monitor detailed usage statistics to optimize their team's performance and identify issues.
Access methods:
- Web Dashboard: Settings → Usage
- API Endpoint:
GET /api/usage(requires authentication)
Understanding the Breakdown¶
Per-Member Statistics¶
See exactly how many messages each team member has published today:
Use cases:
- Identify power users: Members publishing the most messages
- Spot inactive members: Members with 0 messages over time
- Balance workload: Distribute publishing across team members
- Troubleshooting: If limits are hit, see who's publishing the most
Example:
alice@team.com (ADMIN): 789 messages
bob@team.com (MEMBER): 345 messages
charlie@team.com (MEMBER): 0 messages ← Inactive?
Actions you can take:
- Remove inactive members to free up team slots
- Contact high-volume publishers to optimize their integrations
- Upgrade to BUSINESS tier if consistently hitting limits
Per-Topic Statistics¶
See which topics generate the most traffic:
Use cases:
- Optimize high-traffic topics: Reduce noisy logs or batch messages
- Identify unused topics: Topics with 0 messages (candidates for deletion)
- Capacity planning: Know which topics to optimize if approaching limits
- Topic organization: Restructure topics based on actual usage
Example:
errors-backend: 778 messages ← High traffic - optimize?
deployment-prod: 456 messages
metrics-cpu: 0 messages ← Unused - delete?
Actions you can take:
- Filter verbose topics at the source
- Archive or delete unused topics
- Split high-traffic topics into sub-topics
- Batch messages when possible
Daily Monitoring Workflow¶
Recommended for team owners:
- Weekly check: Review usage dashboard every Monday
- Look for anomalies:
- Sudden spikes in specific topics
- Members with unexpected 0 messages
- Topics consuming >30% of daily limit
- Take action:
- Contact members about unusual patterns
- Optimize high-traffic topics
- Remove inactive members
API Access for Automation¶
Integrate usage monitoring into your ops workflow:
# Get usage stats
curl -H "Authorization: Bearer YOUR_TOKEN" \
https://app.notifer.io/api/usage
# Parse with jq
curl -s -H "Authorization: Bearer YOUR_TOKEN" \
https://app.notifer.io/api/usage | \
jq '.usage.team_breakdown.teams[0].per_topic[] |
select(.messages_today > 1000)'
Alerting example:
#!/bin/bash
# Alert if any topic exceeds 10k messages/day
USAGE=$(curl -s -H "Authorization: Bearer $TOKEN" \
https://app.notifer.io/api/usage)
HIGH_TRAFFIC=$(echo $USAGE | jq -r \
'.usage.team_breakdown.teams[0].per_topic[] |
select(.messages_today > 10000) | .topic_name')
if [ -n "$HIGH_TRAFFIC" ]; then
echo "High traffic topics: $HIGH_TRAFFIC"
# Send alert via email/Slack/etc
fi
Best Practices¶
Team Organization¶
- Define clear roles
- Use Owner for billing and critical decisions
- Use Admins for day-to-day management (1-2 admins recommended)
-
Use Members for developers who only need to publish
-
Regular audits
- Review team members quarterly
- Remove inactive members
-
Cancel orphaned invitations
-
Naming conventions
- Use consistent topic naming across the team
- Document naming patterns in team wiki/docs
- Use prefixes for environments (prod-, staging-, dev-)
Security¶
- Rotate access tokens regularly
- Every 90 days minimum
- After team member departure
-
After suspected compromise
-
Use appropriate token types
- Personal API keys for individuals
- Topic access tokens for shared systems
-
Minimum required permissions
-
Private topics for sensitive data
- Error logs with stack traces
- Deployment notifications with server details
- Customer-specific alerts
Rate Limit Management¶
- Monitor usage
- Check dashboard weekly
- Set up alerts at 80% threshold
-
Plan upgrades before hitting limits
-
Optimize high-volume topics
- Batch messages when possible
- Use appropriate priority levels
-
Filter noisy logs before publishing
-
Separate concerns
- Different topics for different environments
- Separate debug logs from critical alerts
- Use tags for categorization
Common Scenarios¶
Setting Up a Development Team¶
Goal: Create a team for 5 developers to share deployment notifications
Steps:
- Owner (alice@company.com) subscribes to TEAM plan ($29/month)
- Alice creates team "Engineering"
- Alice invites 4 developers as Members (all can use FREE tier)
- Alice creates topics:
deployment-production(private)deployment-staging(private)errors-backend(private)alerts-critical(public)- All developers can now publish to these topics using Alice's TEAM tier limits
Result:
- ✅ One subscription covers entire team
- ✅ 100,000 messages/day shared across team
- ✅ 90-day message retention
- ✅ All developers can publish freely
CI/CD Integration¶
Goal: GitHub Actions publishes deployment notifications
Steps:
- Admin creates topic access token for
deployment-prod - Token stored in GitHub Secrets as
NOTIFER_TOKEN - GitHub Actions workflow:
Result:
- ✅ Automated deployment notifications
- ✅ No user credentials in pipeline
- ✅ Token can be rotated by any admin
Troubleshooting¶
Cannot Create Team¶
Error: "Upgrade to TEAM plan required"
Solution:
- Go to Settings → Subscription
- Click "Upgrade to TEAM"
- Complete payment
- Retry team creation
Invitation Not Received¶
Possible causes:
- Email in spam folder
- Typo in email address
- Email delivery delay
Solutions:
- Check spam/junk folder
- Resend invitation from team page
- Cancel and create new invitation with correct email
Member Cannot Publish¶
Possible causes:
- Team owner's rate limits exhausted
- Team owner downgraded subscription
- Topic is personal, not team topic
Debugging:
- Check topic type:
- Navigate to topic page
-
Look for "Team: [name]" badge
-
Check team owner's usage:
- Owner should check dashboard
-
Look for daily/hourly limit warnings
-
Check team status:
- Verify owner has active TEAM subscription
- Check team is not marked inactive
Rate Limits Too Low¶
Scenario: Team frequently hits 100k/day limit
Solutions:
- Immediate:
- Reduce polling frequency
- Filter low-priority messages
-
Batch when possible
-
Long-term:
- Upgrade to BUSINESS tier (250k/day)
- Optimize notification triggers
- Review topic architecture
FAQ¶
Do all team members need TEAM subscriptions?
No! Only the team owner needs a TEAM subscription ($29/month). All other members can use FREE tier accounts and still publish to team topics with the owner's TEAM tier limits.
What happens if the owner downgrades?
The team becomes inactive. Team topics remain but members cannot publish to them. The team can be reactivated by upgrading back to TEAM tier.
Can members create topics?
No. Only the team owner and admins can create team topics. Regular members can only publish to existing topics.
How do personal vs team topics differ?
Team topics use the owner's rate limits and retention. Personal topics use the user's own tier limits. Members benefit from owner's TEAM tier only for team topics.
Can I transfer team ownership?
Currently, ownership transfer is not available through the UI. Contact support@notifer.io for assistance with ownership transfers.
What's the difference between Admins and Members?
Admins can manage team members, create/edit topics, and manage access tokens. Members can only publish to topics - perfect for developers who don't need management access.
How many teams can I create?
There's no hard limit on teams, but you need a TEAM subscription for each team you own. You can be a member of unlimited teams without any subscription.
Can I see which team member published a message?
If members use personal API keys, yes - the message metadata includes the publisher. With topic access tokens, no - these are shared and don't track individual publishers.
Next Steps¶
- Creating Topics - Learn about topic creation
- API Keys - Generate personal API keys
- Topic Access Tokens - Manage shared tokens
- User Settings - Configure your account
Need Help?
- Check FAQ for common questions
- See Troubleshooting for problem solving
- Contact support: support@notifer.io