Skip to content

Collaboration

Hypertask is built for teams — whether that’s two founders, a 50-person engineering org, or a mix of humans and AI agents. Every feature is designed around the idea that project management is inherently collaborative.

Shared modals now use a consistent 24px inset for headers and footers so layouts behave predictably:

  • Headers and footers are separated from content by 24px vertical spacing.
  • Separators and horizontal rules inside modals stay aligned and stay inside the modal bounds.
  • Intentional full-bleed lists (e.g., searchable assignee/worker lists) preserve their visual, making them easy to scan without hitting UI boundaries.

When you mention someone on a task, they’re automatically added as a follower so they receive updates. Hypertask also respects the explicit follower field on task pages: sending those emails now uses the correct recipient key, so deliveries succeed without silent failures.

Profile photos are now included in assignment rows and activity history: photoURL is preserved across assignment and unassignment events, so cards, inbox items, and task detail history show the same person with a consistent avatar. When no usable image is available, the system falls back to initials instead of leaving holes.

Connect Slack directly to Hypertask so decisions about tickets live where your team already collaborates.

If your team minds decisions live in Slack instead of wandering into a separate tool:

  1. Invite the Hypertask bot to the Slack channel where you want to capture ticket candidates (e.g. @Hypertask invite).

  2. Create a task from a thread — in any thread, type:

    @Hypertask create a task for this

The bot reads the entire thread, extracts a title and description using AI, creates the ticket on your default board, and replies in the same Slack thread with the ticket link. That thread is auto-watched, so follow-up summary comments appear directly on the ticket.

When a Slack thread mentions a ticket (by ID like HTPR-123 or URL), Hypertask watches for quiet cycles:

  • The bot monitors tabs and channels you’ve connected.
  • When a thread goes idle for more than 30 minutes after receiving a ticket mention, it generates an AI summary and posts it as a comment on that ticket.
  • The summary includes the key points and a Slack permalink so you can continue the discussion there.

This way, conversations that started in Slack don’t die there — they live permanently on the right ticket for your team and agents.

  • Slack app permissions: Ensure your Slack app has:
    • chat:write — to reply with ticket links
    • chat:write.public — to post in channels you don’t own
    • channels:history and groups:history — to read thread context
    • app_mentions:read — to detect ticket mentions
  • Channel watching: You control which channels to watch (e.g. direct invite or workspace-wide discovery).
  • Workspace scope: Slack integrations are team-scoped, so your connection is tied to your Hypertask team and limited to boards and tasks you have access to.

Comparison with existing Slack integrations

Section titled “Comparison with existing Slack integrations”

Hypertask natively integrates Slack with thread-aware sync, unlike the older workers:

Featureht-slack Workerinne-slack-scout AgentHypertask Slack Integration
Can read channel messagesNo (mention/DM only)No (mentions only)Yes (full thread history)
Links to existing ticketsNoNo (drafts only)Yes — auto-watches threads
Team-scopedNo (workspace fallback token)Single-tenantTeam-scoped accounts
AI-driven summariesNoNoYes — auto-summaries on idle cycles

Workspaces are the top-level container in Hypertask. Each workspace groups related projects together and manages team membership.

A workspace might represent your company, a department, or a client engagement. You can belong to multiple workspaces.

Invite team members to a project by generating an invite link. Invite links support several controls:

SettingDescription
ExpirationSet when the link stops working (e.g. 7 days, 30 days, never)
Usage limitCap how many people can join via this link
Domain restrictionLimit invites to specific email domains (e.g. @yourcompany.com)

Project members are assigned one of three roles, each with different privileges for managing the project:

RolePrivileges
OwnerFull control over the project: invite or remove members, board settings (renaming, sharing, archiving, deleting), view billing (plan + invoices), set payment method and invoicing email, and grant or revoke Admin permissions for other members
AdminAll day-to-day task work (create, edit, delete, assign, reply in comments) plus the ability to invite/remove other members, modify board settings, and view billing (plan + invoices)
MemberAll day-to-day task work (create, edit, delete, assign, reply in comments) with no additional permissions

To see who contributes which tasks:

  1. Open the project board.
  2. Check the board header for member avatars and counts.
  3. Hover over an avatar to see their role (Owner, Admin, or Member).

Security note: Members can only associate tasks they own to a specific board, and the system prevents them from adding tasks to boards in which they have no work. This ensures board-specific permissions are enforced.

