Why did Ok Goldy stop? The engineering lesson behind the failure — and the free alternative

Dissecting the failure that stopped Ok Goldy, thanking its developer, and a complete usage guide for its free open-source alternative from Erticaz.

For years, thousands of Google Workspace administrators around the world relied on a free tool called Ok Goldy to accomplish what used to take weeks of manual work. Today, it has stopped. In this article, we dissect exactly what happened, thank those who deserve thanks, and present the free alternative we built at Erticaz — with a complete usage guide.

🙏 First: A well-deserved thank you to Goldy Arora

Before any technical talk, this must be said clearly: Goldy Arora He provided the tech community with a completely free tool, built it in his own time, and saved thousands of organizations around the world cumulative years of exhausting manual work — without asking for anything in return.

Anyone who has ever managed creating three thousand student accounts one by one from the Google Admin console knows the magnitude of what he provided. Ok Goldy was not just a tool; it was the only free solution in a space where all alternatives are paid.

And when its owner apologized for not continuing due to personal circumstances, he did so frankly and announced it clearly instead of letting it rot silently. This is respectable behavior that deserves appreciation, not blame.

This project is not a competitor to his work, but an extension of it. The original idea — managing Google Workspace from a spreadsheet — is his idea. What we did is rebuild it with a different architecture, after its shutdown revealed an engineering lesson worth telling.

What exactly happened?

Users began encountering one repeated message on any operation:

Resource has been exhausted (e.g. check quota)

The message seems vague, but it is in fact very precise: The API quota has been exhausted. And the important question is not "what does it mean" but: Whose quota exactly was exhausted?

The answer is the essence of the story

When a tool is published on the Google Workspace Marketplace, API calls for all its users operate through a single Google Cloud project owned by the developer — not through each organization's own project.

Every cloud project has a daily cap on requests. And when the tool was used by thousands of institutions around the world at the same time, they were all consuming from the same bucket. A university creating five thousand student accounts in the morning was consuming a quota that a hospital on another continent needed hours later.

So when that cap ran out, the tool didn't break down for one or two users — but for everyone at once. And no user could do anything about it, because the problem wasn't with their account in the first place.

The outage wasn't a maintenance oversight so much as the inevitable result of an architectural decision: the tool's very success is what killed it. The more users it gained, the closer its collapse came. And the developer bears the cost and quota of every user for free — a model that doesn't hold up mathematically.

What sets Uruk Workspace apart?

We built the tool from scratch, and addressed every single point of failure.

1. Your quota is yours alone — this is the fundamental difference

We don't publish it on a Marketplace as a centralized service. Instead, you copy your own instance. The instance automatically gets an independent Google Cloud project belonging to your own institution.

The direct result: no other user in the world can exhaust your quota. The outage that struck Ok Goldy is architecturally impossible here, not because we're more careful but because the structure itself is different.

2. An error in one row doesn't stop the rest

Each row is processed separately. If row number 47 has an invalid email, it is marked as ERROR The reason is written next to it, and the tool completes the remaining five thousand rows without stopping.

3. Successful rows are never repeated

Every row that succeeds is marked OK, and is skipped in any subsequent run. That is, re-running is always safe — accounts will not be created twice, and invitations will not be sent again.

4. Automatic resumption for large numbers

Google Apps Script stops any script after six minutes. The tool stops safely before that, saves its position, and resumes automatically after a minute — until it finishes the entire table. Twenty thousand users are processed without any intervention from you.

5. Gradual backoff at rate limits

When encountering rateLimitExceeded or a temporary server error, the tool waits and retries with exponential backoff instead of failing immediately. And if the error is a real quota issue, it explains it to you in understandable language instead of showing the raw message.

6. Dry-run mode before any change

The option Dry run checks every row and writes to you what would have happened — without sending any change to Google. You run it, read the results, fix your errors, then actually execute.

7. Deletion requires written confirmation

