What happened to WFx?

… and how do I get it back?

Chrome has removed the WFx for WorkFlowy extension from the Chrome Web Store claiming it “violates of Chrome Web Store policy”. The first time I heard about this was in an automated email informing me AFTER the removal, claiming I had failed to reply in time to an “earlier email”. THERE WAS NO EARLIER EMAIL! Had there been one, I most certainly would have noticed and immediately replied. I wrote the extension, but I’m a user too, and I’ve grown to depend on it, just like you. If you are interested, I will expand on the ugly details of this ordeal at the end of this post. But for now let’s get you back up, and zooming faster again.

These instructions will depend on what Chromium based browser you are using. I have broken this into two sections: 1) Chrome and Brave and 2) Edge. These are what I have installed and have tested. If you are using something else, I’m guessing the Chrome/Brave instructions will work. Please update me in comments, and I will update this post.


First things first, if you are using Chrome or Brave, you should be able to open chrome://extensions (or brave://extensions) and re-enable the extension. It should work for bit, but it will get automatically disabled again whenever the extension pings the web store looking for updates. Having to re-enable the extension may get old quickly, so with the extension enabled do the following:


  • Activate the WFx prompt, and enter wfo to open the Options page.
  • Navigate to to the MISC SETTINGS tab.
  • Click on DOWNLOAD EXPORT FILE (this file contains all your shortcut data)
  • Make note where it has been downloaded


  • Download a local copy of WFx for WorkFlowy from here
  • Extract WFx.zip to a known location.
  • Open chrome://extensions (or brave://extensions).
  • In the upper right, enable “Developer mode”
  • In the upper left, click “Load unpacked”.
  • Select the WFx folder you extracted in Step #2.
  • If all goes well, you should see a new instance of WFx at the top of the extension page
  • Disable the original store installation of WFx (this should be sorted alpha near the bottom)
  • Navigate to chrome://extensions/shortcuts (or brave://extensions/shortcuts)
  • Re-Define your keyboard shortcut for the top WFx entry by clicking the edit icon (do this even if it looks right to you)
  • Close the extension page


  • Activate the WFx prompt, and enter wfo to open the Options page
  • Navigate to to the MISC SETTINGS tab
  • Click “Choose File” (below IMPORT USER DATA)
  • Select your WFx_export txt file


The last digits of the export filename indicates the total number of shortcuts, after the date of export.


In this example, there are 62 shortcuts. If you have more than 120 shortcuts you will need to import once for each multiple of 120 you have. This is due to a write operations limit of the Chrome extension API. Chrome storage can only be written to 120 times per minute. So for example, I have 308 shortcuts, and I have to import my file 3 times. You must wait 60 seconds between each import.

Also because of this, the import function will not overwrite (or duplicate) any existing shortcut data. So if you already have a shortcut called “x” defined, the shortcut of “x” in your backup will be skipped on import.


The extension will work just like installing from the Store (the code is identical) with one important caveat. Your shortcut data will not sync to other computers using the same login. You will need to repeat the local install process for each computer. Any subsequent changes to any local install will remain with that install, and will not sync.


If you installed WFx from the Microsoft Store you should be OK, WFx has not been removed by Microsoft. As a precaution, I HIGHLY RECOMMEND you backup your shortcut data. See these instructions.

Users that installed WFx into Edge from the Chrome Web Store are reporting they cannot re-enable the extension. Unfortunately, this means you have lost access to your shortcut data for now, unless you made a backup previously using the export function in settings. So you will have to recreate your shortcut data. I recommend you install WFx from the Microsoft Store . Then be sure to make periodic backups of shortcut data as noted above.

If you have a shortcuts export/backup file, follow the instructions from IMPORT SHORTCUTS INTO YOUR LOCAL COPY and read IMORTANT NOTES ABOUT IMPORT above in the Chrome/Brave section.


Here is a screenshot of the FIRST correspondence from Chrome from the email address

There is no indication as to why this is happening, but there is a reference to an “earlier email” that does not exist. I immediately clicked the Support Page link, and was led through a series questions. I ended up selecting the “Did not receive any email” option, which generated a “Check your spam folder” response. I did just that, expecting to find nothing, after all I hadn’t set up any spam filters on this GMAIL account, and I was sure Chrome wouldn’t block Chrome Web Store email. After all, this email certainly didn’t get blocked. And of course, as expected there was nothing in Spam.

I indicated “no spam” and the form said someone would contact me. A few hours later that did happen, though it appears to be automated as well. I suspect the original “violation” was probably a bot scanning the 100’s of thousands of Chrome extensions. To date, I have yet to hear from an actual human.

