job: gbp-optimize · per listing

Google Business Profile optimization

Hand dassi what a listing should say: services grouped by category, the description, the attributes, the links. It enters each one in the Google Business Profile editor in your exact words, asks before any change you've flagged, and brings back whatever it can't match or Google won't take.

Give dassi this job

Free credits, good for 7 days — no card required

Trusted by 30,000+ Chrome users Rated 4.8/5 on Chrome Web Store Works with Claude, GPT, Gemini, and more

One run, start to finish

Every dassi job has the same shape: an input, work done on real pages and accounts, output you can verify, and exceptions flagged — never guessed. This one is an illustrative example of the job.

run · gbp-optimize on demand · new client listing illustrative example
input

“Use the GBP tab in the onboarding sheet: 34 services under 3 categories, the business description, 11 attributes, a booking link and 3 social profiles. Enter everything exactly as written. Don't add anything that isn't in the sheet. Ask before adding a category.”

Google Sheets · the client's onboarding tab

run
  1. 14:02 docs.google.com/spreadsheets read the GBP tab: 34 services under Dentist, Cosmetic dentist and Emergency dental service, a 742-character description, 11 attributes, a booking link, 3 social profiles
  2. 14:04 business.google.com opened the listing's services editor: 6 services already there, all under Dentist
  3. 14:05 business.google.com compared them with the sheet: 5 listed under the same names, 1 possible duplicate, 28 to add
  4. 14:07 business.google.com added 14 services under Dentist, each with its one-line description from the sheet
  5. 14:16 business.google.com added 9 services under Cosmetic dentist
  6. 14:22 business.google.com Emergency dental service isn't a category on the listing, so it stopped and asked before adding one
  7. 14:31 business.google.com you approved; added the category, then its 5 services
  8. 14:36 business.google.com replaced the business description with the sheet's text, 742 of 750 characters
  9. 14:39 business.google.com turned on 10 of the 11 attributes one at a time: accessibility, parking, appointments, amenities
  10. 14:44 business.google.com worked the “Complete your profile” list: added the booking link and 3 social profiles, left chat
  11. 14:47 docs.google.com/spreadsheets wrote a status next to every service, attribute and link in the tab
output
  • verified: 28 services added: 14 under Dentist, 9 under Cosmetic dentist, 5 under the new Emergency dental service category
  • verified: Business description replaced word for word, 742 of 750 characters
  • verified: 10 attributes on, plus the booking link and 3 social profiles
  • verified: A status for all 34 services in the sheet: 28 added, 5 already listed, 1 waiting for you
exceptions
  • flagged: “Deep cleaning” in the sheet may be the same service as “Scaling and root planing” on the profile. Not added; someone at the practice should decide
  • flagged: Free Wi-Fi isn't offered as an attribute on this listing, so it wasn't set
  • flagged: Chat in the “Complete your profile” list needs a messaging number the sheet doesn't have
  • flagged: Google shows the new category and the description as under review. Neither is public yet
next

In three days a check run compares the live listing with the sheet and lists anything Google rejected or changed. Then the next client's tab, same workflow.

What you can hand off

Services under the right category

Dozens of named services, each with its short description, placed under the business category it belongs to. When that category isn't on the listing yet, dassi asks before adding it.

Descriptions in your exact words

The 750-character business description and the one-liners under each service, entered as written. dassi doesn't reword them to fit in keywords or pad them out to the limit.

Attributes, one toggle at a time

Wheelchair access, parking, Wi-Fi, appointment options. What Google offers depends on the listing's categories, and dassi reports the ones it couldn't find.

The “Complete your profile” checklist

Booking link, social profiles, chat. Items that need something the sheet doesn't have, like a messaging number, come back to you instead of being guessed.

Hours, review replies and the website

The upkeep after the first pass: holiday hours on every location, review replies drafted for your approval, and the website's hours and services page updated through its own admin.

Most of the work is typing

Ask someone who does Google Business Profile optimization for a living where the hours go and they’ll rarely say strategy. The categories and the service list get settled in one call with the owner. After that it’s the editor: “Add service,” a name, a line of description, save, and again, and a dental practice with a full menu can run to thirty or forty services over three categories (we picked dentistry for the example because the menus are long, not because dentists are especially behind). Attributes sit in their own panels and get switched on one by one. The “Complete your profile” checklist keeps asking for a booking link and social profiles until somebody digs them up.

An agency does the whole round again for every new client. Owners do it when they open a second location, usually after closing time.

dassi does the entering. It works in the Business Profile editor in your browser, signed in as you or as a manager on the client’s profile, from a sheet holding the listing’s contents in the words you chose. What goes on the profile is what’s in that sheet. dassi won’t add a service the business doesn’t offer or slip keywords into a description you already approved, which some people will see as a missed trick and we see as the point.

