#33 · non-guru explains how he made $2.4m with AI automation

youtube ↗AI & Automation

I'm trying to build a VAPI-based outbound calling agent that books appointments into a client's Google Calendar, and I want to do this at scale across multiple clients. How do I get access to a client's Google Calendar for the Make scenario without asking for their actual Google login, since most people won't feel comfortable sharing that and most tutorials only show how to do it for your own calendar?

Two ways to do this without needing a client's actual login. One: have the client create a Google Workspace account for you (or your automation account) and get invited as a user on all events automatically, so that account's calendar mirrors all the relevant events. Two: use Google Calendar's native sharing feature — the client shares their calendar with you (or specific events only, if some are private), and your automation runs off that shared calendar. Both let you build the automation without ever touching the client's login credentials directly. That said, I don't think a VAPI outbound calling agent is a very high-value approach to build your ads agency around in the first place — it's worth reconsidering the bigger picture, not just the calendar-access mechanics.

google calendarclient accesscredentials

Related answers

youtube ↗Agency Operations

How does your onboarding process work for gathering clients' Google Calendar access and other needed platforms?

Thanks for the question. On crushing tasks fast: I've been imperfect lately, but the key is to prioritize distribution over perfection—build a minimal viable version quickly, sell it, then improve based on user feedback. For onboarding, I hop on a kickoff call right after signing the deal. We go over timelines, expectations, answer any questions, then walk through the list of platforms (like Google Calendar) and sign up for everything live so I have all access up front. This avoids chasing passwords later. I've refined this into a simple SOP covering timelines, availability, platforms, and wrap-up, which gives the client full access by the end of the call.

onboardinggoogle calendarclient accesssop
youtube ↗AI & Automation

How do I connect people's accounts to services like Google Calendar without making them create a Google Cloud account?

I use make.com for the vast majority of my clients; it’s simple—just connect the account, click a button, and you’re done. For Google Calendar specifically, you don’t need to go through the full process of connecting a calendar to see events. If your goal is just to view events on a calendar, you can share that calendar with another calendar in the same organization, and the other calendar will see all events (and sometimes edit them) without needing the client’s Google Calendar. Instead, you can share your own Google Calendar, handling all the Google Cloud setup yourself. If that doesn’t work for your app, note that self‑hosted n8n will encounter more issues than cloud‑hosted n8n, requiring more frequent Google Cloud account handling. Cloud‑hosted n8n has built‑in direct OAuth integrations, making it easier (though slightly more costly). Overall, I think your mobile app idea is awesome and could be very valuable; just consider whether you can realistically invest the time and energy without immediate return, as SaaS apps often require that, whereas a service business lets you earn while you build, then later productize the solution.

google calendarmake.comoauthautomation
youtube ↗AI & Automation

How can I check available appointment slots in real-time while an outbound call is in progress using Make.com and the Vapi API?

You need to use Vapi's functions object. Define parameters such as name, description, type, and include the appointment date and time in ISO format. Then call a server URL from within that function. Set up the function in Vapi, which usually involves creating a Make.com webhook, connecting it, and making the server call in the exact format Vapi expects. If you’ve watched my video on setting up a Vapi call agent, you can replicate the inbound example for outbound calls—just note that outbound callers don’t have dashboard access, so you must create the assistant via the API. Check the server docs I posted; that should get you up and running.

outbound callsmake.comvapi
youtube ↗Agency Operations

During the first onboarding/kickoff call, how do I actually get access to platforms like Google Sheets or Drive? Do I need the client's private credentials?

It depends on what you actually need. In some cases you need to pretend to be the client — for example if you're sending emails as them, from their domain, you need their Gmail credentials (or API creds), full stop. You'll need their username and password, or at least a service account with equivalent access, and in that case you really do need to be handed their credentials. But a lot of the time you don't need to impersonate them at all — you only need Google Workspace access. If all you need is something like Sheets or Drive, have the client create you a new account on their own domain (e.g. yourname@theirdomain.com) so you have your own login rather than theirs. Then, when you create an asset — a Sheet, a Drive file, whatever — Google Workspace lets you share it domain-wide instead of restricting it to just you: on the file's share settings, instead of "anyone with the link," you add the domain itself as a group, set the access level (viewer/commenter/writer), and now everyone at that domain — including the client — automatically has access to anything you create, no individual re-sharing needed. Most integration platforms' Google modules (Sheets, Drive, etc.) support creating that kind of share link directly. So the short version: only ask for their actual Gmail/email credentials when you genuinely need to send or receive email as them, or need a webhook listening on their inbox — for everything else, a domain account plus domain-wide sharing gets the job done without ever touching their real login. And yes, Google's 2FA is genuinely one of the more annoying parts of this to deal with.

client onboardingcredentialsgoogle workspaceaccess