diff --git a/lib/lita/user.rb b/lib/lita/user.rb
index <HASH>..<HASH> 100644
--- a/lib/lita/user.rb
+++ b/lib/lita/user.rb
@@ -99,7 +99,11 @@ module Lita
       ensure_name_metadata_set
     end
 
+    # The name used to "mention" the user in a group chat.
+    # @return [String] The user's mention name.
+    # @since 3.1.0
     def mention_name
+      metadata["mention_name"] || name
     end
 
     # Saves the user record to Redis, overwriting an previous data for the
diff --git a/spec/lita/user_spec.rb b/spec/lita/user_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/lita/user_spec.rb
+++ b/spec/lita/user_spec.rb
@@ -96,6 +96,18 @@ describe Lita::User, lita: true do
     end
   end
 
+  describe "#mention_name" do
+    it "returns the user's mention name from metadata" do
+      subject = described_class.new(1, name: "Carl", mention_name: "carlthepug")
+      expect(subject.mention_name).to eq("carlthepug")
+    end
+
+    it "returns the user's name if there is no mention name in the metadata" do
+      subject = described_class.new(1, name: "Carl")
+      expect(subject.mention_name).to eq("Carl")
+    end
+  end
+
   describe "#save" do
     subject { described_class.new(1, name: "Carl", mention_name: "carlthepug") }
Implement User#mention_name.