Custom Keyboard Shortcuts - Using Chrome/Firefox Extension

Hello Everyone,

Today, I am sharing how we are using custom shortkeys to quickly navigate between doctypes/reports we use daily multiple times.

This can be customised for each user based on what they use the most. Users in our organisation love this a lot.

Free Chrome Extension: Link
Free Firefox Extension: Link

Implementation

  1. Going to list views: consecutive press of s i l to go to Sales Invoice List, or s o l to go to Sales Order List
  2. New Doctypes: consecutive press of n s i to create New Sales Invoice or n s o to create New Sales Order
  3. Reports: consecutive press of r a r to check Report Accounts Receivable

and much more…

I am sharing following implementation (for v12) that you can directly import in this extension and test it for yourself. (In this replace xyz.com with your domain).

[
  {
    "key": "s i l",
    "label": "Sales Invoice List",
    "action": "javascript",
    "code": "window.location.href = \"https://xyz.com/desk#List/Sales%20Invoice/List\";",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "p i l",
    "label": "Purchase Invoice List",
    "action": "javascript",
    "code": "window.location.href = \"https://xyz.com/desk#List/Purchase%20Invoice/List\";",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "j e l",
    "label": "Journal Entry List",
    "action": "javascript",
    "code": "window.location.href = \"https://xyz.com/desk#List/Journal%20Entry/List\";",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "p e l",
    "label": "Payment Entry List",
    "action": "javascript",
    "code": "window.location.href = \"https://xyz.com/desk#List/Payment%20Entry/List\";",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "n s i",
    "label": "New Sales Invoice",
    "action": "javascript",
    "code": "window.location.href = \"https://xyz.com/desk#Form/Sales%20Invoice/New%20Sales%20Invoice%201\";",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "n p i",
    "label": "New Purchase Invoice",
    "action": "javascript",
    "code": "window.location.href = \"https://xyz.com/desk#Form/Purchase%20Invoice/New%20Purchase%20Invoice%201\";",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "n p e",
    "label": "New Payment Entry",
    "action": "javascript",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "code": "window.location.href = \"https://xyz.com/desk#Form/Journal%20Entry/New%20Payment%20Entry%201\";",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "n j e",
    "label": "New Journal Entry",
    "action": "javascript",
    "code": "window.location.href = \"https://xyz.com/desk#Form/Journal%20Entry/New%20Journal%20Entry%201\";",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "o b r",
    "label": "Open Bank Reconciliation",
    "action": "javascript",
    "code": "window.location.href = \"https://xyz.com/desk#bank-reconciliation\";",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "b r s",
    "label": "Bank Reconciliation Statement",
    "action": "javascript",
    "code": "window.location.href = \"https://xyz.com/desk#query-report/Bank%20Reconciliation%20Statement\";",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "b t l",
    "label": "Bank Transaction List",
    "action": "javascript",
    "code": "window.location.href = \"https://xyz.com/desk#List/Bank%20Transaction/List\";",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "s o l",
    "label": "Sales Order List",
    "action": "javascript",
    "code": "window.location.href = \"https://xyz.com/desk#List/Sales%20Order/List\";",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "p o l",
    "label": "Purchase Order List",
    "action": "javascript",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "code": "window.location.href = \"https://xyz.com/desk#List/Purchase%20Order/List\";",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "n s o",
    "label": "New Sales Order",
    "action": "javascript",
    "code": "window.location.href = \"https://xyz.com/desk#Form/Sales%20Order/New%20Sales%20Order%201\";",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "n p o",
    "label": "New Purchase Order",
    "action": "javascript",
    "code": "window.location.href = \"https://xyz.com/desk#Form/Purchase%20Order/New%20Purchase%20Order%201\";",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "r g l",
    "label": "Report General Ledger",
    "action": "javascript",
    "code": "window.location.href = \"https://xyz.com/desk#query-report/General%20Ledger\";",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "r a r",
    "label": "Report Accounts Receivable",
    "action": "javascript",
    "code": "window.location.href = \"https://xyz.com/desk#query-report/Accounts%20Receivable\";",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "r a p",
    "label": "Report Accounts Payable",
    "action": "javascript",
    "code": "window.location.href = \"https://xyz.com/desk#query-report/Accounts%20Payable\";",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "r t b",
    "label": "Report Trial Balance",
    "action": "javascript",
    "code": "window.location.href = \"https://xyz.com/desk#query-report/Trial%20Balance\";",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "n e w",
    "label": "Open in new tab",
    "action": "javascript",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "code": "window.open(\"https://xyz.com/desk#\", '_blank').focus();",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "sites": "*xyz.com*",
    "sitesArray": [
      "*xyz.com*"
    ],
    "key": "r t d",
    "label": "Report Ordered Items to be Delivered",
    "action": "javascript",
    "blacklist": "whitelist",
    "code": "window.location.href = \"https://xyz.com/desk#query-report/Ordered%20Items%20To%20Be%20Delivered%20-%20SMC\";"
  },
  {
    "key": "r s r",
    "label": "Report GST Sales Register",
    "action": "javascript",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "code": "window.location.href = \"https://xyz.com/desk#query-report/GST%20Itemised%20Sales%20Register%20-%20SMC\";",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "r s i",
    "label": "Report GST Itemised Sales Register",
    "action": "javascript",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "code": "window.location.href = \"https://xyz.com/desk#query-report/GST%20Itemised%20Sales%20Register%20-%20SMC\";",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "r p r",
    "label": "Report GST Purchase Register",
    "action": "javascript",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "code": "window.location.href = \"https://xyz.com/desk#query-report/GST%20Purchase%20Register%20-%20SMC\";",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "r p i",
    "label": "Report GST Itemised Purchase Register",
    "action": "javascript",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "code": "window.location.href = \"https://xyz.com/desk#query-report/GST%20Itemised%20Purchase%20Register%20-%20SMC\";",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "f f",
    "label": "focus",
    "action": "javascript",
    "code": "$('[data-fieldname=\"name\"]').focus()",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "e 1",
    "label": "Go to SMC Email",
    "action": "gototab",
    "currentWindow": true,
    "matchurl": "https://mail.google.com/mail/u/1*",
    "openurl": "https://mail.google.com/mail/u/1/",
    "blacklist": false,
    "sites": "",
    "sitesArray": [
      ""
    ]
  },
  {
    "key": "e 2",
    "label": "Go to Smit Email",
    "action": "gototab",
    "currentWindow": true,
    "matchurl": "https://mail.google.com/mail/u/0*",
    "openurl": "https://mail.google.com/mail/u/0/",
    "sites": "",
    "sitesArray": [
      ""
    ]
  },
  {
    "action": "back",
    "key": "k",
    "label": "Go Back",
    "sites": "",
    "sitesArray": [
      ""
    ]
  },
  {
    "key": "g c",
    "label": "Go to Customer List",
    "action": "javascript",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "code": "window.location.href = \"https://xyz.com/desk#List/Customer/List\";",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "g s",
    "label": "Go to Supplier List",
    "action": "javascript",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "code": "window.location.href = \"https://xyz.com/desk#List/Supplier/List\";",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "g i",
    "label": "Go to Item List",
    "action": "javascript",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "code": "window.location.href = \"https://xyz.com/desk#List/Item/List\";",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "n c u",
    "label": "New Customer",
    "action": "javascript",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "code": "window.location.href = \"https://xyz.com/desk#Form/Customer/New%20Customer%201\";",
    "sitesArray": [
      "*xyz.com*"
    ]
  },
  {
    "key": "n s u",
    "label": "New Supplier",
    "action": "javascript",
    "blacklist": "whitelist",
    "sites": "*xyz.com*",
    "code": "window.location.href = \"https://xyz.com/desk#Form/Supplier/New%20Supplier%201\";",
    "sitesArray": [
      "*xyz.com*"
    ]
  }
]

Do share your tips and comments if any.

3 Likes