How we built the Trello Calendar Connector
Author: Jérémy Bourhis
9th June 2016
What does the Trello Calendar Connector do?
This connector will sync up Trello boards with your calendar and help you interface with your Trello cards through your calendar. Using this connector you’re able to edit your card’s due dates and names from your calendar without needing to access Trello, and you get all the benefits of other calendar events, such as notifications and the ability to visualize everything’s that’s coming up.
How do I use it?
To use the Calendar Connector, you first need to authorize the application via the Trello Calendar Connector page. Then, you can either sync a Trello board, or all boards from an organization, with one of your calendars.
For a more detailed explanation, check out our Trello Calendar Connector page.
What Will it Sync?
When told to sync an organization or board the connector will shoot off and gather up all relevant cards with future due dates, then adds events in your calendar for each of them.
At the point of syncing a board or organization with a calendar you’re given the option of whether to sync all cards from a specific board (or all of your own boards), or to sync all cards that’ve been assigned to you from a board or organization.
With this control you can choose to only add events for the cards you’re interested in, which is useful when dealing with company-wide boards. But you can still sync all the cards from your personal boards without needing to assign yourself to every card.
In order to keep data synchronized with any changes from Trello or your calendars we have decided to set up a series of webhooks for everything we wanted to keep in sync.
This was fantastic as it meant that we didn’t need to poll Trello whilst still getting timely alerts when changes are made to cards. However it also came with a caveat in the sense that multiple card events happening in rapid succession could come through in the wrong order.
We solved this problem relatively easily by using the webhook call more as a change notification than actual event data. So each time a webhook call was made we worked with data freshly pulled from Trello.
Setting up these webhooks is simple for a single board, as only one is required per board, but gets more complicated when moving on to synchronising organizations.
The difficulty with organizations is that we need to add a webhook for each board under that organization when the connection is set up. Then have a webhook for the organization to ensure that when new boards are added or removed from we are notified.
Once this is done, however, we are constantly and quickly informed of any updates to your Trello cards and can synchronize your calendar as quickly and easily as possible.
A feature we wanted to include in this connector is the ability to change the details of your Trello card by altering the event the connector has put in your calendar.
We’ve achieved this by setting up a channel using the Cronofy API to inform us of any changes to Trello-based events so we can quickly pass that through to Trello and update the card for everyone to see.
By making the event description static we were able to pack in more information than otherwise, because the decision was made to not keep descriptions synchronized. This allowed us to add the card’s assigned members and URL to the event to reduce needing to access Trello for basic information like that.
Using the Alpha API
Deleting a user account was very easy to do using bulk delete, with a single API call all of the events inserted into a user’s calendars are removed at once.
This was a great alternative to pulling down data from the calendar of what events we’ve created, only to make more API calls to delete them, and helped keep the account deletion process succinct and tidy. Ace!
We’d love to hear how you use the new Trello Calendar connector as a productivity tool to stay on top of your workload. Let us know what you think at firstname.lastname@example.org