Commands are a way to take actions from eesel:

With Commands you can:

  • Create a new Trello or Asana task

  • Join your next Zoom call

  • Send an email

...and more.

How do I use Commands?

Press / in eesel. The simplest commands are like a shortcut to a URL. For example, /figma new goes to https://www.figma.com/file/new.

Some commands also take in parameters. These Commands send you to different URLs based on the parameters you give. For example, /linkedin search has a query parameter so:

  • /linkedin search bob goes to https://www.linkedin.com/search/results/all/?keywords=bob

  • /linkedin search jane goes to https://www.linkedin.com/search/results/all/?keywords=jane

Can I create my own Commands?

Commands are entirely configurable. You can create Commands for anything inside the browser - even your internal company tools.

Let's give it a try with an example. Let's say we want to make a command to translate a word from English to French.

1. Open the new Command view

Click on the "+" in the sidebar, and then select New command:

2. Decide on the label of the Command.

You'll land on the new Command view. Start by picking a label for the command. The label is what you'll type after the / to execute your command.

/translate sounds like a good label. Note that defining the word this Command will take in and translate comes later.

3. Find the page to open with the Command

Commands open URLs. So the next step is to determine which URL our Command will open. We'll use Google Translate to translate english to french. After playing around with Google Translate, we can figure out that the URL pattern is something like https://translate.google.com/#en|fr|hello to translate hello. Let's start by putting this URL in the Page to open field:

For a more detailed run through on this step, checkout this guide.

4. Set up the parameter
We need to somehow change the URL depending on the word to translate - https://translate.google.com/#en|fr|hello to translate hello or https://translate.google.com/#en|fr|bye to translate bye.

That's where parameters come in. We need to define a word parameter that our /translate command will take in to then open up the corresponding URL. This can be done by replacing parts of the URL with a chosen parameter name inside curly brackets. So for our translate example we'll do: http://translate.google.com/#en|fr|{word}.

5. Voila!

Don't forget to save your Command. From there, you can type /translate magic in eesel to get the French translation.

🤫 Psst, there's more.

Optional query parameters

You can append any parameters to a command with name=value and eesel will automatically convert them into query parameters.

For example, imagine you've configured a GitHub command to take in an organisation and repository name. So you'd usually do something like, /github issue new octo-org octo-repo.

You could also execute /github issue new octo-org octo-repo title="Bug" labels=bug,idea. This would automatically open up https://github.com/octo-org/octo-repo/issues/new?labels=bug%2Cidea&title=Bug. GitHub reads those query parameters and then creates a new issue with the labels and title filled accordingly.

Advanced Actions

For a more involved workflow, you can inject JavaScript on the page to take actions on your behalf. Imagine: eesel goes to a page, clicks a button, fills out an input text and clicks done 🤯

For example, I want to make a Notion Command that creates a new card in a specific backlog. So I add the backlog's URL as the page to open, and then under 'Advanced actions', write a JS snippet that will click on the "New" button in Notion after the page is opened.

🙏 Help us make this better

It's early days for Commands and your feedback is really important. Please let us know if you have any thoughts on all this - or need help creating a Command :)

Did this answer your question?