Hypertask uses Better Auth for server-led authentication. When you log in via email code or magic-link, the response includes both the Better Auth session and your nookies_user and ht_session cookies:

  1. Initiate login — Click email code or magic-link in the login modal.
  2. Server processes — Better Auth verifies your identity on the server.
  3. Response includes cookies — The login response sets:
    • Better Auth session — Server-side session for your authentication.
    • nookies_user — Client-side user identity token.
    • ht_session — Server-validated signature for cookie integrity.
  4. Redirect to board — You’re redirected to a board in the app.

API key management is available to BYOK (Bring Your Own Key) teams. BYOK teams see and manage API keys directly in the Settings → Team navigation. For non-BYOK teams, the API Keys entry is hidden from this section.


The Settings → Team navigation shows team-scoped panels. In typical teams, this section shows your team members and basic configuration options. In discounted teams, the billing display shows a clearer breakdown of your plan:

  • Base price — The full list price of your plan, shown with the expected period
  • Discount — The discount amount applied if your team is eligible (e.g. for long-term commitments or enterprise pricing)
  • Amount due — The final amount you pay after applying the discount

On every settings page, the viewport is now terminated by a sticky footer with quick access links and a labeled Sign out button:

  • Feedback — icons for general feedback and contact page opening
  • Sign out — prominent red button that updates to indicate action on hover

The previously misleading Profile > Account section is no longer displayed. Links previously reachable under “Profile → Account” now redirect to their correct locations.

  • Navigation footer persists across navigation throughout settings pages
  • Sign out behavior is updated with visual feedback when hovered
  • Last-visible anchor details appear only when the user intentionally scrolls into view

When you’re already logged in and want to switch to a different account (for example, on the same browser):

  1. Initiate new login — Start logging in via email code or magic-link for the target account.
  2. Previous session cleared — The login response now properly clears the previous user’s Better Auth session cookies (Max-Age=0). This prevents the old user’s session from persisting.
  3. Fresh cookies set — Both Better Auth and nookies_user/ht_session are set for the new logging-in user.
  4. Redirect to board — You’re now logged in as the intended user.

This ensures that account switching works correctly and you always see the correct user in the app.

After login, your session persists until you explicitly sign out. Hiding or closing the browser doesn’t automatically log you out.

Your logged-in state is managed by the combination mentioned above. LocalStorage holds transient UI state (such as the current user object via Recoil), but the actual authentication identity is verified server-side on each request via the signed ht_session cookie.

Agents and team members are now team-scoped: an agent’s access is derived from the teams you belong to. This prevents cross-team leakage and ensures agents can only work on boards you have permission to access.

When you create an agent, it inherits access to all teams you’re a member of:

  • Access enforcement — Hypertask uses server-side gates to verify the creator’s membership. If you don’t have permission to add the agent to a team, the operation is rejected.
  • Cross-team attachment prevented — Even if an agent exists under a team, it cannot be attached to a board or team you don’t belong to. Any attempt to configure such an attachment fails server-side.
  • No schema changes — Scoping is enforced via application logic, not database schema changes, keeping the database stable.

This scoping applies when:

  • Inviting an agent to a board from the board invite modal
  • Configuring an agent’s permissions in Settings
  • Using the agent in MCP tools or interactive sessions

Team membership controls what agents you can create and configure:

  • Team tab — Shows your team and any board you’re a member of, plus the agents you can add to that team’s boards.
  • All teams — Lists all available teams and their associated agents.
  • Board tab — Shows a specific board and whether it’s associated with your team across charts.

Membership visibility is scoped per section:

  • Team tab — Displays Members / Agents / Skills for each team you’re a member of.
  • Board tab — Shows that board’s Members and Agents alongside their roles and association checkboxes if applicable.

AI agents can be added to boards just like human team members. When you add an agent to a board, it gains access to that board’s tasks and can be assigned work, @mentioned in comments, and participate in the project workflow.

  1. Open the board’s settings or invite panel.
  2. Look for the invite modal — it now shows both team members and any agents you’ve created.
  3. Select the agent you want to add to the board.
  4. The agent appears in the board’s member list and can now be assigned tasks.

Agents added to a board are treated as members of that board. This means:

  • Agents appear in the assignee dropdown for tasks on that board
  • Agents can be @mentioned in comments and will receive notifications
  • Agents can read and update tasks on that board via MCP

When you create an agent, it inherits access to all boards in projects where you’re a member. Use the board-level invite modal to restrict which boards an agent can access — boards not on the list treat the agent as if it doesn’t exist.

This is useful when:

  • You work across multiple clients or teams and don’t want a given agent active everywhere
  • You want to limit an agent to only the boards where it has relevant context
  • You have specialized agents for different workflows and need to keep them scoped

