Like Kev1000000 said, it requires the app is configured as a multi-stage app. I recommend all developers create their apps as multi-stage (setting noWindow to True in the appinfo.json). You might think that your app will only have one stage, but you never know what will happen in the future.
Developing an app that uses dashboard notifications is very easy. Designing the dashboard stage is pretty much identical to designing a full-sized card stage. There are a few widgets and styles that don't work on dashboard and popup stages, but there are ways to work around it.
When I designed the dashboard notifications for GeoStrings, I wanted people to be able to perform all necessary actions on the incoming alert without having to open up the app. However dashboards have very limited amount of space. So to accomplish this I had to implement 2 tricks:
1) For the times when there are more than 1 in-alert task at a particular location, multiple dashboards are opened simultaneously. This allows the user to see all their tasks on one screen and react to each one separately.
2) I present different views (set of actions) on a single dashboard. The initial view shows the task information (location name, distance to location) as well as a boomerang icon (to defer the alert until the next time they reach the location). And it also includes an alarm icon. By tapping this icon, a different view is loaded. This one presents the user with 6 snooze options.
Music Player (Remix), which was originally derived from the built-in music app, uses a dashboard notification in another great way. It allows the user to have quick access to their music controls. In the next-gen version of the app, I'm taking this idea to the next level.
I think more apps should definitely take advantage of this unique webOS feature. In addition to providing users notification of events, webOS dashboard notifications (and popup notifications as well) gives users a way to interact with an app in a whole new way without having to load the full app.