Free & open source

The team workspace your Nextcloud was missing

TeamHub gives every team a dedicated home — tasks, events, messages, pages, and integrations — all inside your own server.

Get on GitHub Explore features ↓
Runs on your own Nextcloud server
Nextcloud 32+ compatible
PHP 8.1 – 8.4
PostgreSQL & MySQL supported
AGPL-3.0 licensed
Team workspace

One home for every team

Each team gets its own tab bar linking directly to its shared tools — all within Nextcloud, no redirects to external services.

Home
Chat
Files
Calendar
Deck
Marketing site
+
✓ Done
Tab order is per-user draggable · Apps auto-detected · Custom links supported

Team messages

Post announcements, questions and updates directly to the team. Messages support inline editing, threaded comments, file attachments, and link previews.

Talk integration

Opens the team’s shared Talk conversation directly inside TeamHub. Chat and video calls live in their own tab, scoped to this team.

Shared files

Opens the team’s shared Files folder scoped to exactly the right directory. Every team gets its own folder provisioned automatically.

Team calendar

Opens the team’s shared calendar. Upcoming events also surface in the home view widget with quick-add and meeting scheduling controls.

Deck board

Opens the team’s shared Deck board directly. Tasks appear in the home view widget so nothing gets missed.

Custom links

Team admins can add any URL as a tab — internal Nextcloud apps, external tools, dashboards. All tabs are reorderable per user.

Home view widgets

Your team at a glance

The home view shows a configurable grid of widgets. Every widget can be collapsed, expanded, or repositioned. Layout is saved per user, per team.

Upcoming events

Next calendar events for the team, with a quick “Schedule meeting” action that creates both a Talk call and a calendar event in one step.

Upcoming tasks

Open Deck cards for the team, sorted by due date. Add new tasks directly from the widget without leaving the home view.

Team activity

The 5 most recent events across all team resources with a “More” link to the full 30-day activity feed.

Members

Avatar stack of all team members with member count. Moderators can invite new members directly from the widget header.

Pages (IntraVox)

Links to the team’s IntraVox wiki pages. Moderators can create and delete pages directly from the widget. Auto-hides if IntraVox is not installed.

Third-party widgets

Any Nextcloud app can register a widget via the integration API. Third-party widgets appear in the grid with their own action menus.

Drag & resize: In edit mode, widgets are freely draggable and the message stream is resizable. Layout saves automatically. Each user has their own saved layout per team.
Team messages

More than a chat — a team announcement board

Team messages are persistent, threaded, and searchable. Unlike Talk, messages are designed to stay visible and reference-able over time.

  • Threaded comments on every message
  • Inline editing for message authors
  • File attachments with named links
  • Automatic link previews for URLs
  • Members notified on new messages
  • Indexed by Nextcloud unified search
JD
New release: TeamHub v2.43
Doek, Justin · 2 hours ago
We’ve shipped v2.43 with improved layout persistence, the new Pages widget, and full PostgreSQL support. 📎 Release notes.pdf
💬 3 comments
·
Last by: Alice · 30 min ago
Reply to this message…
Today
📅
Publish v2.43 · Calendar
JDoek · Just now
🃏
card_create · Deck
JDoek · 3h ago
📁
release-notes.pdf · Files
JDoek · 3d ago
Show full 30-day activity →
Activity feed

Everything that happened in your team, in one timeline

The full activity feed shows 30 days of history across all team resources, grouped by day. Nothing gets buried.

  • File uploads and edits from Files
  • Calendar event creations and changes
  • Deck card changes and completions
  • Member joins and leaves
  • Day-grouped, full-canvas view
Team management

Full control over every team

TeamHub wraps Nextcloud’s Teams (Circles) infrastructure and adds a proper management UI on top.

Team creation wizard

Create teams with name, description, and visibility settings. Admins can customize the wizard intro text shown to all users.

Flexible invitations

Invite members by local user, group, email address, or federated account. Each invitation type can be enabled or disabled by admins.

Membership settings

Configure teams as open, invite-only, protected, or request-to-join. Approve or reject join requests from the Members tab.

Custom team image

Upload a logo or photo for each team. Shown on the team home view and in the Browse Teams directory. Supports JPEG, PNG, GIF, and WebP.

App enable/disable per team

Each team can enable or disable individual Nextcloud apps. Disabled apps are automatically hidden from the tab bar.

Shareable team links

Copy a direct link to any team and share it. Recipients who are members land straight on the team home view.

Discovery

Browse and join teams across your organization

The Browse Teams view lets users discover all available teams, search by name or description, and request access — or join directly if the team is open.

  • Grid and list view toggle
  • Search by name or description
  • Team image shown in directory
  • Request to join for closed teams
Browse Teams
Discover and join teams in your organization
🔍 Search by name or description…
Design team
UI/UX, brand, and visual identity
JOIN →
Development
Backend, frontend, and DevOps
MEMBER ✓
Team creation
Invitations
Messages
Integrations

Shown at the top of the Create new team dialog.

Only members of the selected groups can create teams.

admin ×managers ×
Local users
Groups
Email addresses
Federated accounts
Admin settings

Organization-wide controls for IT admins

All admin settings live inside Nextcloud’s standard admin panel. No separate portal, no external accounts.

  • Restrict team creation to specific groups
  • Customize the team creation wizard text
  • Control invitation types (user, group, email, federated)
  • Configure message and integration policies
  • Native NC admin panel — no extra logins needed
Developer API

Built for extensibility

Any Nextcloud app can register integrations into TeamHub. Two integration types are supported:

Widget — sidebar card with items & actions
Tab — secure iframe embedded as a tab
  • 1
    Register from your app’s bootstrap using TeamHub’s IntegrationService — one function call, no HTTP
  • 2
    Implement ITeamHubWidget — return items and optional action buttons for the widget header
  • 3
    Team admins enable your integration per team from the Integrations tab in Manage Team
  • 4
    Your widget or tab appears in the team home view alongside native TeamHub widgets
// 1. Register in Application::boot()
$integrationService->registerIntegration(
  appId:           'myapp',
  integrationType: 'widget',
  title:           'My App Widget',
  phpClass:        MyWidget::class,
  calledInProcess: true,
);

// 2. Implement ITeamHubWidget
class MyWidget implements ITeamHubWidget {
  public function getWidgetData(
    string $teamId,
    string $userId
  ): array {
    return [
      'items'   => $this->getItems($teamId),
      'actions' => $this->getActions($teamId),
    ];
  }
}

Integrations

TeamHub auto-detects installed apps and activates their features automatically — no extra configuration needed.

Companion app — install both for full functionality

IntraVox — team wiki pages, built right in

When IntraVox is installed on the same Nextcloud instance, TeamHub automatically activates a Pages widget for every team. Create, browse, and link team documentation without leaving the team view.

Pages widget appears automatically on every team home view
Team moderators can create and delete pages directly from the widget
Main team page and all sub-pages listed with direct links
No setup required — TeamHub detects IntraVox automatically
Companion appInstall alongside TeamHub
Built-in Nextcloud integrations
Calendar
Events + meeting scheduler
Deck
Tasks + board view
Files
Shared team folder
Talk
Team chat + video calls
Nextcloud Teams
Circles — membership backbone
Your app via API
Widgets or tab iframes
All integrations are auto-detected. If an app isn’t installed, its tab and widget are automatically hidden — no manual configuration needed.

Give your teams a proper home

Free, open source, and self-hosted. Runs entirely on your own Nextcloud server.

View on GitHub

Install from source · Nextcloud 32+ · AGPL-3.0