Give feedback directly from the app with a prominent call-to-action. The feedback button is always available at the bottom of the app shell rail and opens a fully-featured real feedback modal with:

  • Fast-track submission fields for quick suggestions
  • Rich text support so you can include screenshots, drafts, or detailed feature requests
  • Clear category selection to route your feedback to the right teams
  • Direct posting to the Feedback board with auto-assignment

Type @ in any comment to mention a team member. Mentions do two things:

  1. Send a notification — the mentioned person receives an inbox notification immediately.
  2. Add as follower — the mentioned person is automatically added as a follower on the task, so they receive future updates.

Mentions work in comments and task descriptions, and support native and external agents:

@mentioning an agent (native or external) triggers a Mentioned notification in that agent’s inbox. External agents with scoped tokens receive notifications via their agent_notifications array and can poll it with hypertask_inbox_list to pick up mentions.

This means you can @mention external agents in comments and task descriptions to trigger automation; the agent’s inbox receives a Mentioned notification, and it can respond via MCP comments with proper HTML markup.

If an external agent isn’t receiving @mentions, verify that it has board-level access.

React to tasks and comments with emoji. Reactions serve as lightweight feedback — a quick thumbs-up to acknowledge work, a flag to signal concern, or a celebration when something ships.

Reactions are visible to all project members and trigger a notification to the author.

For the most common reaction — a simple thumbs-up — Hypertask provides a fast like button that appears directly on task cards and comment rows. No need to open the full emoji picker:

  • Mouse users: hover over a task card or comment row to reveal the like button, which shows a tooltip with an “[L]” hint; click it to toggle your reaction on or off (the tooltip appears behind the button per production behavior).
  • Mobile users: tap the like button that appears inline alongside the comment or task actions.

The like button is a shortcut for the thumbs-up reaction. It appears in the full reactions list alongside any other emoji your teammates have added, and it triggers the same notification to the author as any other reaction.


PositionAppearance
Task cards (hover)Thumbs-up quick-like icon; tooltip with [L] hint; appears behind the like toggle when !hasLiked is true (CommentOptions.tsx:75 per production spec)
Comment reactions row (inline)Thumbs-up integrated in the reactions row with the same behavior and tooltip hint

On mobile devices, emoji reactions are organized into a docked picker that mimics popular messaging apps:

  • Picker appears docked at the bottom of the screen, aligned with the keyboard input area
  • A search bar on the Emoji tab lets you quickly find emojis by name
  • Selecting an emoji immediately applies it as a reaction, with the picker closing automatically

Comments can be starred (saved) or pinned, and the visual indicators update based on comment state:

  1. Pinned + saved — only the orange pinned dot displays (saved state is suppressed)
  2. Pinned only — only the orange pinned dot displays
  3. Saved only — only the yellow saved/starred dot displays

Click the activity icon next to a comment to see all reactions. This icon appears when someone has reacted in any way, whether it’s a like or another emoji expression.

Agents can now ask you for decisive feedback on tickets. When an agent encounters a decision that impacts work (e.g., “Archive this task,” “Move to inactive,” etc.), it opens a decision request on the ticket with one-tap approve/answer buttons.

Decision requests appear as inline panels on the ticket:

  • Approve — Applies the agent’s suggested action with one tap
  • Reject / More options — Opens a menu with detailed choices or alternative actions

Agents only create decision requests when the suggested action clearly affects board state and benefits from human sign-off. Routine summaries, AI editor outputs, and informational messages do not trigger requests.

Once you respond:

  • Approved decisions — The agent applies the action to the ticket immediately (e.g., archives the task and adds a reason comment)
  • Rejected or alternative — The agent stops iterating on that item and moves on, leaving the ticket in its current state

You can review all pending decision requests anytime in the ticket feed — the panel stays visible until resolved.

Hypertask keeps every connected client live — no manual refreshes needed. Changes made anywhere in the app (or via the CLI and MCP) appear instantly for everyone who has the same board open.

What updates in real time:

  • Tasks appearing, disappearing, or moving between sections when created, archived, or moved
  • Task title, status, priority, and assignee changes
  • New comments and reactions
  • Board and section changes

This is powered by Pusher, so updates are pushed directly to connected browsers. Creating a task from the CLI and watching it appear on an open board with no page reload is a first-class workflow — useful for monitoring agents running in your terminal or CI pipeline.

For simultaneous editing of the same task description, Hypertask uses TipTap with Yjs. Multiple people can edit the same rich-text field at the same time, with changes merged automatically.

This applies to:

  • Task descriptions
  • Comments (while drafting)
  • Any rich text field in the app

There are no save buttons — changes persist as you type.

You can manage comments on any task — including comments left by other team members or agents. This is useful when:

  • Cleaning up outdated or irrelevant comments
  • Removing agent-generated comments that are no longer needed
  • Tidying up task threads for better readability

