Getting Started with Almond

Welcome to Almond!

This short introduction will teach you the basics of using your Almond.

What is Almond?

Almond is the open virtual assistant that you can access through your phone and the web. It helps you configure your devices, accounts, and public services, retrieve data from them, and execute actions on them. It also lets you share your data with your friends and families easily. Oh, by the way, it's open source and it protects your privacy!

What is Thingpedia?

Almond builds on top of Thingpedia, an encyclopedia of applications for the Internet services and IoT devices. Just like how Wikipedia stores knowledge about the world, Thingpedia stores knowledge about devices in the world. Wikipedia is organized around articles; Thingpedia is organized around devices, such as Twitter, a light bulb, or a thermostat. It creates an interoperable web of devices and let users connect them in natural language.

What can I do with Almond?

Almond supports simple commands including actions (eg. post on twitter), one-time queries (eg. search tweets), time-based rules (eg. tweet every hour), and standing queries (eg. monitor new tweets). On top of one-time queries and standing queries, filters can be used to further refine the commands (eg. search tweets from bob, monitor new tweets about almond).

Almond also supports compound commands which interoperate functions from different devices. For example, you can ask Almond to send me a slack message if bob tweets, create a meme and tweet it.

Note that you will need to link your Twitter and Slack account with Almond to try these examples. In the following, we will have a step-by-step example to show you how to configure that.

If you do not want to go through it now, you can try Almond in My Almond page or here if you don't have an account yet. You will be able to use public services such as news, translation, weather, without configuring any device. Here are some example commands you can try.

  • get a cat picture
  • show me the weather in San Francisco?
  • get new york times headlines
  • translate a sentence to Chinese

Step-by-step example: Twitter to Almond

This example will guide you through filtering your Twitter feed and redirect to Almond. At the end of the example, it will tell you about any tweet in your stream containing the hashtag "Stanford".

Step 0: Register for Almond

You probably already have an account at almond.stanford.edu, but if you did not, you should register and then come back.

Step 1: Twitter

Go to My Almond. You'll see a list of your accounts that your Almond knows about by clicking on "Device and Accounts". At this point, it probably does not know much, so we will teach him about Twitter.

To that extent, just click on Add New Account and then on Twitter Account.

After you log in to Twitter and grant permission, you will be redirected to your Almond page, which now includes Twitter.

Step 3: Tell Almond what to do

Now Almond connects to your Twitter account. You can use the chat interface under My Almond to write the following to Almond.

notify me if i receive a tweet with hashtag #Stanford

Follow the prompts to confirm, and congrats! You have your first standing query. Now you will be notified whenever you open Web Almond of all tweets with hashtags #Stanford.

Some other commands you can try:

  • get recent tweets from users you follow: get tweets
  • get your recent tweets: get my tweets
  • post "hello" on your Twitter (if you don't mind): tweet hello
  • follow our Twitter account: follow @almondstanford on Twitter

Whenever you're tired of Almond telling you about Stanford tweets, you can disable the rule by going to "Active Commands" section under My Almond, looking for "Twitter ⇒ Notification", and clicking "Stop".

And if you want to stop Almond from touching your Twitter altogether, you can also do so from your Almond page, by forgetting your Twitter account.