While many of us have been enjoying some Christmas cheer (which for our Australian team means trips to the beach and the cricket, and for our US team has meant even mixtures of sun and snow from San Francisco to the mid-west and beyond), we've still managed to find some time over the last week and a bit to ship some improvements to Accelo by taking advantage of the quieter period.
While we ship code every day and normally we'd just ship these bug fixes without writing a special blog post, we thought it might be handy to let you know about the improvements we think you'll notice (and a number of our users already have).
Our customers have told us they love how Accelo is a "learning sales". By connecting so closely with email, Accelo makes it easy to grow your client database automatically whenever you start working with a new contact at an existing client company.
A bit over a week ago, we introduced a completely rewritten email capture architecture (we needed to upgrade it to support the handling of unknown emails in the new Requests Module). This in turn has led to a number of improvements (and the odd bug).
By re-writing our pipeline, we're now able to more confidently create new client records based on their email domain, and when we find a match we'll send you an email telling you that we've auto added the contact (so you can fill in the extra details we can't guess from an email address, and adjust the privacy settings for that contact if you wish).
How do we know if someone should be added or not? When "Auto Create Contacts" is activated (see below for how to do it), we check every email that passes through Accelo for the following rules:
You can enable (or disable if you prefer) this "Auto Create Contacts" feature in two ways:
Let's say you get an email from someone and you check it on your phone. This might be a prospective client or someone you want to track the conversation with, but you're not near your computer and you just want to quickly get them into Accelo so the conversation is recorded. Now you can confidently forward the email from the new contact to email@example.com and we'll automatically create the new client/contact and capture the original email as an activity.
If you'd prefer, you can also CC or BCC firstname.lastname@example.org when you send an email to a new contact (either as a reply or as part of a brand new conversation - such as at a networking event when you don't have much time - and the new client/contact will be automatically added to.
Finally, if you use the email@example.com address for someone that is already in Accelo, don't worry - our systems are smart enough not to create a duplicate!
Imagine you're working on a project and you get an email from a supplier with a quote or invoice attached. Now you can simply forward that email to the project's own alias address (in the form firstname.lastname@example.org) and have the email body and attachment automatically stored. Another common situation is where a client emails you directly about a project you're working on with them, but because they've emailed you out of the blue Accelo puts the conversation against their client account, not the project - now you can forward or BCC a reply to client to the special email@example.com account and we'll intelligently move the existing email conversation (and any follow up messages to the right place).
While we've had email aliases available for a while, now they're improved in a few key ways.
One last comment on email aliases - because they're sometimes hard to remember - firstname.lastname@example.org - we've set up a simple link from each project, issue or other object to send the special email address to your address book. Simply click it once, and we'll automatically push it across to your Google Contacts, Outlook Contacts or Office.com Address Book; then, you just need to remember the client's name, and your address book will show you a list of projects and issues you've sent to your address book - it even works on mobile!
One of the other areas we've been doing a lot of work over the Christmas period is around email sync from Gmail. As a quick refresher, there are two ways to get emails into Accelo - by forwarding them across to your own capture account, or by having us come and synchronize them from your Gmail account periodically.
For a little while now we've noticed this second option - which we call the "Sync Method" - behaving a bit eratically. With the advantage of a smaller load during the holidays, we were able to get in deep and do a bunch of work to see what we going on. Unfortunately we found that certain, incredibly rare email formats were causing the libraries we use to process email (known as MIME-parsers for the technical readers) to crash, and crash hard (with a segmentation fault). These crashes are very rare, but they were causing our systems to stall and hang when they were encountered, meaning any client inboxes we were trying to process "after" the failed parse weren't being reached at all.
We've since rearchitected the Sync Method for Gmail so that a few important things occur:
One bug we introduced for a week or so (now fixed) caused the date set for the activity in Accelo to be different to the date the email was actually sent. This would have caused a spike in some of your activity reports for dates that didn't match the dates the emails were actually sent - apologies for any confusion here!
We're still tweaking and refining this process to optimize it, and have some more exciting things in the works we can't announce just yet... as they say in the classics, watch this space.
At the same time as we were getting ocassional reports from clients about missing Gmail messages on the Sync Method, we got a few notifications from clients using Exchange/Office365 mailboxes of inconsistencies too. Taking the recently improved work on Gmail, we also re-engineered the Exchange/Office365 Email Sync processes to make them also a lot more fast and reliable.
Quoteroller is one of our favorite partners, but as a fast moving startup themselves sometimes they make changes that break things. In the last month we had two such examples unfortunately, but the good news is that we've now made a few changes on our end which will make things easier for Quoteroller users in the future (and much less likely to break with inadvertent changes).
The main thing that our users will notice going forward is that quotes (and messages) from Quoteroller to your clients will now be captured in Accelo even if you send them from an address which isn't an Accelo user's address. Before, if you had a single account in Quoteroller like email@example.com that you always sent quotes from, and you didn't have an equivalent user in Accelo (because in AL you have your real names and email addresses for users), Accelo wouldn't be able to recognize the email from QR as coming from a staff member, and so we couldn't process it.
Now, if you send your quotes from an address like firstname.lastname@example.org to a client via Quoteroller, Accelo will capture that email, and if we can't work out who it is, we'll just assign it as coming from the user who's managing the sale/opportunity/deal.
This situation was forced because Quoteroller's systems have started sending quotes "from" email@example.com and having the "reply to" address be your own user - so now as long as you start your Quote by clicking on the link in the Accelo sale screen, we'll capture them no matter who you send them from now.
While we've allowed our users to rename modules like "Jobs" to "Projects" and "Contracts" to "Retainers" for a while now, we haven't been taking into account these custom names when we were putting together our attachment folder structure. Since a Project always lives under a Client, we group the files for various projects together into a common folder in the Client's attachment area - which until today was hard coded to be "Jobs". Now we use the custom module title - just be aware that existing folders created will still have the old name (so think of this as an improvement going forward for new projects/issues/sales/retainers.