OK well at least I now know what the “violation” is. Oh and for good measure, they ask me to check my spam folder again. I guess this is tacit admission that they are in fact supposed to email me before they remove the extension. In fact, they do admit finding spam as “sometimes there could be a possibility”. Yup, that would be really cool if they did email you before they remove your extension.

You can read about the infamous tabs permission here in developer documentation. At the top they tell you why you need to request the tabs permission:

Yep, I require access to the URL, because Find Tab or Create (FTOC) uses that to see if you need to jump to an existing tab or create a new one. The truly baffling part: the “violation” is that I’m using “query, create and update” methods. (That is true!) Baffling because just below, the manifest section, is the methods section… which documents all the great stuff you can do with the tabs permission… things like query, create and update tabs! Go figure!

Here’s the top part of the “methods” section of the API documentation.. I cut it off because it is really long.

Also worth noting, the tabs permission is powerful. I understand why they guard it. WFx queries for URLs only, and does nothing else. It DOES NOT collect, save, transfer or do anything with your URLs. , other than figure out if the URL your shortcut references exists or not, and then it does the FTOC thing. I don’t even use Google Analytics in the extension.

So this is where we sit… still waiting for a response from Chrome from a real human.

Clip To WorkFlowy v2.0

Clip To WorkFlowy just got a long overdue update. For awhile now, there actually have been two versions of the extension… the second one is called Clip To WorkFlowy GO. Well, all the “GO” goodness is being rolling into the original, and GO is being retired. It still works the same…. web page title in the bullet with the url tucked into the note.

What’s NEW?

The “GO” part…

The extension will search your existing Chrome tabs and windows looking for WorkFlowy, and automatically go to the first one it finds. If there are none, it creates a new WorkFlowy tab and goes there. If you are using WorkFlowy’s Desktop app, well then we need to talk about all the reasons you shouldn’t… but I digress. If you are using the Desktop App this feature may annoy you, so you can turn it off in Options.

The “GO” back part…

There is also a new keyboard shortcut called “Toggle Last Tab”. This makes quick work of returning to the tab you just clipped. It also works throughout Chrome, so make sure you set the shortcut and remember it!
To set the keyboard shortcuts Right Click the extension icon and select “Options”.

Selected Text. Finally.

Sorry it took so long, but now you can select text on the web page and it appears in your WorkFlowy note after the url. When you do, the url will be prepended with an ellipsis, giving a visual indicator there is more text to see.

A Little Customization for Internal WorkFlowy Links

You can customize the “See: ” text to your liking, and toggle the “Disable tags” feature too. Also when, you clip inside WorkFlowy, you’ll see a “toast” banner message confirming your clip is ready for pasting.

That’s it! Get it here. Happy clipping, Workflowians.

Sorting Bullets in WorkFlowy, Easy as 1-2-3

1. Zoom on a bullet.

2. Click on the sortWF bookmarklet or use the keyboard shortcut script.

3. Select a sort button and your list is automagically sorted.

Details, Schmeetails…

  • Only the zoom level children are sorted.
  • Grandchildren stay with their parents, but are not sorted.
  • Completed children are sorted, even when hidden.
  • Short lists will sort instantly. Lists of 100s of children may take a few seconds.
  • After sorting is complete, a banner message confirms the sort.
  • Undo the sort using WorkFlowy’s undo icon or keyboard shortcut.
  • For transparency, the bookmarklet will not sort if search is active.
  • To limit the load on WorkFlowy’s servers, the maximum number of children that can be sorted is 400.


  • Go here for the bookmarklet you can drag to your bookmarks bar.
  • To use the keyboard shortcut Ctrl+Shft+S, you need a script manager like Tampermonkey, and then install this script.

Happy sorting, WorkFlowians!

TagIndex Bookmarklet for WorkFlowy: Version 2.0

The TagIndex bookmarklet has been updated to version 2.0, and it’s the easiest and fastest TagIndex bookmarklet yet. Now, with just one click your index is created instantly in a new top bullet.
Screenshot courtesy of Frank Degenaar.

To create an index of all your WorkFlowy tags simply activate from your home page. Or zoom on a bullet, and the bookmarklet creates an index of all tags from the zoom parent’s children.

Get the latest version here.

WorkFlowy to NEW Google Calendar

The WorkFlowy to Google Calendar Chrome extension has been updated to support the new Google Calendar format.

That’s the good news.

