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.

Track Your Brand With Flowdock

Mikael Roos January 11th, 2012

Flowdock is an excellent tool for following your brand on the web with your team. Here’s a quick guide to cover the major steps to get your team in touch with your brand.

1. React To Tweets as a Team

First and foremost, you should track whenever someone mentions your brand on Twitter. We use it for example to detect if someone is asking something about us, even when they’re not directly reaching out to us.

Tweet

This way we can reply quickly, or have an internal chat about the topic.

Secondly, you can follow the Twitter account of your own brand, just to keep up-to-date about when someone from your team has Tweeted something.

Team Inbox Twitter Settings

To set these up, head on to Team Inbox settings, type in your brand, and click to follow the keyword, type it again, and click to follow the user. You can even filter out any replies and retweets if you like.

2. Subscribe to Google Alerts

Another great way to stay updated about what people are writing about your brand on the web, is using Google Alerts with Flowdock.

To set Google Alerts up with your Flowdock flow, follow these instructions:

  1. Get the email address of your flow (you can find it in Team Inbox settings)
  2. Go to google.com/alerts
  3. IMPORTANT STEP: If you’ve logged in to google, log out! Google lets you choose a custom e-mail address for the alerts only if you’re not logged in
  4. Fill in the form: It’s best to start with “All results” and then change it if you’re getting too many results. Google Alerts Form
  5. Click Submit
  6. A confirmation e-mail should pop up in Team Inbox. Verify the email address by clicking the link in the message. Google Alerts Confirm

You’re all set and receiving Google Alert notifications. Now you won’t miss what the public is saying about your product or service.

3. Feedback Should Flow To Your Flow

Feedback is super important for any endeavor. Flowdock is a great place to funnel into all feedback. There are 3 great ways to channel feedback to Flowdock.

  1. Automatically forward your feedback emails
    If you have a feedback email address (like feedback@yourcompany.com), make sure that all e-mail sent to it, gets also sent to your Flowdock flow. How this can be done depends on your email service provider. If you’re using Google Apps, check out these instructions (section “To add new members”).
  2. Feedback forms
    We use a simple feedback form right within the app from which the feedback is sent to our Flowdock flow. To make this happen, it’s often easiest to use any e-mail capable feedback form to send the feedback to your flow. You can pre-tag the feedback either by using a #hashtag in the subject line or by modifying the e-mail address of the flow in the following way: let’s say your Flowdock subdomain is “company”, the name of your flow is “main” and you want feedback to get tagged with the #feedback tag, you can use the e-mail address main+feedback@company.flowdock.com. If you want to code something yourself, or e-mail isn’t a choice, check out the API.
  3. Feedback services (UserVoice, Get Satisfaction etc)
    If you’re using a feedback service of some sort, it’s usually easiest to add a user to that service using the email address of the Flowdock flow as the e-mail address of the account. Then just configure the notification settings of the service to suit your needs. We use this approach to work with our own Uservoice page.

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 .