Holiday Elf Magic with Mail, Quotes & More

30-Dec 2013 • Product
Geoff

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).

Improved recognition of new contacts and automatic contact creation.

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:

  1. We ignore the new email address if it comes from a form like noreply@, donotreply@ and other common "please ignore me" type addresses - they've got no business being in your sales!
  2. We ignore the new email address if it is from an ISP or a webmail email domain. So, we ignore emails from/to @gmail.com, @yahoo.com and over a hundred other domains - we do this because these addresses are often used for personal correspondence and just because the sender is also @gmail.com it doesn't mean they're related to any other client in your database with an @gmail.com domain. If this is actually a contact you want to have as a client, don't worry - you can easily use the add new contacts feature described in the next section to create them super easily!
  3. If the email address passes the first two tests, we check to see if it matches an existing client record in Accelo.
  4. If we find a single company matched (ie, you're getting an email from a new contact at an existing client) we'll automatically add that new address to Accelo!
  5. If we find multiple companies, or we don't find any company at all, we ignore the email address. Of course, you can easily forward the email to add@yourdomain.accelo.com (see next section for more details) and add them to Accelo quickly and easily.

You can enable (or disable if you prefer) this "Auto Create Contacts" feature in two ways:

  1. System Default: If you're an admin, you can set it "on" by default across your deployment by going to "Configuration" and then "Clients and Contacts". If you choose "Auto Create Contacts" we'll automatically create new contacts based on the rules above.
  2. User Preference: Alternatively, you can set your own overriding preference by clicking on your name in the top right, and then choosing "Settings". You can then change your preference under the "Auto Create Contacts" heading.

Improved ability to add new contacts with a forward or a bcc.

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 add@yourdomain.accelo.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 add@yourdomain.accelo.com 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 add@yourdomain.accelo.com address for someone that is already in Accelo, don't worry - our systems are smart enough not to create a duplicate!

Improved ability to collaborate and relocate using object aliases.

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 object+1234@yourdomain.accelo.com) 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 object+1234@yourdomain.accelo.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.

  • Firstly, the process of forwarding a client email to the special alias address will intelligently move any existing conversation we've captured across to the object - so you can reply quickly to emails while you're on your phone and then later BCC the alias address in a reply from your desk and it will move the whole lot over.
  • Secondly, if you forward something (like the example of the supplier quote or shipping confirmation above) to the alias address, we'll automatically re-send it onto everyone else who's a manager of the project, sale, issue, contract or client (based on their own notification preferences). This uses the same rule as automatically CC and BCC'ing people in when you create an activity, so you can be confident everyone who wants to be in the loop is notified with a single email to the alias address.
  • Thirdly, if you're working on a long-lived project or retainer and can train your clients to use the special object alias address, emails they send to that address not only get stored in the right place, but they are also sent out automatically to the managers of the project, issue, retainer, sale and the client they're against.

One last comment on email aliases - because they're sometimes hard to remember - object+1234@yourdomain.accelo.com - 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!

Improved Gmail Email Sync

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:

  1. We now use a "dead man's mailbox" to capture these errors and harmlessly skip over them next time we run. We have a special sweeper process that monitors the dead man's mailbox for jammed records which goes through and cleans them up forcefully every 5 minutes. 
  2. We now use a lot more parallel processes which start at different parts of the sync queue. This means people who just happen to be "down the back" aren't penalized by something going screwy at the top.

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.

Improved Exchange/Office365 Email Sync

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.

Improved Quoteroller Quote/Message Handling

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 sales@companyname.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 sales@companyname.com 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" no-reply@quoteroller.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.

User-Defined Folder Titles in Attachments

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. 

Share
See how accelo can work for your business.
Signup Free
Accelo uses cookies to give you the best possible experience - by clicking 'Continue' you agree to our use of cookies. Refer to our Privacy Policy for details. Continue