Deletion operations do not execute any row unless you write the word DELETE explicitly in it. A wrong click on the menu cannot empty your organization's directory.

8. Fully open source

The code is published in full under the MIT license at GitHub. Your security team can review every line before relying on it — something that cannot be done with a closed tool that manages your organization's accounts and passwords. And if you find a bug or want a feature, open issue and we will work on it.

What does the tool do?

21 ready-made operations distributed across five areas:

  • Users: Bulk creation within a specific organizational unit · Selective field updates · Password reset · Moving between organizational units · Suspension and restoration · Deletion · Full export
  • Organizational units: Creating the structure · Renaming and moving · Deletion · Exporting the tree
  • Groups: Create · Update · Delete · Export
  • Members: Bulk add and remove · Setting roles and delivery settings · Exporting memberships
  • Aliases: Add · Remove · Export

How to use — step by step

Step 1: Copy the template

Click on the copy template link. A copy is created in your account with the tool built in. No installation, no new account.

Note: You need an account with permissions Google Workspace Admin. A regular account will be rejected on the first operation, because user management requires administrative privileges in the first place.

Step 2: Grant permissions and verify

Open the copy, and you will find a menu Uruk Workspace at the top. The first command you run will ask for your approval of the permissions.

💡 Menu didn't appear? Refresh the page (F5). When opening a new copy for the first time, Google sometimes delays loading the script linked to the sheet, so the menu does not appear immediately. One page refresh solves it, and the problem will not recur afterward. This is known behavior in Google Apps Script when copying sheets linked to a script, and it has nothing to do with the tool itself.

Then run Setup ← Check my access before anything else. It tells you which account you signed in with, confirms that Google APIs are responding, and counts your organizational units. If an error appears here, the problem is with permissions, not your data — and you have saved yourself from discovering that after three thousand rows.

Step 3: Create the template sheets

Run Setup ← Create all template sheets. A tab is created for each operation with the correct columns, and with notes on each column explaining what is required and its format.

Step 4: Fill in the sheet

Example of creating users — you fill in the columns: primary email, first name, last name, and the organizational unit such as /Students/First Year.

Leave the password field empty and it will be generated automatically and written for you in the sheet, with the user forced to change it on first login.

Step 5: Test first — do not execute directly

Open Settings & run options and enable Dry run, then run the operation. You will read in the column Status What would happen to each row, without any actual change. This step reveals data errors before they become errors in your real directory.

Step 6: Run and read the result

Turn off Dry run and run the operation. When finished, read the two columns:

Status Meaning
OK Executed. It will be skipped in any subsequent run.
ERROR Failed, and the reason is written in the Details column.
SKIPPED Nothing to execute, or an unconfirmed delete row.
DRY-RUN Verify only without executing.

Step 7: Fix the errors and re-run

Correct rows ERROR, then enable the option Retry rows marked ERROR and re-run. Successful rows will not be repeated, and only the corrected ones will be processed.

What doesn't the tool do? (Honestly)

Credibility is more important than exaggeration, so these are its current limitations:

  • It does not manage Google Workspace licenses
  • It does not manage Chrome devices
  • It does not support Timeline for operations
  • It does not manage shared contacts or custom schemas

If you need these features, there are mature paid tools such as GW Manager that are worth their cost. But if what you want is to perform basic operations in bulk, for free, and with code you can review — then this tool is enough for you.

Conclusion

The Ok Goldy story is not a story of neglect, but a lesson that architecture is destiny. An excellent free tool collapsed because its very success was draining the resource it depended on.

Thanks remain to its owner, who gave the community years of his work for free. What we did was take his idea and rebuild it so that its success cannot kill it.

← Try Uruk Workspace for free  ·  The source code on GitHub

I developed it Erticaz for Technical Solutions and published it for free under the MIT license. If you need customization, data migration, or running it on a larger scale, Contact Us.

Share your love