The Blog

The what's what of the Flowdock atmosphere.

JIRA 5 Launches With Improved Flowdock Notifications Including Issue Change Log

Otto Hilska February 22nd, 2012

Atlassian just announced the availability of a major new release, JIRA 5. The Flowdock plugin is already compatible with it, and as a much-requested update it now shows a more detailed issue change log.

Last year was great for many agile development teams using Atlassian’s products: Confluence’s new rich text editor makes it by far the most usable wiki platform, and hosted Atlassian OnDemand (as evolved from JIRA Studio) is a simple way to get access to JIRA and Confluence.

Last year we also launched the first iterations of our JIRA, Confluence, BitBucket and Bamboo integrations. It made us the only group chat based collaboration app, that works perfectly together with all Atlassian’s major products.

As we keep improving the integrations, your feedback is valuable. Please let us know if you can think of a use case that we currently don’t support!

Introduction to Push API

Antti Pitkänen February 22nd, 2012

Push API button

The Flowdock Push API is for posting chat or team inbox messages into a specific flow without user authentication. It uses the flow’s API token for authentication, making it a quick and easy way to get started using our APIs. If you need more than just anonymous posting capabilities, use the REST API.

Flowdock API Gem

The Flowdock API gem now supports posting chat messages and handles JSON responses from the API. The major update in the APIs required us to do some refactoring for the gem. However, it still works the same way as before and deprecated features are documented in the README.

Here’s an example of posting a chat message with the gem:

# use the flow's API token and set your nick for Chat posting
flow = Flowdock::Flow.new(:api_token => "deadbeefdeadbeef", :external_user_name => "Accounting")

# send message to Chat
flow.push_to_chat(:content => "@everyone This is an automatic reminder to fill in your hours for this month!", :tags => ["hours", "accounting"])

API Responses

Besides adding Chat posting to the Push API, we also decided to unify the responses of our APIs. Now the responses are always in JSON format and follow a simple pattern so that you know what to expect as a response in error situations. See General Information for details about the format.

What’s next?

Releasing the new API was just a start. In addition to improving our skills in nano-brewing, we are planning and implementing new features to the APIs. In the Push API you can expect to see support for message attachments very soon.

API Documentation & Indian Pale Ale

Mikael Roos February 17th, 2012

Commemorative beer for the launch: Flowdock API IPA

We launched the new Flowdock API a couple of days ago. Now, we have released the API documentation source on GitHub. The source consists of Markdown files which are used to render the official docs at www.flowdock.com/api. If you notice any errors in the docs or wish to improve them in any way feel free to issue a pull request.

Yesterday we posted an intro to the streaming API and we’ll continue the write-ups next week, but this Friday we are reserving for celebrations.

Any self-respecting software team needs some side-projects, things to do in times of frustration or while just waiting for tests or deployments to finish. Well, we’ve recently got going a budding hobby in nano-brewing. And today, we get to taste the second result of our brewing: The Flowdock API IPA.

This unfiltered Indian-style pale ale is rich and strong in color, fruity and seducing in odor and has a brisk, tangy taste with a modern aftertaste.

Only a dozen bottles were produced, so a selected few get to enjoy a tasting.

Thanks to everyone who have already started hacking and mashing up things with the API. We love to hear about all the projects.

Introduction to the New Streaming API

Ville Lautanala February 16th, 2012

Today we’re introducing a new Streaming API, which we hope will ease the process of building your own Flowdock clients and bots. Streaming API allows real-time access to everything that happens inside a flow.

Using the API

Streaming API comes in two flavours: carriage-return delimited JSON stream and HTML5 Event-Stream.

If you have used the Twitter Streaming API, you should be familiar with our JSON Stream. You can try it out using curl.

$ curl -i -H "Accept: application/json" https://<token>@stream.flowdock.com/flows/<organization>/<flow>
HTTP/1.1 200 OK
Server: Florence
Cache-Control: no-cache
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive


{"event":"message","tags":[],"uuid":"pWkb-CPeyFG66ns-","id":142790,"flow":"example:main","content":"hello world","sent":1329307314476,"app":"chat","attachments":[],"user":"1"}
{"event":"message","tags":[],"uuid":"uk7TFsf75WEJbWsy","id":142791,"flow":"example:main","content":"test","sent":1329307316726,"app":"chat","attachments":[],"user":"1"}
...