To delete a comment, open the task and use the delete option on the comment itself. Comment management is available to all project members — trust within the team is assumed for collaborative housekeeping.

The comment hover panel in table views and card lists is streamlined for faster access to actions:

  • Reply — standard reply action
  • React — add or remove a reaction (thumbs-up, favorite, flag, etc.)
  • Three-dot menu — click the three-dot to reveal remaining options

Press and hold Ctrl+K (or the three-dot itself) to access the full menu with all comment commands pinned at the top:

  • Edit — modify the comment
  • Summarize — generate an AI summary of the comment thread
  • Fast like — quickly add a thumbs-up reaction

For the most common reaction, just hover and click the like button directly on the comment row. No need to open the full emoji picker.

On mobile devices, you can swipe a comment to reveal its action menu:

  • One-finger swipe right or left across a comment to open its quick actions menu
  • Available actions appear inline alongside the comment content
  • The menu provides fast access to common comment actions without opening the full detail view

This makes quick to delete, star, or otherwise manage comments directly from your mobile feed.

When you tap into a comment’s action menu on mobile, you can find and manage several options:

  • Edit — tap to open the comment composer
  • Delete — remove the comment from the thread
  • Star or turn off star — save or unsave the comment
  • Pin or turn off pin — pin the comment to the top of the feed

Bare URLs in comments are automatically converted into clickable links at render time, regardless of how the comment was created. This applies to comments posted via the web UI, CLI, MCP, or any API client — so a deploy URL pasted by a CLI script or an agent’s status update with a link will always be clickable for your teammates.

Links open in a new tab. URLs that are already formatted as hyperlinks or embedded inside images are left unchanged.

The comment composer adapts to its available space. When the AI panel is open (especially in narrow column layouts), the composer expands to fit available width rather than staying fixed at a small size. This prevents text overflow and keeps the Send toolbar visible. Blurred composer states scroll smoothly instead of spilling content off the screen.

On mobile, the composer automatically adjusts its positioning: it offsets by max(keyboardInset, dockHeight) so it rests on the tab bar when the keyboard is closed and correctly above the keyboard when you start typing. This ensures the composer remains visible and usable on task detail pages even with the bottom dock.

When you reply to a comment, Hypertask inserts a placeholder for the quoted message. If you were typing before you selected the comment, the system adds a space before the quoted text so your existing words don’t run together:

  • After existing text: the reply includes Your text [quotation start]Your text "Original comment" (space inserted automatically)
  • Already after whitespace: the quoted text appears and you can keep typing without an extra space

This spacing is handled invisibly in the background, so quoted replies flow naturally into your sentence structure.

The comment composer includes a built-in Emoji & GIFs picker with two tabs, giving you Slack-style expressiveness in task discussions.

Type a slash command at the start of your comment to open the picker instantly:

CommandAction
/emojiOpens the picker on the Emoji tab
/giphyOpens the picker on the GIFs tab

Browse and search a full emoji library. Click any emoji to insert it into your comment at the cursor position.

The GIFs tab is powered by Giphy and offers two modes:

  • Trending — shows popular GIFs by default when you open the tab.
  • Search — type any query to find a GIF that fits the moment.

Click a GIF to insert it into your comment. Inserted GIFs render as resizable media — drag the corner handles to adjust the size, and the chosen dimensions are preserved when the comment is posted.

Edit a comment to refine your thoughts or fix mistakes. The editor includes keyboard shortcuts to help you work efficiently:

ShortcutAction
ESCLeave edit mode without sending (clears unsaved edits)
Ctrl+EnterSend the edited comment

When you’re in edit mode and want to abandon your changes:

  • Mouse: click the trash can icon in the edit-mode footer
  • Keyboard: press ESC

Both options exit edit mode without posting the comment and without polluting the conversation with draft text.

Every change in Hypertask is recorded in the activity log — a full audit trail of who did what, and when.

Tracked actions include:

  • Task creation, updates, and deletion
  • Section moves
  • Assignment and priority changes
  • Comments and reactions
  • Member joins and leaves
  • Board and section modifications

Activity logs are available at the task level (see what happened to a specific task) and the project level (see all activity across the project).

The task feed defaults to comments only — history events such as field changes, assignments, and status moves are hidden to reduce noise. This keeps the conversation readable at a glance, especially on busy tickets.

To reveal history events:

  • Click the Show history pill at the top of the feed, or
  • Press Ctrl+Shift+H

Both controls toggle history events on and off. You can also access Show/Hide history and Expand/Collapse all comments from the command palette (Ctrl+K).