The bad news is I haven’t figured out how to hack into Google’s Quick Add parser using the same lightweight, no permissions method as before. So for now, I’ve opted to keep things light and permission-free. The trade-offs are:

  • No date parsing, new events default to today, in the next half hour time slot.
  • Default event duration is hard coded at 30 minutes.
  • Selected text has been disabled.
  • In the future, date parsing is possible, but it will require an extensive rewrite.

If you have the extension installed it will update automatically. If not, head to the Chrome Web Store.

But I’m classic!

If you are still clinging to Classic Google Calendar, install the WorkFlowy to Classic Google Calendar bookmarklet. Enjoy all that date parsing magic while it lasts.

But I don’t like extensions!

Likewise, if you don’t use Chrome or extensions, but are using the New Google Calendar, install this WorkFlowy to Google Calendar bookmarklet.

Tag Index Bookmarklet v1.5… Mo’ Better

Tag Index is by far my most popular bookmarklet, so I decided it could use a little love.

What is the Tag Index bookmarklet?

It simply creates a list of all your WorkFlowy tags from your entire outline, or confine things to just a bullet and its descendants. You paste the tag index into a bullet or note, giving you quick-clicking access to your tags via the index. Read about it in this WorkFlowy blog post.

The original version created the tag index in WorkFlowy’s search box… a hack to get around some restrictions. Specifically if your index was really big, it didn’t fit into Chrome’s JavaScript alert box… but enough of the technical mumbo-jumbo.

The new version uses WorkFlowy’s native alert, tag index in full view, ready to copy:

So now it’s: Activate. Copy. Close. Paste.

Mo’ better.

Click here to go to the Tag Index installation page

WorkFlowy to Google Calendar v2.0

My WorkFlowy to Google Calendar Chrome extension has updated to version 2.0 with some nice enhancements. WorkFlowy to Google Calendar let’s you quickly create Google Calendar events from WorkFlowy bullets.

Just zoom on a bullet, click the toolbar icon, and let Google Calendar’s Quick Add parser do the rest of the work:


Version 2.0 adds the following features:

Works on any webpage, not just WorkFlowy.

Select event info on any webpage and utilize Google Calendar’s powerful Quick Add parser to intelligently add events, and reduce the time you spend typing.


Keyboard Shortcut Capable!

Scroll to the bottom of chrome://extensions to define your own keyboard shortcut. (I use Alt+G) If desired, you can hide the extension icon in the toolbar by right clicking the icon and selecting “Hide in Chrome Menu”, and be done with all that pesky icon clicking. See Keyboard Shortcuts for Google Chrome Extensions for more info.

Update Sept 10, 2016: Now with right click menu access too!

Add your event to any calendar on the first try!

Previously WorkFlowy to Google Calendar was restricted to your default calendar. In order to change calendars you had to save the event first, and then edit it again. Now you can change the calendar without having to edit the event twice.

The rest of WorkFlowy to Google Calendar’s goodness is still there.

  • Google Calendar’s powerful Quick Add parser automatically defines the what, where, and when.
  • Override the bullet or page title by selecting text on the page instead.
  • WorkFlowy to Google Calendar will always automatically put a handy link back to your WorkFlowy bullet (or webpage) in the event note.
  • A great way to create alarms for WorkFlowy items!

Head over to the Chrome Web Store for more details and installation. If you’ve already installed the extension, it will update automatically.

No Google Chrome? Get the bookmarklet version instead.

Chrome 49: What’s Up With All These Icons In My Toolbar?

Over the last few weeks, Google Chrome has rolled out Version 49, which contains a major change in the way extension icons are displayed in the upper right corner of your browser window. google-chrome-icon-63602

I was updated two weeks ago, and initially I hated it. I’ve changed my tune, because (without fanfare) they tucked in a long overdue feature. The result is, ironically enough, a much cleaner toolbar, if you prefer your extensions with keyboard shortcuts (and really you should) I’ll get to that in a bit. First some background.

Why the change?

In one word: Visibility. Some applications will “side load” extensions without your knowledge. The Chrome developers also know many users don’t visit their chrome://extensions page very often (if at all), and are unaware of what is lurking, and potentially wasting resources.

What is the change?

Initially, Chrome 49 moves all extension icons to the toolbar forcing you to deal with them. It’s pretty easy to show and hide them as you see fit. You can right click on an icon and select “Hide in Chrome menu”. Hidden icons aren’t all that hidden. They now appear at the top of the menu when you click the hamburger icon. You can also drag an icon onto the Hamburger icon and then drag it to the top of the menu… and vice versa.
2016-03-06 14_43_32-
I’ve grown to like this setup. With a right click, you get quick access to extension options without the need to scroll through a list of extensions. Only enabled extensions appear in the menu however, so to access disabled extensions you’ll still need to type chrome://extensions into the addressbar, or click on More Tools > Extensions in the menu.