Event-Stream is part of HTML5 Server-Sent Events specification. In our streaming API each event contains a JSON encoded message as data. To use Event-Stream, set Accept header to text/event-stream. If this isn’t possible, you can also use accept query parameter. In addition to support in modern browsers, there are client libraries, and it isn’t hard to roll your own.

Under the hood

We built a HTTP server using CoffeeScript and NodeJS to run our Streaming API. Combined with a little Redis and authentication magic, we were ready to go.

As a new message is sent to Flowdock, we process the message and publish it to the corresponding flow’s Redis pub/sub channel. When a new client connects, our server subscribes to flow channels the client wishes to listen to. Every time a subscriber receives a new message, we will check if there are any connected clients for that flow, and if so we will dispatch the message down to existing connection in the appropriate JSON/Event-Stream format.

We’re looking forward to see what amazing applications can be built on top of the Streaming API. If you have any issues or feedback, feel free to contact us.

New API: Push + REST + Streaming

Mikael Roos February 15th, 2012

It’s hacking time! The new Flowdock API is out now. We are currently in the process of polishing up the documentation, which will be put onto a public repo on Github a little later for everyone to fine-tune. At this point we are still actively editing and expanding the docs.

Here are the new APIs as of now:

REST APIRead the docs

  • Authenticate as a Flowdock user
  • Get flow data
  • Post to chat or update status
  • Great for Flowdock clients, user-based integrations or two-way bots.

Streaming APIRead the docs

  • Listen to messages
  • Great whenever you want to render the conversation or parse things from what people say.

Push APIRead the docs

  • Post to Team Inbox or Chat without identifying as a user
  • Great for notifications or simple bots which do not need to listen to messages.

Things to come

In the Following days, we will write up the different parts of the API in greater detail. We will also post about these awesome things:

Stay tuned! And tell us what you would like to see next via team@flowdock.com.

GitHub Pull Requests and Issues in Flowdock

Ville Lautanala November 10th, 2011

We have often been asked about how GitHub Issues content could be aggregated in Flowdock. This wasn’t really possible until a few weeks ago as GitHub added event hooks to pretty much everything.

Issues, pull requests, wiki updates, and comments are now pushed to Flowdock in addition to commits. We have been using them ourselves, and it has significantly reduced the time it takes to react to a pull request.

GitHub content in Flowdock

The configuration can be a bit of work until GitHub gets its revamped hooks admin out. If you have an existing Flowdock hook in your GitHub repo, you have to poke the GitHub API a bit.

Configuring new hooks don’t require anything special. Just follow the instructions from our help page and you’re done.

Hubot On Flowdock

Mikael Roos November 9th, 2011

Hubot, Github‘s awesome chat bot was open-sourced a couple weeks ago. That’s when we jumped in and made it talk with Flowdock. Hubot has some pretty cool abilities. To get your very own Flowdock Hubot:

  1. Create a Hubot user for your Flowdock company.
  2. Follow these deployment instructions.

Among the built-in abilities are:

  • show a map for an address (“hubot map me …”)
  • show an image based on keywords (“hubot image me …”)
  • show a youtube video based on keywords (“hubot youtube me …”)
  • fetch an image of a person from the web and add mustache to aforementioned picture of said person as demonstrated above, great for Movember (“hubot mustache me …”)

See the rest by saying “hubot help”. There’s tons more you can add yourself in the hubot-scripts repository.

These features also make use of our new link preview feature (currently works with images, YouTube, Google Maps and tweets).

Make Hubot Useful

Hubot can do much more than incite a laugh or two. For example, one of our users, Christopher Castle, has implemented a JIRA issue fetcher, which allows Hubot to list and search JIRA issues assigned to you.

Similar functionality for Pivotal Tracker has been implemented as well, get it here.

Atlassian OnDemand Launching with Flowdock Built In

Mikael Roos October 26th, 2011

Atlassian’s issue and project tracking tool, JIRA, has one of the most popular Flowdock integrations. Flowdock adds real-time internal discussions to JIRA and turns actions in tickets into parts of the ongoing conversation in Flowdock.

Here’s a quick 45-second video showcasing the integration.

Flowdock also has integrations to other Atlassian’s tools such as Confluence and Bitbucket.