The example run, and where it stopped

The run record on this page is illustrative, modeled on how people use this job rather than recorded from one: a dental practice’s onboarding tab with 34 services under three categories, a 742-character description (Google’s limit is 750), 11 attributes, a booking link and three social profiles.

Five services were already on the listing under the same names, and dassi left them alone. The sixth was “Scaling and root planing,” while the sheet said “Deep cleaning,” which most dentists would treat as the same thing and a few wouldn’t. We don’t know which kind this practice is. Neither did dassi, so that row came back marked for a person.

The longer pause came at the category. Five services belonged under Emergency dental service, the listing didn’t have it, and adding a category changes how Google files the business, so it’s one of the edits Google is most likely to hold for review. The workflow said to ask first. dassi asked, waited nine minutes while someone checked with the practice, then added the category and the five services under it.

Two small misses went into the status column. Free Wi-Fi wasn’t offered as an attribute here, and the checklist’s chat item wanted a messaging number nobody had put in the sheet.

What Google decides

Pressing save doesn’t publish anything for certain. Google holds some edits for review, can take days over them, and occasionally rejects one with a notice that explains very little. It also applies edits suggested by the public now and then, without asking the owner first. We’d run a check a few days later that reads the live listing and compares it with the sheet, and we haven’t found a better way to catch the edits that quietly didn’t stick.

Attributes depend on categories. If Google doesn’t show a toggle, dassi can’t switch it on, and it tells you instead of hunting for a workaround.

People usually ask about the Business Profile API first. It exists. Access has to be requested and approved, quotas come with it, and most small businesses (plus a fair share of the consultants who work for them) never apply, which is why this job runs in the editor.

After the first pass

The profile you finish today will need holiday hours before the next public holiday, on every location, and the same workflow can take that on. It can also draft replies to new reviews in the owner’s voice, each one waiting for approval before it posts (the review response job has a recorded run of that part), and update the hours banner or services page on the website through the site’s own admin, WordPress or Squarespace or whatever you sign into, so a customer who checks both sees the same thing.

Scheduled runs happen in your own browser, which has to be open when one is due. Monthly is our guess for most listings. A restaurant that changes its menu every season probably wants more, but we haven’t seen enough of those to say.

Teach it once

01

Put the listing in a sheet

One tab per listing: services grouped by category with a line on each, the description, the attributes to turn on, the links. dassi works from what's written there and nothing else.

02

Say what waits for you

Adding a category, removing a service, changing the business name. Mark those as approvals. Ours was one line: ask before adding any category.

03

Run it per listing

Save the run as a workflow. For the next client or location, point it at a new tab. A second run a few days later checks what Google actually published.

Your accounts. Your machine. Your call.

Runs on your machine

The agent works in your browser on your computer, local by design. It never runs in our cloud.

Your logins stay yours

It works in the sessions you're already signed into. No password handoff, no credential vault.

You approve what leaves

Messages, submissions, payments — anything outbound waits for the approvals you set.

Your model, your choice

Claude, GPT or Gemini with your own key or included credits, or a fully local model. On your own key, prompts go straight to your provider; included credits pass through dassi's relay.

Frequently asked questions

Why not use the Google Business Profile API?

You can if you have it. Access to Google's Business Profile APIs has to be requested and approved, and it comes with quotas. For one business, or a consultant onboarding a few client listings a month, the editor is what's there, and it's where dassi works, signed in as you.

Will my changes show up on Google right away?

Not always. Google reviews some edits before they go public, categories and descriptions especially, and it can turn an edit down. That's why we'd schedule a check run a few days later to compare the live listing with your sheet.

Can it manage client listings for an agency?

Yes, on any listing where your Google account is an owner or manager. Each listing is its own run from its own tab. If your session has expired, dassi signs in with what Chrome's password manager fills, and two-factor prompts come to you.

Will it write the services list or description for me?

In this job it enters what you've written and approved. It won't add services the business doesn't offer, which misleads customers and goes against Google's guidelines. It can draft a description for you to edit first, as a separate step.

How big a listing can it handle in one run?

Long runs use more credits, or more API spend if you're on your own key. A listing with sixty services is a long run, so we'd split it: services first, then description, attributes and checklist items.

Is this the same as hiring a Google Business Profile service?

No. A service does the work for you. dassi is what you, or the agency you work with, use to do the entering, while the decisions stay yours. Software-only with your own model key is $10/mo; plans with monthly credits run $25–$300/mo. Free credits to try dassi, good for 7 days. No card required.

Give dassi its first run

Install dassi, open the pages this job lives in, and show it the work once. It runs from then on — your way, on your machine.

Add dassi to your browser

Free credits, good for 7 days — no card required

More jobs dassi runs

Sign up — get 10% off

Create your dassi account. We'll email your discount code + the desktop install link.

or