Without knowing too much about your software, I wouldn't be able to recommend such a tool. Where does the contacts go? Is there an API for your software? The Google Authentication, is this Google + SSO authentication?
What I will say is this:
When dealing with multiple-step processes like the one you mentioned, the biggest problem is drop-off. You have to deal with issues in regards to level of effort on the user. The less vested a user is in the process and the more difficult the step you are asking, the bigger the drop off.
Your first step is importing contacts which requires a GREAT deal of trust on behalf of the user. Why would I want to trust your software if I'm just starting? What value will I get out of it? You are going to see a great deal of drop off. Now, what if you switched it around to 3,2,1? Let me explain:
Downloading a mobile app requires very little trust. Hey, it's downloading a app, I do that all the time and it's so easy! Very little trust involved, and easy request to the user.
By the time the user has downloaded and actually ran the app, they are vested. They have already put in a little bit of effort, so let's go a little bit more. Let's ask them to authenticate with Google. A little bit of trust, but hey, it's easy and I've already downloaded the app!
Then, you ask them for the most difficult part. Importing contacts. That's a big level of trust; however, they've already done two parts of your funnel. They're already vested.
This requires a bit of a change up in your thinking. Do you do steps #1 and #2 in your app? That might be better. If this is also an app available via the web, you can switch up the steps a bit.
Another thing you'll want to do is TRACK TRACK TRACK. Track every step the user takes. If they drop off at a certain point, send them an email reminder to pick up where they left off. This email gives you a chance to further explain the benefits of the step.
This is going to require a developer. But this is such an important part of your customer aquisition flow (I assume importing contacts is to either provide the value-proposition or do a viral loop). No matter what off-the-shelf component you use, getting all these points in will require a developer. Just have the developer create it in a way which makes it easy for you to change creates/text to optimize the funnel.