Stay organized with collections
Save and categorize content based on your preferences.
Business Profile is a free
and easy-to-use tool for businesses and organizations to manage their online
presence across Google, including Search and Maps.
The
Google Business Profile API
provides an interface for managing business location information on Google. A
business can grant access through OAuth consent to another business to manage
their profile on their behalf.
Managed businesses on Business Profile have already been verified through the
Business Profile verification process. You can extend the Business Profile OAuth
consent flow to onboard these businesses to Business Messages and auto-verify
them for launch on Business Messages.
This is a more scalable and faster method to launch Business Messages and is
the recommended flow for enabling messaging for a Business Profile location.
Prerequisites
You must be an existing Business Profile partner with access to the Google
Business Profile APIs. If you aren't, follow the Business Profile
prerequisites
to apply for access.
Once you are granted access to the Google Business Profile API, follow their
basic setup
and OAuth setup
guides before continuing.
Enable Business Messages for a verified Business Profile location
The following diagram shows how your web service can leverage a brand's
Business Profile location verification for a Business Messages agent. See below
for detailed instructions.
In your existing OAuth consent flow where a Business Profile account owner
grants you access to call the Google Business Profile APIs on their behalf,
update the API scopes to include
Both scopes are required to successfully auto-verify the agent and business
locations.
Create an agent
with a displayName that matches the name of least one of the Google
Business Profile listings owned by the OAuth credentials you obtained in the
previous step. Look up
locations
with the Google Business Profile
API
to find the names of businesses.
For name matching,
Character casing is insensitive.
The agent's full name must exactly match the first word or words in the
Business Profile location name. For example, an agent named "GBP Bakery"
matches "Gbp Bakery Mountain View", "Gbp Bakery", and "gbp bakery sunnyvale",
but it doesn't match "Bakery San Francisco".
For each location in Business Profile,
create a location
with the same placeId. The placeId for a Business Profile location is
contained within the
LocationKey
object when a location is retrieved from the Google Business Profile API.
The verification request requires brand contact information. However, the
verification process won't send an email to the brand if the agent name
matches the Business Profile name and if you obtained the OAuth token
with the correct scopes.
If you did this correctly, the output from the verification request should
immediately return a verificationState of VERIFICATION_STATE_VERIFIED.
If verificationState returns a different value, then it's likely that you
didn't use the correct OAuth token when making the request or the agent
couldn't be matched to a Business Profile location.
Using the same OAuth token, request location
verification
for all locations owned by the business on Business Profile.
As with agent verification, if you did this correctly, the output from the
verification request should immediately return a verificationState of
VERIFICATION_STATE_VERIFIED. If verificationState returns a different
value, then it is likely that you didn't use the correct OAuth token when
making the request or the Business Profile location isn't a claimed and
verified business.
Enable messaging for specific locations by
launching
the locations that you want to be available through Search and Maps. Once
the launch process begins, messaging for each launched location is available
to users within a few hours.
Once you follow these steps, all consumer messages are posted to your registered
Business Messages webhook, and you must send responses to consumers with the
Business Messages API.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-11-14 UTC."],[[["\u003cp\u003eBusiness Profile is a free tool that allows businesses to manage their online presence on Google Search and Maps.\u003c/p\u003e\n"],["\u003cp\u003eBusinesses can grant access to other businesses to manage their profiles through the Business Profile API.\u003c/p\u003e\n"],["\u003cp\u003eVerified Business Profile locations can be easily onboarded to Business Messages, enabling faster messaging setup.\u003c/p\u003e\n"],["\u003cp\u003eThis streamlined process involves updating API scopes, creating an agent, and verifying the agent and locations, ultimately leading to a quicker Business Messages launch.\u003c/p\u003e\n"],["\u003cp\u003eOnce launched, businesses can receive and respond to customer messages through the Business Messages API.\u003c/p\u003e\n"]]],[],null,["# Onboard locations from Business Profile\n\n[Business Profile](https://www.google.com/business/) is a free\nand easy-to-use tool for businesses and organizations to manage their online\npresence across Google, including Search and Maps.\n\nThe\n[Google Business Profile API](/my-business)\nprovides an interface for managing business location information on Google. A\nbusiness can grant access through OAuth consent to another business to manage\ntheir profile on their behalf.\n\nManaged businesses on Business Profile have already been verified through the\nBusiness Profile verification process. You can extend the Business Profile OAuth\nconsent flow to onboard these businesses to Business Messages and auto-verify\nthem for launch on Business Messages.\n\nThis is a more scalable and faster method to launch Business Messages and is\nthe recommended flow for enabling messaging for a Business Profile location.\n\nPrerequisites\n-------------\n\nYou must be an existing Business Profile partner with access to the Google\nBusiness Profile APIs. If you aren't, follow the Business Profile\n[prerequisites](/my-business/content/prereqs)\nto apply for access.\n\nOnce you are granted access to the Google Business Profile API, follow their\n[basic setup](/my-business/content/basic-setup)\nand [OAuth setup](/my-business/content/oauth-setup)\nguides before continuing.\n\nEnable Business Messages for a verified Business Profile location\n-----------------------------------------------------------------\n\nThe following diagram shows how your web service can leverage a brand's\nBusiness Profile location verification for a Business Messages agent. See below\nfor detailed instructions.\n\n1. In your existing OAuth consent flow where a Business Profile account owner\n grants you access to call the Google Business Profile APIs on their behalf,\n update the API scopes to include\n\n - https://www.googleapis.com/auth/business.manage\n - https://www.googleapis.com/auth/businesscommunications\n\n Both scopes are required to successfully auto-verify the agent and business\n locations.\n2. [Create an agent](/business-communications/business-messages/guides/how-to/agents)\n with a `displayName` that matches the name of least one of the Google\n Business Profile listings owned by the OAuth credentials you obtained in the\n previous step. Look up\n [locations](/my-business/reference/businessinformation/rest/v1/accounts.locations/list)\n with the [Google Business Profile\n API](/my-business/content/overview)\n to find the names of businesses.\n\n For name matching,\n - Character casing is insensitive.\n - The agent's full name must exactly match the first word or words in the Business Profile location name. For example, an agent named \"GBP Bakery\" matches \"Gbp Bakery Mountain View\", \"Gbp Bakery\", and \"gbp bakery sunnyvale\", but it doesn't match \"Bakery San Francisco\".\n3. For each location in Business Profile,\n [create a location](/business-communications/business-messages/guides/how-to/locations#create-location)\n with the same `placeId`. The `placeId` for a Business Profile location is\n contained within the\n [`LocationKey`](/my-business/reference/businessinformation/rest/v1/accounts.locations#resource:-location)\n object when a location is retrieved from the Google Business Profile API.\n\n4. With the agent you created and the obtained OAuth token, [request agent\n verification](/business-communications/business-messages/guides/how-to/verify#verify_an_agent).\n\n | **Note:** You must use the obtained dual-scope OAuth token, not your project's service account key.\n\n The verification request requires brand contact information. However, the\n verification process won't send an email to the brand if the agent name\n matches the Business Profile name and if you obtained the OAuth token\n with the correct scopes.\n\n If you did this correctly, the output from the verification request should\n immediately return a `verificationState` of `VERIFICATION_STATE_VERIFIED`.\n If `verificationState` returns a different value, then it's likely that you\n didn't use the correct OAuth token when making the request or the agent\n couldn't be matched to a Business Profile location.\n5. Using the same OAuth token, [request location\n verification](/business-communications/business-messages/guides/how-to/verify#location_verification)\n for all locations owned by the business on Business Profile.\n\n As with agent verification, if you did this correctly, the output from the\n verification request should immediately return a `verificationState` of\n `VERIFICATION_STATE_VERIFIED`. If `verificationState` returns a different\n value, then it is likely that you didn't use the correct OAuth token when\n making the request or the Business Profile location isn't a claimed and\n verified business.\n6. [Launch the\n agent](/business-communications/business-messages/guides/how-to/launch/agents#launch-agent)\n with the entry point `LOCATION`.\n\n7. Enable messaging for specific locations by\n [launching](/business-communications/business-messages/guides/how-to/launch/locations)\n the locations that you want to be available through Search and Maps. Once\n the launch process begins, messaging for each launched location is available\n to users within a few hours.\n\nOnce you follow these steps, all consumer messages are posted to your registered\nBusiness Messages webhook, and you must send responses to consumers with the\n[Business Messages API](/business-communications/business-messages/reference/rest)."]]