# Add tags by email

**URL:** https://meta.discourse.org/t/add-tags-by-email/25796
**Category:** Feature
**Tags:** email, pr-welcome
**Created:** [February 27, 2015, 11:48pm UTC](https://meta.discourse.org/t/add-tags-by-email/25796 "2015-02-27T23:48:25Z")
**Posts on this page:** 19
**Page:** 1

<div class="post-metadata">

### Author: ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)
#### Post date: [February 27, 2015, 11:48pm UTC](https://meta.discourse.org/t/add-tags-by-email/25796/1 "2015-02-27T23:48:26Z")

</div>

I’ve had a request for the ability to add tags to topics when posting by email. This could work by adding a line as follows starting with `tags:` and then a comma separated list.

```
tags: tag1, tag2, tag3 

```

I can see potential for difficulty, e.g. because there is no autocomplete people won’t know tags that are already being used and create duplicates, but I also think it can be quite powerful and help people to indicate organization they’d like without having to log in - and in my community many people just want to stay in their email.

---

<div class="post-metadata">

### Author: ![smcalear](https://avatars.discourse-cdn.com/v4/letter/s/bc8723/32.png) [@smcalear](https://meta.discourse.org/u/smcalear)
#### Post date: [February 2, 2017, 3:45pm UTC](https://meta.discourse.org/t/add-tags-by-email/25796/2 "2017-02-02T15:45:20Z")

</div>

Hi!

We (@mcwumbly and I) would really benefit from a feature like this also. Was anything ever implemented that enables tagging topics that are created via email?

Thanks!

---

<div class="post-metadata">

### Author: ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)
#### Post date: [February 2, 2017, 3:52pm UTC](https://meta.discourse.org/t/add-tags-by-email/25796/3 "2017-02-02T15:52:38Z")

</div>

Nope, nothing was implemented regarding tag creations via incoming emails.

---

<div class="post-metadata">

### Author: ![mcwumbly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mcwumbly/32/103861_2.png) [@mcwumbly](https://meta.discourse.org/u/mcwumbly)
#### Post date: [February 2, 2017, 4:40pm UTC](https://meta.discourse.org/t/add-tags-by-email/25796/4 "2017-02-02T16:40:48Z")

</div>

Is this #pr-welcome material?

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [February 3, 2017, 1:00am UTC](https://meta.discourse.org/t/add-tags-by-email/25796/5 "2017-02-03T01:00:36Z")

</div>

It’s quite risky. How do you know what tags exist? What happens if you typo a tag? What happens when a tag is specified that doesn’t exist?

Just ignore all that? No feedback?

---

<div class="post-metadata">

### Author: ![tobiaseigen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tobiaseigen/32/539204_2.png) [@tobiaseigen](https://meta.discourse.org/u/tobiaseigen)
#### Post date: [February 3, 2017, 2:02am UTC](https://meta.discourse.org/t/add-tags-by-email/25796/6 "2017-02-03T02:02:37Z")

</div>

I’m with you, Jeff. My opinion has changed since posting this request back in the day. Let’s keep it simple, and let the moderators garden and fix tags etc. If people want to indicate in their message where it should go that’s fine too.

---

<div class="post-metadata">

### Author: ![mcwumbly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mcwumbly/32/103861_2.png) [@mcwumbly](https://meta.discourse.org/u/mcwumbly)
#### Post date: [February 3, 2017, 5:18am UTC](https://meta.discourse.org/t/add-tags-by-email/25796/7 "2017-02-03T05:18:07Z")

</div>

Here are some thoughts to address the risks that you identified:

The feature should respect that tags site settings, including “minimum trust level to create tags” If that is higher than the user’s trust level, then the tag would just get dropped if it doesn’t exist (which could be due to a typo).

If the user’s trust level allows them to create tags, then the new tag would be created (which could be a misspelling).

Yes, the chance of these errors is higher without immediate feedback, but on the other hand, this is a pretty “advanced” feature anyway, so I wouldn’t expect a huge onslaught of tagging mayhem were it to be added.

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [February 12, 2017, 6:00pm UTC](https://meta.discourse.org/t/add-tags-by-email/25796/8 "2017-02-12T18:00:16Z")

</div>

It’s a pain in the behind to implement properly (allowing for localization and some leniency with format), a feature that is impossible to discover and dealing with edge cases is hard.

That said, I don’t see why not allow the community to send through a well specified PR, cause it is kind of important for mailing list parity.

---

<div class="post-metadata">

### Author: ![sunjam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sunjam/32/175682_2.png) [@sunjam](https://meta.discourse.org/u/sunjam)
#### Post date: [July 10, 2020, 4:34pm UTC](https://meta.discourse.org/t/add-tags-by-email/25796/9 "2020-07-10T16:34:28Z")

</div>

I have a different suggestion for adding tags by email:

`email@forum.com` is used for `Uncategorized`  
`accessibility@forum.com` is also used for `Uncategorized` but adds the tag `Accessibility` in Discourse

Has anyone considered this?

---

<div class="post-metadata">

### Author: ![JonathanShaw](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jonathanshaw/32/532672_2.png) [@JonathanShaw](https://meta.discourse.org/u/JonathanShaw)
#### Post date: [October 24, 2020, 10:01pm UTC](https://meta.discourse.org/t/add-tags-by-email/25796/10 "2020-10-24T22:01:42Z")

</div>

Many systems (incl. gmail) allow addresses to have the format `user+tag@domain.com`, routed to `user@domain.com`.

---

<div class="post-metadata">

### Author: ![mattdm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mattdm/32/216484_2.png) [@mattdm](https://meta.discourse.org/u/mattdm)
#### Post date: [November 14, 2021, 7:36pm UTC](https://meta.discourse.org/t/add-tags-by-email/25796/11 "2021-11-14T19:36:03Z")

</div>

I think Discourse already makes use of that feature for routing mail by category.

---

<div class="post-metadata">

### Author: ![debryc](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/debryc/32/101652_2.png) [@debryc](https://meta.discourse.org/u/debryc)
#### Post date: [November 14, 2021, 9:12pm UTC](https://meta.discourse.org/t/add-tags-by-email/25796/12 "2021-11-14T21:12:38Z")

</div>

> [@sunjam](#):
>
> I have a different suggestion for adding tags by email:
> 
> `email@forum.com` is used for `Uncategorized`  
> `accessibility@forum.com` is also used for `Uncategorized` but adds the tag `Accessibility` in Discourse

I really like this idea! It uses the same workflow as categories and groups so it’s not something completely new for users to pick up on.

---

<div class="post-metadata">

### Author: ![sunjam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sunjam/32/175682_2.png) [@sunjam](https://meta.discourse.org/u/sunjam)
#### Post date: [November 15, 2021, 2:49am UTC](https://meta.discourse.org/t/add-tags-by-email/25796/13 "2021-11-15T02:49:18Z")

</div>

Thanks, another way I could see this working:

`email+tagname@forum.com` assuming that tag is available to `everyone` group.

---

<div class="post-metadata">

### Author: ![ludwikc](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ludwikc/32/438823_2.png) [@ludwikc](https://meta.discourse.org/u/ludwikc)
#### Post date: [September 7, 2024, 11:50am UTC](https://meta.discourse.org/t/add-tags-by-email/25796/14 "2024-09-07T11:50:07Z")

</div>

> [@mattdm](#):
>
> I think Discourse already makes use of that feature for routing mail by category.

Is there an update on it?

Can we mail in topics **with tags** support?

---

<div class="post-metadata">

### Author: ![hellekin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hellekin/32/51636_2.png) [@hellekin](https://meta.discourse.org/u/hellekin)
#### Post date: [October 10, 2024, 4:50am UTC](https://meta.discourse.org/t/add-tags-by-email/25796/15 "2024-10-10T04:50:40Z")

</div>

Short answer is: no.

Several proposals were made from the original “add a line starting with `tags: ` followed by a comma separated list of tags” to use `x+tag@forum.example`. Although I like the first one, since the second one is bound to break existing group and categories email-in configurations, I also understand the difficulty of having to deal with tagging errors.

---

<div class="post-metadata">

### Author: ![tknospdr](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/tknospdr/32/529762_2.png) [@tknospdr](https://meta.discourse.org/u/tknospdr)
#### Post date: [July 11, 2025, 3:32pm UTC](https://meta.discourse.org/t/add-tags-by-email/25796/16 "2025-07-11T15:32:52Z")

</div>

How about utilizing the Subject line?

```plaintext
Subject: How to add tags via email ;email,api,webhook

```

Everything right of the semicolon is a CSV of tags.

---

<div class="post-metadata">

### Author: ![hellekin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hellekin/32/51636_2.png) [@hellekin](https://meta.discourse.org/u/hellekin)
#### Post date: [September 5, 2025, 7:28pm UTC](https://meta.discourse.org/t/add-tags-by-email/25796/17 "2025-09-05T19:28:12Z")

</div>

It would look very odd in the Inbox.

---

<div class="post-metadata">

### Author: ![hellekin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hellekin/32/51636_2.png) [@hellekin](https://meta.discourse.org/u/hellekin)
#### Post date: [September 5, 2025, 7:29pm UTC](https://meta.discourse.org/t/add-tags-by-email/25796/18 "2025-09-05T19:29:28Z")

</div>

> [@sunjam](#):
>
> [email+tagname@forum.com](mailto:email+tagname@forum.com)

This would be _very_ brittle and would certainly not match many setups where the `+` is used to match groups or categories.

---

<div class="post-metadata">

### Author: ![hellekin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hellekin/32/51636_2.png) [@hellekin](https://meta.discourse.org/u/hellekin)
#### Post date: [September 5, 2025, 7:35pm UTC](https://meta.discourse.org/t/add-tags-by-email/25796/19 "2025-09-05T19:35:07Z")

</div>

The original proposal by @tobiaseigen seems the most versatile.

> [@tobiaseigen](#):
>
> `tags: tag1, tag2, tag3 `

Limits can be overcome by slicing the list and only keep the first ones mentioned.

There should be some agreement (aka specification) on ignoring subsequent uses of `^tags:` (i.e., preferring tags at the beginning of emails, and ignoring quotes, for those of us who prefer quoting above reply). But otherwise the proposal seems solid from where I sit.
