Ok Goldy

  • Ok Goldy is a free Google sheet add on which can help you perform bulk operations in G Suite.
  • Bulk Create, Update, Suspend, Delete, Export G Suite Users, Groups, Members and Aliases.
  • I created it for my own needs, but happy to see over 190k G Suite Admins are saving their time with it today.
Video Tutorials
Text with Screenshots

Troubleshooting & FAQ

Most frequent questions and answers

If you are getting this error, please consider following-:

givenName (first name) is a required attribute to create users in G Suite, it seems somehow its missing for any of your users. Please do following-:

1. Go to your admin console and export all your users in a google sheet as shown below.
2. Now filter down to see the user where first name is missing
3. Add first name to the user
4. Try OK Goldy again
 
How to download all G Suite users from Admin Console to Google Sheet 

Great Question.

Google has a very strict add-on review process (you can read more about it here “Google’s G Suite Add on Review Process.) which is obvious looking at the massive number of G Suite businesses and users which rely on the add-ons available in G Suite marketplace today.

“Ok Goldy” has passed all the checks by Google’s review process and is now trusted by over 15,000 G Suite Administrators to perform bulk G Suite operations.

But……..

I think it’ll be good to tell you a bit more about what do I get access to when you start using this add on.

1. Google does NOT share information like your domain name, email address or any PII with me, though I know how many users installed the add-on, but I don’t get to know “Which” users.

2. This add-on is built with Google Apps Script which leverages OAuth, where when you run the tool, Google asks if you want to permit this add on to access required scopes (Primarily Directory API and Sheets API)  and to perform bulk operations.

3. As it leverages OAuth, you can anytime, go to your G Suite Admin Console and revoke the token, which will result in no access to “Ok Goldy” even if the add-on is installed.

(Side note -: If you want to audit shadow IT, you can use the script I created to audit OAuth tokens in your domain here 
https://www.goldyarora.com/blog/g-suite-oauth-token-audit/).

4. Please also read out my privacy policy at https://www.goldyarora.com/privacy/

Final Words-:
This add on is simply a result of my own needs, while working with large enterprise customers, its hard to do things manually in Admin console which made me write script for almost everything that happens in a large G Suite deployment.

As I already have these scripts, I thought to publish some of them as a G Suite Add on, so mates like you can save some of your time.

I always try to help G Suite community, but be aware that everything I offer here is available for free, which means I can’t invest money in hiring a lawyer to write one of the best privacy policies, security documentation, no content writers to write engaging content etc……

All I have here is to share something which works for me for you to test it out, and if I fall short here, you should stop using the add on and send me a feedback email at help at goldyarora.com.

One of the best moments for a to a developer is when a user comes to him saying “I like something you built, and I wanted to ask if you can add this feature to make it even more useful for me”.

So I appreciate it, you just gave me that moment:).

Please put your feature request below in comments, the more detailed the better, though I can not commit a timeline being a full time employed, a husband and a father of two, but rest assured I would try to add it as soon as I can (especially if the use case is broad and can help wider audience).

I just changed my full time job, and trying to establish myself, however soon I will start investing sometime in enhancing ‘Ok Goldy’.

Feel free to put your comments below to give me feedback, but am thinking of following-:

1. Enhance features of current modules-:
(i) Reset Password in bulk
(ii) Undelete Users in bulk
(iii) Restore (Unsuspend) users in bulk
(iv) Change Group Settings in bulk 

2. Add New Module/s-:
(i) Add “Resource Calendar” module which will help you create, update, delete, export buildings and resources.

3. New Add On-:
(i) A whole new Add on dedicated to Google Classroom, which will help G Suite Education Admins to perform bulk operations on Google Classroom objects.

My daughter’s school here in West Windsor school district, Plainsboro, NJ also uses G Suite, and am trying to help out with this.

How about a name for this, “Ok Sarah” :)?

 Please don’t hesitate to put what you think about the new features plan, I would appreciate your feedback including changing or swapping the new features.

Thank you
Goldy

Appreciate your consideration, but apologies, I do not freelance.

However, if you have a large (> 10,000 users) G Suite implementation project, please write to me at help @ goldyarora.com for a prospective discussion.

If you are a small business, and still need some dedicated help, I might be able to recommend you a company or person in my network and let both of you explore synergies to work together.