Which extensions should I hide?

To clarify things, let’s break Chrome extensions into 3 groups:
Browser Action, Page Action & Other

Browser Actions:

2016-03-06 13_57_17-2016-03-06 13_51_22-

  • The icons to the right of the Omnibar… the ones you are used to seeing.
  • They are active on any web page you visit.
  • You can assign keyboard shortcuts to them.
  • Browser Actions get the long overdue feature. You can now assign keyboard shortcuts AND hide the icon. Before, when you hid a Browser Action icon, you disabled the keyboard shortcut. This never made any sense. If you are keyboard ninja and a toolbar minimalist, Chrome 49 will make you happy.
  • Of course, you can still keep them visible AND have keyboard access too.
  • Browser Actions may show status with an animated icon or badge, in which case you probably want to keep those visible.

Page Actions:

2016-03-06 13_51_22-

  • Pre-Chrome 49, these icons appeared in the Omnibar when certain rules, defined by the extension, were met.
  • For example, they appeared only when visiting a certain domain, or if an RSS feed was available.
  • Chrome 49’s biggest effect is on Page Action icons, moving them to the right with Browser Action icons.
  • Now they always show regardless of whether those conditions are met. (if not met the icon is grayed out)
  • This is a big step backwards, adding needless clutter to the toolbar, imho.
  • The best choice for Page Action extensions? Show them.


  • Everything else.
  • Pre-Chrome 49 these were only accessible by visiting chrome://extensions.
  • Hide ’em all.

Happy hiding, Chromians!

Time Tagging in WorkFlowy

Does any of this describe you?

  • Need a time estimate for that next big project?
  • Could use a reality check on that ambitious @today list?
  • Maybe you’d like to track billable hours?
  • Or perhaps you’re simply a lifelogger, Pomodoro counter or all-around Time Nazi?

WorkFlowy and WFcount offer a simple solution: Time Tags


What is a Time Tag?

It’s a WorkFlowy tag, starting with “#” followed by any number of digits, and ending with an ‘h’ for hours or an ‘m’ for minutes. Like this:

  • #2h = 2 hours
  • #15m = 15 minutes
  • Combine them: #2h #15m = 2 hours, 15 minutes
  • This works too: #135m

Just Click to Count

With a single click, the WFcount bookmarklet adds up the visible Time Tags and displays the total time.
Time Tag Examples

Simple. Intuitive. Fast.

Veritably WorkFlowy-ish!


Go to the original WFcount blog post.

Time Output Option:

The default output format is:
“Total Time = 2h 15m”.

If you’d like hours only (perhaps to plug into a spreadsheet) you can edit the bookmarklet code as follows: Near the beginning, change “timeFormat=0” to “timeFormat=1”.

With this setting, WFcount will generate hours out to two decimal places like this:
“Total Hours = 2.25”

Happy Time Tagging!

Count Stuff in WorkFlowy

EDIT December 2019:
• WFCount has been discontinued.
• The replacements are the Tag Counter Bookmarklet and the Time Tag Counter Bookmarklet.

With the WFcount Bookmarklet.

Von Tag!

…Two Tags!

……Tree Tags!

………Ah, Ah, Ah!

WFcount can count like a purple Muppet (only just WorkFlowy stuff, like bullets, parents, children, completed items and tags).

It works on a very simple premise: count what is visible. So you control what gets counted by expanding, collapsing and zooming on bullets. Then click on the bookmarklet to get a summary of your counts.

Update Feb 9, 2016: Now with Time Tags!

Here’s what it looks like…

WFcount Bookmarklet


  • When zoomed, double clicking the bullet title will toggle expand/collapse of all children.
  • When viewing your WorkFlowy home page, double clicking “workflowy” will do the same. (Handy if you want to count everything in your WorkFlowy castle.)
  • Alternately, either zoomed or from your Home page, you can search for “@ OR #” (no quotes) to reveal all your tags. This method can be preferable to expanding all, especially if you wish to preserve the expand/collapse state of some of your nodes.


  • Opens in a small browser window (see the screenshot above)
  • Can selectively copy count information.
  • Leave the window open and it will append count summaries in that window.
  • Monospace font
  • Click here for a link you can drag to your Bookmarks Bar.

Happy counting arithmomaniacs! Ah, Ah, Ah!