#77 · Upwork Essentials in 2025

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

Related answers

youtube ↗Agency Operations

How do you handle client credentials and passwords for complex authentication processes?

I'll do what's called a kickoff call where I get them together with me for a 30 to 45 minute period. I'll guide them through signing up for all the software platforms I want them to use. Typically I have three or four software platforms they need to sign up for. Most of the time, if we're doing something email-related, I'll have them sign up for a new Google Workspace profile. If they've never used a no-code platform, I'll make them sign up using my affiliate code—often something like PandaDoc. So I pretty much define sign‑up procedures for this: I send them all the links in the chat, they click the buttons, create the account, and then I have them do it with email and password so I can get it immediately and verify sign‑in right there. The issue with two‑factor authentication for most services is that people sign up using Google, which forces them through Google’s TFA system—a pain. If you get username‑password credentials, just add them to a password manager like 1Password, LastPass, or Dashlane; that eliminates a large portion of that issue. For the Google stuff, I typically log in using a software platform called Multi‑Login (multilogin). It’s great because you basically have to store the exact same credentials. Essentially this lets you set up dedicated browser profiles using residential and data‑center proxies so you can consistently log in with a static IP—the same IP address every time—minimizing the number of re‑authentications you need. Yeah, I use this for Google stuff from time to time; I don’t always use it, but that’s how I solve that problem. Hope that makes sense. If you guys have any more questions, feel free to drop them in the daily updates channel. Obviously this incentivizes my channel to grow because I get more engagement, and I can answer questions I get on this channel for the foreseeable future until it becomes unreasonable to do so.

client credentialspassword managementkickoff callmulti-login
youtube ↗Agency Operations

Do clients always accept giving you their credentials (email/password or API keys) when you set up automation for them?

I never give my own credentials to others. When you ask if clients use their API keys on their account, yes—they do. Do they always accept giving me their credentials? No, not everyone does, but the vast majority do. I think this happens because I frame it matter‑of‑factly; I don’t make it a big deal. It’s simply how the service works: you give me your email and password (make sure it’s unique), I log in, set everything up, and then manage everything end‑to‑end. That’s the expectation. I don’t even mention it because it’s obvious to me, and I’ve rarely had issues. Occasionally a technical client prefers to give me their API keys instead, which works just as well since API keys grant the same authorization—I can do everything through the API without logging into their account. Logically, if they give me API keys, I can accomplish the same tasks. I’ve always assumed that if someone hires me for a technical purpose, they’ll accept sharing credentials because otherwise there’s no point. Of course there are exceptions: some platforms let you delegate sub‑accounts, and many are built exactly for that. In short, the simplest approach is to have the client provide a user password and then grant full access in one go.

credentialsapi keysclient accesssecurity
youtube ↗Agency Operations

For professional workflow when working with clients — say I land my first n8n project on Upwork and help them create their n8n account during onboarding. From that point, what's best practice? Should I create a separate Chrome profile for each client's login, or is it fine to just use my own browser profile? And once the project's complete, how do you hand everything over?

We actually tried separate Chrome profiles per client — it works until you hit about 10 profiles, since Google doesn't easily allow more than that. You could also use something like a Multilogin instance to store credentials with longer-lasting cookies and residential/Bright Data proxies, giving you a fixed IP so you get logged out less (especially useful for accounts with 2FA). But honestly, I don't do any of that — I just use my own browser profile and manage everything with 1Password, which solves both the multiple-logins problem and general credential coordination. On handoff: since everything is built directly in the client's own accounts, there's no major handoff needed — I just send an email with a 20-minute SOP video plus a written Google Doc walking through the whole system, including how to maintain and upgrade it themselves, so they're covered even if we stop working together down the line.

client credentials1passwordhandoffn8n
youtube ↗AI & Automation

How should I decide up front which credentials (API keys, usernames, passwords) to collect for a cloud skill workflow, assuming I have a basic workflow skeleton?

We cover this in Maker School, but here's a high‑level overview: if your cloud skill needs API X, you need access to API X. When building cloud workflows, you often create another workflow that extracts the specific platforms of interest, and that's what you require from the client. You don't need to do this up front or at the end—you can't build a system and then declare it ready to go live, because the whole thing is assembled with natural language in 30 seconds. Without a live version you can't test, which is the top reason developers are hated ('it worked fine over here'). Once you have API keys, things change, so allow some time. Get everything up front. Preferably use username/email and password; avoid OAuth Google sign‑in because it triggers constant 2FA requests from the original account owner. It's kind of annoying.

apicredentialsoauthcloud skill