Team Collaboration
Work together seamlessly with real-time data sharing through CloudKit.
Overview
Team Collaboration features enable:
- Real-time data sharing with team members
- Role-based access control
- Simultaneous multi-user access
- Automatic conflict resolution
- Activity tracking and audit logs
Available On: Business and Enterprise plans
Understanding CloudKit Sharing
TheCompanyApp uses Apple's CloudKit technology for team collaboration:
How It Works:
- Company data stored in owner's private iCloud
- CloudKit creates secure share links
- Invited users access shared data through their own iCloud
- Changes sync in real-time across all team members
- Each user sees updates immediately
- Conflicts resolved automatically
Key Benefits:
- No third-party servers required
- Industry-standard Apple security
- Works across iPhone and iPad
- Offline support with sync when reconnected
- No additional accounts to manage
Sharing Your Company
Prerequisites
Before sharing:
- Active Business or Enterprise subscription
- Owner Apple ID with iCloud enabled
- Internet connection
- Ensure company data is synced
Generating a Share Link
Create invitation for team members:
- Navigate to Settings → Sharing
- Tap Share Company
- System creates CloudKit share automatically
- Share link generated and ready to send
Share Link Characteristics:
- Remains valid indefinitely (until revoked)
- Can be used by multiple people
- Business plan: Up to 10 participants
- Enterprise plan: Unlimited participants
- Owner can revoke access anytime
Sending Invitations
Share the link with team members:
Direct Send from App:
- Messages: Tap Messages icon, select contacts
- Email: Tap Email icon, enter addresses
- AirDrop: Tap AirDrop, select nearby device
Copy Link:
- Tap Copy Link
- Paste into any communication channel
- Send via Slack, Teams, or other platforms
- Include in onboarding documentation
Best Practice: Send personalized message explaining:
- What access they'll have
- Their role and responsibilities
- Training resources
- Who to contact for help
Joining a Company
For New Team Members
Steps to join shared company:
-
Receive Share Link
- From owner via Messages, email, or other method
- Link looks like:
https://www.icloud.com/...
-
Open Link
- Tap link in Safari or directly from Messages
- iOS recognizes as CloudKit share
- Prompts to open in TheCompanyApp
-
Accept Invitation
- App launches automatically
- Shows company preview
- Tap Accept Invitation
- Wait for CloudKit to sync data (may take moments for large datasets)
-
Log In
- Use credentials provided by administrator
- If no password set yet, owner can configure in Settings
- Access granted based on assigned role
-
Verify Access
- Check that company data appears
- Verify your permissions match expected role
- Test creating/editing items as appropriate
- Contact owner if issues arise
TestFlight vs App Store Behavior
Important Platform Differences:
App Store Version:
- CloudKit share links work as designed
- Tap link → opens app → accept → immediate access
- Standard Apple sharing flow
- Reliable for production use
TestFlight Version:
- Share links may not trigger app open automatically
- May require manual steps:
- Copy share link
- Open TheCompanyApp manually
- Navigate to join flow
- Paste link when prompted
- This is a TestFlight limitation, not app issue
- Use App Store version for best team experience
Recommendation: For team collaboration, use App Store version whenever possible.
Access Levels
Owner
The company creator with full control:
Capabilities:
- Full access to all features and data
- Can delete company permanently
- Manages subscription and billing
- Adds and removes all users
- Cannot be removed or changed
- Only one owner per company
Responsibilities:
- Subscription management
- User access control
- Company settings maintenance
- Data privacy oversight
- Backup verification
Participants
Team members invited by owner:
Access Based on Role:
- Assigned during invitation or after joining
- Determines what features are available
- Controls data visibility
- Limits certain actions
See Settings → User Roles for detailed role permissions.
Read-Only Access (Custom)
Limited access for specific users:
View Only:
- Can see data but not modify
- Useful for external auditors
- Reporting access without risks
- Requires custom configuration
Request from Enterprise Support if needed.
Real-Time Collaboration
Simultaneous Access
Multiple users work together:
What Happens:
- Users see each other's changes immediately
- No need to refresh manually
- Changes appear within seconds
- Indicators show when items are being edited
Best Practices:
- Communicate when working on same order
- Use order notes for coordination
- Assign specific orders to specific people
- Establish workflow ownership (sales creates, warehouse fulfills)
Conflict Resolution
When two users edit the same item:
Automatic Resolution:
- CloudKit tracks change timestamps
- Newest change typically wins
- System prevents data loss
- Both users notified of conflict
Manual Resolution (rare):
- App shows both versions
- User chooses correct version
- Merge changes if needed
- Save resolved version
Preventing Conflicts:
- Clear role divisions
- Communication about who's working on what
- Use task assignment feature
- Establish workflow protocols
Offline Collaboration
Work without internet connection:
Offline Mode:
- All features work offline
- Changes saved locally
- Queue for sync when connected
Reconnecting:
- Changes upload automatically
- Download others' changes
- Conflicts resolved if any occurred
- Full sync verification
Best Practice: If working offline for extended period, communicate with team to avoid complex conflicts.
Team Communication
In-App Messaging
Communicate within TheCompanyApp:
Order Messenger:
- Comment directly on orders
- @mention team members
- Attach files or photos
- Track conversation history
Task Notes:
- Add updates to tasks
- Clarify requirements
- Document progress
- Share status updates
Activity Feed (Enterprise):
- See what team members are working on
- Recent changes across company
- Who did what and when
- Filterable by user or type
External Communication
Coordinate outside the app:
Integrate With:
- Slack: Share order links in channels
- Microsoft Teams: Coordinate fulfillment
- Email: Formal communications
- Phone/Video: Complex discussions
Best Practice: Use app for data work, external tools for strategy and coordination.
Task Assignment
Assigning Work
Distribute tasks to team members:
Automatic Assignment:
- Orders route based on customer account owner
- Inventory tasks by zone responsibility
- Returns to designated processor
- Configure in Settings → Workflows (Enterprise)
Manual Assignment:
- Open task or order
- Tap Assign To
- Select team member
- Add assignment notes
- Save
Assigned person receives notification.
Viewing Assignments
See your work and team workload:
Personal View:
- Filter tasks by "Assigned to Me"
- See your pending work
- Prioritize your day
- Update status as you complete
Team View (Manager+):
- See all tasks by team member
- Balance workload
- Identify bottlenecks
- Reassign as needed
Workload Balancing
Distribute work fairly:
Monitor Metrics:
- Tasks per person
- Average completion time
- Overdue percentage
- Capacity utilization
Take Action:
- Reassign from overloaded to underutilized
- Adjust automatic assignment rules
- Hire or reorganize if consistently unbalanced
- Recognize high performers
Team Performance (Enterprise)
Activity Logging
Track who does what:
Logged Actions:
- Order creation and updates
- Inventory adjustments
- Dispatch creation
- Task completion
- Settings changes
- User login/logout
View Logs:
- Navigate to Settings → Activity Log
- Filter by:
- User
- Action type
- Date range
- Item affected
- Export for analysis or compliance
Performance Metrics
Analyze team efficiency:
Individual Metrics:
- Orders processed
- Items dispatched
- Tasks completed
- Average handling time
- Error rate
Team Metrics:
- Total throughput
- Collaboration effectiveness
- Response times
- Customer satisfaction correlation
Use Insights To:
- Recognize top performers
- Identify training needs
- Optimize processes
- Set realistic expectations
- Improve workflows
Onboarding New Team Members
Preparation
Before inviting new user:
- Determine Role: What permissions do they need?
- Create Account: Generate CloudKit share link
- Prepare Credentials: Set company password if required
- Document Access: Their role, responsibilities, restrictions
Invitation Process
Send comprehensive invitation:
Include in Email/Message:
- CloudKit share link
- Role assignment
- Company password (if not using SSO)
- Brief explanation of their access
- Link to documentation
- Contact for questions
- Expected response time
Example Message:
Welcome to [Company Name] on TheCompanyApp!
Role: Warehouse Staff
Share Link: [CloudKit Link]
Company Password: [Password]
You'll have access to inventory management and dispatch creation.
Training guide: [Link]
Questions? Contact [Admin Name]
Please accept the invitation within 24 hours.
First Day Setup
Guide new user through:
- Accept Invitation: Follow link and accept
- Log In: Use provided credentials
- Tour Interface: Show key features for their role
- Test Permissions: Create test order or inventory item
- Review Workflows: Explain processes they'll follow
- Set Preferences: Configure notifications, defaults
- Assign First Task: Give starter project
Ongoing Support
Help new team members succeed:
- Check in after first day
- Review work in first week
- Answer questions promptly
- Adjust permissions if needed
- Gather feedback on usability
- Provide additional training as required
Removing Team Members
When to Remove Access
Revoke access when:
- Employee leaves company
- Role changes (remove, then re-add with new role)
- Security concern
- Temporary leave (can re-add later)
- Subscription downgrade requires fewer users
Removal Process
- Navigate to Settings → Team
- Find user in list
- Tap user row
- Tap Remove Access
- Confirm removal
- User immediately loses access
What Happens:
- Access revoked instantly
- Data they created remains (with attribution)
- Can no longer view or modify anything
- CloudKit share link stops working for them
- Frees up seat for new user (Business plan)
Offboarding Best Practice
Before removing:
- Transfer their active tasks to others
- Document any in-progress work
- Archive important communications
- Note any specialized knowledge they had
- Update internal documentation
- Communicate transition to team
Subscription and Team Size
Business Plan Limits
Up to 10 Team Members:
- Owner + 9 participants
- Fixed limit regardless of usage
- Clear capacity planning
- Upgrade to Enterprise if you need more
When Approaching Limit:
- Review active users
- Remove inactive accounts
- Consider role consolidation
- Plan upgrade timing
Enterprise Plan
Unlimited Team Members:
- No user count restrictions
- Scale as you grow
- Advanced user management
- Custom role creation
- Granular permissions
Ideal For:
- Large teams
- Multiple departments
- Growth-stage companies
- Complex organizational structures
Best Practices
Communication Protocols
Establish clear guidelines:
Daily Standups:
- Brief team sync
- What you're working on today
- Any blockers
- Coordination needs
Order Ownership:
- Assign orders to specific people
- Clear handoff between sales and warehouse
- Use order notes for status updates
Urgent Issues:
- Flag critical items immediately
- Use @mentions for attention
- Follow up outside app if needed
Data Responsibility
Keep shared data clean:
Everyone Should:
- Enter accurate information
- Update status promptly
- Complete tasks timely
- Document changes in notes
- Ask if unsure
Never:
- Delete others' work without discussion
- Make major changes without notice
- Ignore flagged or urgent items
- Share credentials outside team
- Work on same order simultaneously without coordination
Role Clarity
Define responsibilities:
Sales Team:
- Create orders
- Manage customer relationships
- Update order details
- Communicate with customers
Warehouse Team:
- Fulfill orders
- Manage inventory
- Create dispatches
- Process returns
Management:
- Approve orders
- Review reports
- Set policies
- Monitor performance
Finance:
- Invoice generation
- Payment tracking
- Financial reporting
Clear roles prevent conflicts and improve efficiency.
Security Awareness
Protect company data:
- Don't share CloudKit links publicly
- Use strong company password
- Revoke access immediately upon departure
- Report suspicious activity
- Regular access audits
- Follow company security policies
Troubleshooting
Team Member Can't Join
If invitation doesn't work:
Check:
- Share link copied completely
- User has iCloud account
- User has TheCompanyApp installed (App Store version preferred)
- Internet connection active
- Subscription supports additional users
- Link hasn't been revoked
Try:
- Resend invitation
- Have user manually open app and enter link
- Verify owner sent correct link
- Check TestFlight vs App Store issue
- Contact support if persistent
Changes Not Syncing
If team doesn't see updates:
Verify:
- Internet connection for all users
- iCloud enabled on all devices
- Sufficient iCloud storage
- App is latest version
- Manual sync forced
Resolution:
- Force sync: Pull down to refresh
- Restart app
- Check CloudKit status: apple.com/support/systemstatus
- Contact support if ongoing
Permission Denied Errors
If user can't perform action:
Check:
- Correct role assigned
- Feature included in subscription
- Not trying to edit closed order
- Item not locked by another user
Resolution:
- Verify role in Settings → Team
- Reassign role if incorrect
- Wait if item temporarily locked
- Contact admin for permission adjustment
Duplicate Work
If two people did same task:
Prevent:
- Use task assignment
- Communication before starting work
- Check task list before beginning
- Establish clear ownership
Resolve:
- Keep best version
- Merge information if both have value
- Update process to prevent future
Next Steps
- Settings - Configure user roles and permissions
- Subscription Plans - Understand plan limits
- Tasks - Assign and manage team work
- Best Practices - Team workflow optimization