Atlassian OnDemand

Atlassian is now launching Atlassian OnDemand. They’re moving their entire product suite to the cloud. Whether you’re looking for hosted issue tracking, agile planning, an enterprise wiki, or source control, they’ve got you covered. Atlassian OnDemand features fully-integrated cloud-based versions of all their most popular development tools to help take you from concept to launch.

Flowdock integration for JIRA is built-in in Atlassian OnDemand. Just sign up to Atlassian OnDemand and follow these instructions.

Google Apps Integration On Both Sides

Atlassian OnDemand also adds Google Apps integration to Atlassian’s products. Amongst the integration features is logging in with your Google Apps account. Since Flowdock already has the support for it, you can get true single sing-on for all three services.

» Check out the brand new Atlassian OnDemand

Major Redesign for General Improvement

Mikael Roos September 27th, 2011

At Flowdock, we’ve been mulling over user experiences and interface quite a bit lately. A while back, you might have spotted an experiment we did and wrote about in a blog post to remove the dashboard. Well, just now you might have noticed something else. Like the dashboard gone. Yup, we removed it.

Where are the user list and the mentions?!

Check out the top right corner of your screen. There’s a people icon. Click it and you’ll see the user list. The same dropdown now holds your status, and the editing controls for it.

Next, check out the little speech bubble icon. Click it, and you’ll see the mentions list. A badge bubble will emerge when there are unread stuff in there.

So, what’s new then?

Well, we added a third dropdown. All the way in the topmost, rightmost corner, we have the flows dropdown to give you quick access to your other flows. We still recommend you keep all the different flows you actively use open in different tabs at all times. We’re working on a better UI for using several flows at once.

More! We Need More!

Well, we also added full-screen chat. It’s actually pretty cool. When you resize the window narrower and narrower, the chat finally snaps into full-screen mode and the left side collapses. The same thing happens if you drag the chat wide from the middle separator. When widening the window or narrowing the chat, the left side expands. Snappity-snap!

<< Click to enlarge

One more! Please!

Well, we did add color-coding to the speech bubbles which are show in the chat when commenting on Team Inbox items. The colors are coded to the individual Team Inbox items, so it’s much easier to keep track on multiple “threads” of conversation.

That’s it! Let us know how we did in the comments, or via .

Flowdock API Out Now!

Mikael Roos August 11th, 2011

Two awesome things are going on at Flowdock today. Number one, we are about to launch a new front page with a new no-BS message: Flowdock – Team Inbox With Chat. The other thing is the Flowdock API. Flowdock thrives on integrations to other tools that the team is using. That’s why we are now launching the Flowdock API.

Version 1!

In the first version we start with a simple API enabling posting new items to Flowdock’s Team Inbox (previously called Influx). » See the API Docs

We’ve also wrapped up a Ruby Gem to get you going in just seconds if Ruby is your choice of language. » Check out the Ruby Gem and install it

Example 1: Custom Feedback Form

Here’s a quick example to get you going. Getting user feedback directly to Flowdock is great. You can talk it over quickly with your team and decide what to do.

This Sinatra app shows a feedback form and sends the feedback to your Flowdock flow using the Flowdock API Ruby Gem.

The view:

The Sinatra controller:

Example 2: FogBugz integration (no coding required!)

The Flowdock Influx API is perfect for use with any service which has web hook / url trigger functionality, such as FogBugz.

Simply by configuring the URL Triggers plugin in Fogbugz (means filling out one form), you can get nicely formatted notifications to Flowdock. We’ve created example instructions for FogBugz Cases, but you can get notifications from wiki changes etc by adding small modifications and creating new triggers.

» Check out the instructions

Example 3: Deployment notifications

Check out our new awesome deployment notification scripts using the Flowdock API.

If you implement an integration using the Flowdock API, let us know, and we’ll spread the good word!

Version 2?

What would you like to see in the Flowdock API? Here’s a few initial ideas:

  • bots! (Check out the awesome Flowdock bot implementation by the guys at MyNewsDesk).
  • fetching messages by tag – slideshow of latest #sketches ?
  • Fetching influx messages
  • Jabber integration to use Flowdock with other chat clients (See this idea/discussion in our UserVoice)

Let us know what you think via UserVoice or in the comments.