My advice, is just tackle one problem at a time and move through them pretty quickly. Accepting that as they begin to use it new use cases will emerge and you'll have to make adjustments. This doesn't mean just don't care what you select, it is just that in my experience this user base will have a hard time articulating their needs. And even if you have a ton of experience they will still change requirements as they start using it. So it is the start fast, adapt as needed methodology. And I would just communicate it to the client that you are going to solve one need at a time, and expect that you will need to revisit them over 2-3 months as people begin using each solution. The advantage to this, is some of that is really low hanging fruit that you could show him immediate benefits from, and have low risk to change. Like moving all email/calendar to Google Apps, or pick your cloud solution there.<p>Also, I personally feel this approach is being realistic and respectful to the staff that it is hard to articulate all the needs until a user gets their hands dirty with the solution. I also try not to use the word requirements with non-technical clients, instead opting for "Needs", "Wants", "Dreams" or something along those lines.<p>None of the project sounds hard technically, but it will take time and have some frustrations I imagine.<p>But I could easily see a Salesforce + Google (email, gdrive, calendar) + FreeConferenceCall (or something similar) + Skype. Most of that is low hanging. If they don't want to use the Cloud providers though, then you have a much larger and tougher task, not to mention way more expensive.