diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/MessagePublisher.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/MessagePublisher.java
index 0a35f54..8096556 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/MessagePublisher.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/MessagePublisher.java
@@ -181,7 +181,7 @@
   }
 
   private boolean publishEvent(Event event) {
-    return session.publish(gson.toJson(event));
+    return session.publish(gson.toJson(event), event.type);
   }
 
   private void connect() {
diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/session/Session.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/session/Session.java
index 7d0669f..841ed8f 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/session/Session.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/session/Session.java
@@ -20,5 +20,5 @@
 
   void disconnect();
 
-  boolean publish(String message);
+  boolean publish(String message, String eventType);
 }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/session/type/AMQPSession.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/session/type/AMQPSession.java
index 5b2e0d2..e0ee829 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/session/type/AMQPSession.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/session/type/AMQPSession.java
@@ -163,18 +163,25 @@
   }
 
   @Override
-  public boolean publish(String messageBody) {
+  public boolean publish(String messageBody, String eventType) {
     if (channel == null || !channel.isOpen()) {
       channel = getChannel();
     }
     if (channel != null && channel.isOpen()) {
+      String routingKey;
       Message message = properties.getSection(Message.class);
+      if (message.routingKey != null && !message.routingKey.isEmpty()) {
+        // Set routingKey from configuration.
+        routingKey = message.routingKey;
+      } else {
+        routingKey = eventType;
+      }
       Exchange exchange = properties.getSection(Exchange.class);
       try {
         logger.atFine().log("Sending message.");
         channel.basicPublish(
             exchange.name,
-            message.routingKey,
+            routingKey,
             properties.getAMQProperties().getBasicProperties(),
             messageBody.getBytes(CharEncoding.UTF_8));
         return true;
diff --git a/src/main/resources/Documentation/config.md b/src/main/resources/Documentation/config.md
index dced3c4..76ba7ce 100644
--- a/src/main/resources/Documentation/config.md
+++ b/src/main/resources/Documentation/config.md
@@ -71,7 +71,8 @@
     * The priority of message. if not specified, defaults to 0.
 
 * `message.routingKey`
-    * The name of routingKey. This is stored to message property.
+    * The name of routingKey. This is stored to message property. If not specified, defaults to
+      the type of the Gerrit event (e.g. "patchset-created", "change-merged").
 
 * `gerrit.name`
     * The name of gerrit(not hostname). This is your given name to identify your gerrit.
@@ -116,7 +117,7 @@
 |exchange.name        | **gerrit.publish**
 |message.deliveryMode | 1
 |message.priority     | 0
-|message.routingKey   | *Empty*
+|message.routingKey   | **event.type**
 |gerrit.name          | *Empty*
 |gerrit.hostname      | *Empty*
 |gerrit.scheme        | **ssh**
