Slack is one of the most important tool that we use internally in the team as well as for communicating with the client in real-time.
We use slack integrations extensively. All of our tools like Trello, Pivotal, GitHub, Bitbucket, Distribit have ready slack integration. Any of the updates on any of these tools are pushed onto the private group. So that it becomes a central hub for all the real-time updates related to a project.
We Google Hangouts for daily or alternate day calls with the client. If we are working in different timezones then we decide a time that overlaps and is comfortable for both client as well as to us. We set up a calendar event associated with a Google Hangout link.
We discourage emails for asynchronous communication, as it really becomes difficult to point out some of the important decisions taken over emails. So once the project is kicked off, its a big NO for discussing anything about project on the emails.
As explained earlier along with project management, Basecamp becomes one of the important tool for all the asynchronous communication.