Page MenuHomePhabricator
Applications Maniphest Email Commands: Tasks

Email Commands: Tasks

Mail Commands Overview

After configuring processing for inbound mail, you can interact with objects (like tasks and revisions) over email. For information on configuring inbound mail, see Configuring Inbound Email.

In most cases, you can reply to email you receive from this server to leave comments. You can also use mail commands to take a greater range of actions (like claiming a task or requesting changes to a revision) without needing to log in to the web UI.

Mail commands are keywords which start with an exclamation point, like !claim. Some commands may take parameters, like !assign alincoln.

To use mail commands, write one command per line at the beginning or end of your mail message. For example, you could write this in a reply to task email to claim the task:

!claim

I'll take care of this.

When Phabricator receives your mail, it will process any commands first, then post the remaining message body as a comment. You can execute multiple commands at once:

!assign alincoln
!close

I just talked to @alincoln, and he showed me that he fixed this.

Interacting with Maniphest Tasks

This page documents the commands you can use to interact with tasks in Maniphest. These commands work when creating new tasks via email and when replying to existing tasks.

Quick Reference

This table summarizes the available mail commands. For details on a specific command, see the command section below.

CommandSummary
!assign usernameAssign a task to a specific user.
!claimAssign yourself as the owner of a task. To assign another user, see !assign.
!closeClose a task. This changes the task status to the default closed status. For a more powerful (but less concise) way to change task statuses, see !status.
!priority priorityChange the priority of a task.
!projects #project ...Add related projects.
!status statusChange the status of a task.
!subscribe username #project ...Add users or projects as subscribers.
!unsubscribeRemove yourself as a subscriber.

!assign

Assign a task to a specific user.

PropertyValue
Syntax!assign username
AliasesNone
ClassManiphestAssignEmailCommand

To assign a task to another user, provide their username. For example, to assign a task to alincoln, write !assign alincoln.

If you omit the username or the username is not valid, this behaves like !claim and assigns the task to you instead.

!claim

Assign yourself as the owner of a task. To assign another user, see !assign.

PropertyValue
Syntax!claim
AliasesNone
ClassManiphestClaimEmailCommand

!close

Close a task. This changes the task status to the default closed status. For a more powerful (but less concise) way to change task statuses, see !status.

PropertyValue
Syntax!close
AliasesNone
ClassManiphestCloseEmailCommand

!priority

Change the priority of a task.

PropertyValue
Syntax!priority priority
AliasesNone
ClassManiphestPriorityEmailCommand

To change the priority of a task, specify the desired priority, like !priority high. This table shows the configured names for priority levels.

PriorityKeywords
Unbreak Now!unbreak
Needs Triagetriage
Highhigh
Normalnormal
Lowlow
Wishlistwish, wishlist

If you specify an invalid priority, the command is ignored. This command has no effect if you do not specify a priority.

!projects

Add related projects.

PropertyValue
Syntax!projects #project ...
Aliases!project
ClassProjectAddProjectsEmailCommand

Add one or more projects to the object by listing their hashtags. Separate projects with spaces. For example, use !projects #ios #feature to add both related projects.

Projects which are invalid or unrecognized will be ignored. This command has no effect if you do not specify any projects.

!status

Change the status of a task.

PropertyValue
Syntax!status status
AliasesNone
ClassManiphestStatusEmailCommand

To change the status of a task, specify the desired status, like !status invalid. This table shows the configured names for statuses.

StatusKeywords
Openopen
Resolvedclosed, fixed, resolved
Wontfixwontfix
Invalidinvalid
Duplicateduplicate
Spitespite

If you specify an invalid status, the command is ignored. This command has no effect if you do not specify a status.

To quickly close a task, see !close.

!subscribe

Add users or projects as subscribers.

PropertyValue
Syntax!subscribe username #project ...
Aliases!cc
ClassPhabricatorSubscriptionsSubscribeEmailCommand

Add one or more subscribers to the object. You can add users by providing their usernames, or add projects by adding their hashtags. For example, use !subscribe alincoln #ios to add the user alincoln and the project with hashtag #ios as subscribers.

Subscribers which are invalid or unrecognized will be ignored. This command has no effect if you do not specify any subscribers.

Users who are CC'd on the email itself are also automatically subscribed if their addresses are associated with a known account.

!unsubscribe

Remove yourself as a subscriber.

PropertyValue
Syntax!unsubscribe
AliasesNone
ClassPhabricatorSubscriptionsUnsubscribeEmailCommand