diff --git a/app/controllers/console_redirect_controller.rb b/app/controllers/console_redirect_controller.rb
new file mode 100644
index 00000000..2424c9da
--- /dev/null
+++ b/app/controllers/console_redirect_controller.rb
@@ -0,0 +1,11 @@
+# frozen_string_literal: true
+
+class ConsoleRedirectController < ApplicationController
+ def index
+ auth = JsonWebToken.encode(uuid: current_user.uuid,
+ action: :sign_in,
+ exp: 1.minute.from_now.to_i)
+
+ redirect_to("#{Docuseal::CONSOLE_URL}?#{{ auth: }.to_query}", allow_other_host: true)
+ end
+end
diff --git a/app/views/shared/_settings_nav.html.erb b/app/views/shared/_settings_nav.html.erb
index 7b890467..20f48c25 100644
--- a/app/views/shared/_settings_nav.html.erb
+++ b/app/views/shared/_settings_nav.html.erb
@@ -23,6 +23,9 @@
<%= link_to 'Team', settings_users_path, class: 'text-base hover:bg-base-300' %>
+
+ <%= link_to 'Console', console_redirect_index_path, class: 'text-base hover:bg-base-300' %>
+
diff --git a/config/routes.rb b/config/routes.rb
index f0e78d52..028a0dd8 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -41,6 +41,7 @@ Rails.application.routes.draw do
resource :newsletter, only: %i[show update]
resources :users, only: %i[new create edit update destroy]
resources :submissions, only: %i[show destroy]
+ resources :console_redirect, only: %i[index]
resources :templates, only: %i[new create edit show destroy] do
resources :submissions, only: %i[new create]
end
diff --git a/lib/docuseal.rb b/lib/docuseal.rb
index 8b0d2a7c..99a5e36b 100644
--- a/lib/docuseal.rb
+++ b/lib/docuseal.rb
@@ -10,6 +10,11 @@ module Docuseal
TWITTER_URL = 'https://twitter.com/docusealco'
TWITTER_HANDLE = '@docusealco'
SUPPORT_EMAIL = 'support@docuseal.co'
+ CONSOLE_URL = if Rails.env.development?
+ 'http://console.localhost.io:3001'
+ else
+ 'https://console.docuseal.co'
+ end
CERTS = JSON.parse(ENV.fetch('CERTS', '{}'))