Come together to help G Suite community.​

  • Provide your feedback & share your use cases
  • Collaborate to improve Ok Goldy’s current features & add new ones
  • Share G Suite Implementation & Administration best practices
  • Share Knowledge and make it a win win

70 thoughts on “Ok Goldy – Easily perform G Suite bulk operations from Google Sheets”

  1. Trying to use your add-on unfortunately it seem the “Create Aliases’ is giving me problems. I want to assign a universal alias to everyone’s email for bulk emailing. I get the error ‘API call to directory.users.aliases.insert failed with error: Entity already exists.’ Any help would be massively appreciated!

    1. Alias is also an email address, so it has to be unique, once you create an alias for a user, you can not create the alias for another user with the same email.

      Looking at your scenario, you should be better off leveraging G Suite groups.

      Simply create a G Suite group, and click on “Add all domain users” to make it dynamic, so when anyone sends an email to this group’s email address, all of your users will receive that email in their respective mailboxes.

      I just recorded this quick clip if it helps.

  2. Hello

    Thank you for your great work.
    It helps me arrange the company’s g suite account users and groups a lot.
    By the way, Can you help me that the exporting groups with members count? with members list?
    or exporting users comes with what group they are under it?

    I appreciate your help in advance.
    thanks,

    1. Your welcome, glad it helps you perform mass G Suite operation.

      For your member export, see if following helps-:
      1. Export your Groups from the group management module.
      2. Now out the required groups in “Export Members” sheet, run the export members function to get members count and their emails as output.

      1. Thank you so much for your quick response. 🙂
        it is a BIG help.
        By the way, Is there any export group and members that arrange to match between the group and members all??
        I mean, when I grep all group and put on exporting members on the sheet, it comes with members but not match with groups.

        Thank you!

          1. It will be very useful to be able to export all groups members at once. Thank you for your work.

  3. Hi Goldy
    Thanks for your very good info video’s

    during my trial period G suite, my provider had problems with changing DNS and MX records and our mail did not work well
    I changed provider, deleted all on Gsuite and let it expire
    now I want to set Gsuite up with my domain (are2be.com) at a new provider, but when Google checks my domain it reports that: this domain is in use
    it also reports : Hi Hans all you have to do is fill in the payments
    can you tell me what to do
    Thanks
    Hans

    1. Ideally, you should have deleted it, though you let the trial expire, but your domain is still in Google’s database, so now i would recommend you to simply go to admin.google.com and sign in with your G Suite admin credentials –> make the payment and start using it.

      There is another option (a bit lengthy) –> You can contact a G Suite reseller near by (Google partner directory https://cloud.withgoogle.com/partners), they will then contact Google to purge your domain from their database, and once thats done, they should be able to offer you 30 days trial.

      Hope it helps.

  4. Yoo goldy i watched it !!! Works
    thats an amazing Project what you did here !!!

    i have another question those days i am forwarding mails with gam do you have a solution for that with Ok goldy ?

  5. API call to directory.members.insert failed with error: Invalid value for: Member is not a valid value

    how do i fix it ???

    1. It seems you didn’t watch the video above before performing members addition.

      Please watch it and you should be good.

      Please make sure you are putting the member’s role in uppercase (e g MEMBER, or OWNER).

  6. Hi Goldy,
    Great Addon! I am using GSuite Education. I have couple of queries in using your tool.
    1. How can I include Secondary Email addresses of users during account creation?
    2. How can I automatically send login info to secondary email after account creation?
    3. How can I assign suspension date (if possible) to individual users during account creation?

    Thanks,

  7. Thank you for this great add-on!
    I was going to create something similar via apps script, but I found your one 🙂
    Since I’d like it do to a more complex work in my organization, have you published somewhere the source code?
    If so, could you tell me how to find it?
    If not, thank you anyway for the great and precious work!

  8. What is the best way to “clean-up” g-mail filters – many filters have labels that have no relevance to the e-mail – will exporting the filters to Sheets, deleting the not needed labels, and then importing back into Sheets do – or am I missing some steps? thanx!

  9. Hello — I found Ok Goldy today! I’m trying to export all my groups and see all the members in each group. I have only been able to put in a single group. When I copy several groups, I get all the users, but not listed by group. I get a sum total of all members of all groups. I was hoping that Group 1 would show me the Group1 members, then Group 2 would show me the group 2 members etc. Is there a way to accomplish this?

    1. I’m looking for this, too. Thank you for this great tool. I found it while on a chat with Google Support who told me “there is no way to export a list of all groups from your account…”. Even if I can’t get this from your tool it’s been helpful for getting me past their response.

  10. Hi Goldy Ji,
    Nice video for me.
    I am Delhi base and working for Google Premier Partner as G Suite Services.I want to certified for G suite Administrator and Deployment Specialist but i have few query.So that i need your suggestion.

    Can your share your contact detail or whats app details or any online session.
    Waiting for your Valuable Response.

    Regards,
    Amar

      1. Jaques Pretorius

        Hi Goldy, please assist me in filling in the correct codes in the columns for the Label BG color (which i just want white) and Text color (which i just want black).

        1. Sure, here you go
          The background color represented as hex string #RRGGBB (ex #000000). This field is required in order to set the color of a label. Only the following predefined set of color values are allowed:
          #000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, #fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, #f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, #efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, #e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, #cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, #ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, #822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c

          color.textColor string The text color of the label, represented as hex string. This field is required in order to set the color of a label. Only the following predefined set of color values are allowed:
          #000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, #fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, #f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, #efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, #e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, #cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, #ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, #822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c

  11. Hi,
    Your tool looks cool.
    I’ve having small issues with it, can you provide more details for this error:
    After any task that I start, I get this error:
    Message details
    Daily Limit Exceeded. The quota will be reset at midnight Pacific Time (PT). You may monitor your quota usage and adjust limits in the API Console: https://console.developers.google.com/apis/api/admin.googleapis.com/quotas?project=939946549872
    I’m unable to access link provided here in error log. Thanks

  12. Thanks for the great job Goldy!
    Is it possible to share the spreadsheet generate between diferent admins? or should each user has it’s own spreadsheet?

    Thanks!

  13. Hello Goldy, thanks for the nice app. Do you have a way that it sorts each email in bulk by the labels onto google sheet in an automated way? That I do not have to repeat this process daily, but it’s sorted daily for me? I use labels to the person sending the email in a very descriptive way that helps other people read those tags and know what action to take. So let’s say, If I get a new email from a company like Trulia.com that allow anyone to post rentals through their platform, and someone who someone who I’ve already spoken to months ago contacts me again, Trulia will have a reply interface that’s standard where the name, and phone number and email(?) are always in the same place within their email structure. I would have already tagged this person so other people using the same email account can see and reply based on my colored and highly descriptive tags. Currently, we have to manually open each email, and use the phone number mainly to bring up any old file we have on that person. Once we do a search, we’ll see our descriptive tags and we then retag all emails including the recent email to make sure they are up to date with the most recent tq=ags. Ok, now my question is, is there a way I can use this application to, or you can have it function so I can sort the email out by the tags as they come in? Or I can manually tag it when they come in but from that stage, you can have a function that allows me to upload that email from Gmail to google sheets so now I can use formulas to send replies to who I want based on those emails that were separated by tags? It would allow me to adjust my messages after I can get them into google sheet in a bulk manner. I hope what I wrote made sense and hope you can contact me at bayostheave@gmail.com. Thank you!!

    1. I got it, it should be doable to parse and put all emails in your Google Sheet along with the given label, you may also have another script running on top of it which asks the name of the label to whom you want to send email, and it does just that using your email template.

  14. Hi
    I’m trying to set up a WordPress website on Google Cloud Platform with a domain purchased from Go Daddy through Gsuite. Initially I could access the website admin but have since been unable to. It keeps coming up with the 404 error. Also I cannot access the domain via Go Daddy, although I can through Gsuite. I have tried to change the nameservers but with no success. I’m working on the site for someone else but I’m struggling to get it off the ground and getting very frustrated and any suggestions would be great.

  15. Hello and thanks for the add-on. It is wonderful
    Comment that I get the following error when I try to export users: TypeError: Cannot read property “givenName” from undefined.

  16. Hi,
    Is there a way for me as google admin in my company to access certain employee google drive and see their stored documents and files. I get this request frequently from top executives. appreciate your support.

  17. Hi, GoldY! First excelent work! You said in an answer that need a update to ask for change the password… It is done yet? Sorry my english O:)

        1. Vangelis Tougias

          How to turn this feature off? So that the default would be that users WILL NOT be asked to change their password at their first login.
          (Great tool by the way)

  18. it is great , Just a little issue , it doesn’t deal with large data , I was trying to add 10 000 member to a group and after adding 2000 it stopped and showed an error message says “exceeded maximum execution time” , I hope if there is any solution of this problem it will be perfect for me , thank you

    1. Thank you for giving it a try, am glad its useful to you.

      This add on uses Google Apps Script where Google enforces an execution limit of 6 minutes (30 mins if you are on G Suite business or enterprise edition).

      I recently attended Google Next in SFO,CA where they shared plans to launch “Job Service” which will help to break the tasks and run them simultaneously, hopefully it’ll help to avoid this limitation.

      For now, a dirty workaround would be to run the add on a few times.

      Hope it helps.

      Regards,
      Goldy

  19. Hi Gordy, is there a way to reach you via email because the one I saw gave me an error in delivery. Pls I need a reply asap.

  20. Thanks so much! Fantastic add-on!!
    One question: when you bulk create some users, could you obligate to change the password in the next session?
    Thanks again!

    1. Your welcome, glad you liked it.

      Thank for proposing idea to enforce password change at next login, I just added that feature, now all new created users via Ok Goldy will need to change their password at first login.

      However, Google may take couple of days to review and publish the latest version.

  21. Hi Goldy,
    Your videos and tips are awesome! I do have a technical question. I am testing custom url for my employer and have updated the following: http://email.domain.ca. I have also set the CNAME record with the registrar for our domain. The problem we are having is that this custom URL is really an alias and redirects to https://mail.google.com/a/domain/mail…. We need it to stay as email.domain.ca. The reason is that we have many members that cannot access Gmail from their employers as their employer blocks Gmail. Our members’ employers however have whitelisted our domain http://email.domain.ca. How can we get our members to access http://email.domain.ca from their employers while their employer can still block these users from accessing their personal @gmail.com email accounts? Hoping you can help.

  22. Does this add-on still work? I’ve installed the add-on, and I see it via the Add-ons menu, but the option option available within Add-ons > OK Goldy is Help. No option for the setup wizard or anything else?

  23. Question, I have watched a lot of your videos. Here is what I am still not sure of. I have 4 domains i have and pay for G Suite. For now let’s just call them 1.com, 2, 3, 4.com

    In all 4 I have an email address, and under each i have several google docs and sheets, many of which i share with other people outside my domain.

    If I want to get them all under 1.com so i am only paying for one, but have sheets/docs in all of them… A how can i combine the sheets/docs into one and also if i am using 1.com as my main, and someone creates a new sheet and shares it with me at 2.com, how would that work?

    Thanks for your help

  24. Brooke Carey Ahrens

    This is the error I’m getting when I try to use the “Export Users” function on sheet 5.

    TypeError: Cannot read property “givenName” from undefined.DetailsDismiss

  25. Hi Goldy Arora Ji
    I would like to talk to you for G-Suite I want to purchased, but before we confirm that how to work G-suite and how create group we are Delhi based web development company i cant used this service for sent email for suite email to customer.

  26. Hi, I am grateful to you for creating this add-on to help streamline the process of creating and updating users; etc. My question to you is with regards to the Create User set-up sheet, when entering the Password for each user, I only know my PW as the Admin but my other assigned users who are active on my G suites email/domain have already updated/changed their login PW. How do I obtain this info from the system without my users feeling as if I’m being intrusive. Additionally, am I able to add new user accounts (alias; etc.) within the Add-on feature? (Please excuse this last question as ignorant. I’m just not certain how this feature would work). Thank you

    1. Thank you Karen, glad I could help.

      I am not sure if I understand first part of your question, so i’ll try based on guess-:

      1. You use “Create Users” sheet only when you need to create new users (users which don’t exist in your G Suite yet).
      2. If you want to update already created users, consider using update users, suspend users or delete users sheets as required.

      Alias Management -: Hopefully I will add feature to manage aliases (create, remove, delete) in coming few days.

  27. Brooke Carey Ahrens

    Hi!

    your add-on is AMAZING. I’m updating our gmail mailing lists, suspending users no longer on campus and cleaning up our domains.

    I’m getting an error code today though every time I try to run the Add-On. I’m thinking it’s Google but I wanted to see if you had any more info.

    Thank you again!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.