Portfolio Supported AIs Solutions Tasks Email Archive Bring Your Own Code Integrations Pricing

Get Started

ChatGPT

ChatGPT

Start directly →

Ready
Claude

Claude

Directory Connector →

Ready
Mistral

Mistral

Directory Connector →

Ready

Dashboard Always available
Google

Google

⚡ Built-in — Platform Built-in

Connect a Google account with one approval on Google's own screen — no passwords or API keys. Read Google Sheets, export to new Google Sheets, send email from the connected Gmail account, and read Search Console (sitemaps, URL indexing, search performance). Paid plans.

⚡ Built-in — No Setup Required This integration is built into the WebsitePublisher platform. All endpoints are available immediately — no API key needed.

Try it with your AI assistant

Once WebsitePublisher is connected to your AI assistant, paste one of these into the chat. Replace the parts in [brackets] with your own details.

@WebsitePublisher connect my Google account and show my [sheet name] Google Sheet in a table on my admin page
@WebsitePublisher export my leads to a new Google Sheet
@WebsitePublisher show how my site performs in Google Search: clicks, impressions and which pages are indexed
With WebsitePublisher, connect my Google account and show my [sheet name] Google Sheet in a table on my admin page
With WebsitePublisher, export my leads to a new Google Sheet
With WebsitePublisher, show how my site performs in Google Search: clicks, impressions and which pages are indexed
With WebsitePublisher, connect my Google account and show my [sheet name] Google Sheet in a table on my admin page
With WebsitePublisher, export my leads to a new Google Sheet
With WebsitePublisher, show how my site performs in Google Search: clicks, impressions and which pages are indexed

Endpoints (16)

POST connect

Start connecting a Google account. Returns authorize_url: give it to the user as a clearly labelled "Connect Google" link or button. The user approves on Google's own screen and the tokens are stored automatically — never ask the user for a password or secret. The link is single-use and expires after 30 minutes. Paid plans only.

Field Type Required Description
capabilities array ✓ Yes What the connection may do: "sheets_read" (read Google Sheets), "drive_export" (create and fill new Google Sheets), "gmail_send" (send email from the connected Gmail account; cannot read mail), "search_console_read" (read Search Console data of the site; cannot change anything), "search_console_manage" (also submit the site's own sitemap; includes search_console_read). Ask only for what the task needs.
return_url string No Optional page on a websitepublisher.ai domain to return to after approval.
GET connection-status

Whether Google is connected for this project: account email, granted capabilities, and what to do when re-authorization is needed.

No input parameters required.

POST disconnect

Disconnect Google: revokes access at Google and deletes the stored tokens.

No input parameters required.

GET sheets-get-meta

Spreadsheet title and its tabs (name, rows, columns). Requires capability sheets_read.

Field Type Required Description
spreadsheet string ✓ Yes Google Sheets URL or spreadsheet ID.
GET sheets-read-range

Read rows from a tab or A1 range, max 5000 rows per call. Requires capability sheets_read.

Field Type Required Description
spreadsheet string ✓ Yes Google Sheets URL or spreadsheet ID.
range string ✓ Yes Tab name ("Leads") or A1 range ("Leads!A1:F500").
max_rows integer No Cap on returned rows (default and maximum 5000).
POST sheets-create

Create a new Google Sheet in the connected account, optionally with a header row. Requires capability drive_export. Returns spreadsheet_id and url.

Field Type Required Description
title string ✓ Yes Spreadsheet title.
tab string No Name of the first tab (default "Sheet1").
header array No Optional header row, e.g. ["Name", "Email"].
POST sheets-write-values

Write rows to a Google Sheet that was created through the platform (drive_export cannot reach other sheets). mode "append" adds rows below the existing data, "replace" clears the tab first. Values are written as plain text, never as formulas. Max 5000 rows per call.

Field Type Required Description
spreadsheet string ✓ Yes Spreadsheet URL or ID (from sheets-create or a google_sync push source).
tab string ✓ Yes
rows array ✓ Yes Array of rows; each row is an array of cell values.
mode string No "append" (default) or "replace".
POST gmail-send

Send an email from the connected Gmail account (the sender is always that account). Requires capability gmail_send. Recipients per email and emails per day are limited per project (see get-config); Gmail's own sending limits also apply. from_name and reply_to fall back to the project defaults.

Field Type Required Description
to array ✓ Yes Recipient addresses, e.g. ["jan@example.com"].
subject string ✓ Yes
body_text string No Plain-text body. Provide body_text, body_html or both.
body_html string No HTML body. A plain-text version is derived when body_text is empty.
cc array No
reply_to string No
from_name string No Display name for the sender, e.g. the business name.
POST gmail-test-send

Send a test email to the connected Google account itself, to confirm that sending works. Requires capability gmail_send.

No input parameters required.

GET gsc-list-sites

Search Console properties of the connected account that cover this project's live domains (Domain properties first), plus the project hosts. Only these properties can be used. Requires capability search_console_read.

No input parameters required.

GET gsc-list-sitemaps

Sitemaps of this site in Search Console: last submitted and downloaded, errors, warnings and submitted URL count. Only sitemaps on this project's own domains are shown. Requires capability search_console_read.

Field Type Required Description
site string No A property from gsc-list-sites; default the first one.
POST gsc-inspect-url

Google's index status of one URL of this site: verdict, coverage state, last crawl, robots.txt, canonical and the sitemaps it was found in. The URL must be on a live domain of this project. Limited per project per day. Requires capability search_console_read.

Field Type Required Description
url string ✓ Yes Full URL, e.g. https://www.example.com/tema/anxiety.
site string No A property from gsc-list-sites that covers the URL; default chosen automatically.
POST gsc-search-analytics

Search performance from Search Console: clicks, impressions, CTR and position, grouped by up to 3 dimensions. Default: the last 28 days of available data, by query. Always limited to this project's own domains. Requires capability search_console_read.

Field Type Required Description
start_date string No YYYY-MM-DD. Default 27 days before end_date.
end_date string No YYYY-MM-DD. Default 2 days ago (Google data lags).
dimensions array No Up to 3 of query, page, country, device, date. Default ["query"].
row_limit integer No Default 100, max 1000.
page_contains string No Only pages whose URL contains this text, e.g. "/tema/".
site string No A property from gsc-list-sites; default the first one.
POST gsc-submit-sitemap

Submit this site's own sitemap (https://{live domain}/sitemap.xml) to Search Console, e.g. after adding pages. No other URL can be submitted. Paid plans (Free serves no sitemap). Limited per project per day. Requires capability search_console_manage.

Field Type Required Description
site string No A property from gsc-list-sites that covers the live domain; default chosen automatically.
GET get-config

Project settings for this integration (Gmail limits and defaults), which ones were changed, and the platform limits.

No input parameters required.

POST set-config

Change project settings; only the keys you send change, null resets a key to the platform default. Values must stay within the platform limits shown by get-config. Paid plans.

Field Type Required Description
gmail_daily_limit integer No Max emails per day for this project.
gmail_max_recipients integer No Max recipients (to + cc) per email.
default_from_name string No Sender display name used when gmail-send has no from_name.
default_reply_to string No Reply-To address used when gmail-send has no reply_to.

MCP Tool Names

When using this integration through an AI assistant (Claude, ChatGPT, Cursor, etc.), the endpoints are available as MCP tools:

EndpointMCP Tool Name
connect google_connect
connection-status google_connection_status
disconnect google_disconnect
sheets-get-meta google_sheets_get_meta
sheets-read-range google_sheets_read_range
sheets-create google_sheets_create
sheets-write-values google_sheets_write_values
gmail-send google_gmail_send
gmail-test-send google_gmail_test_send
gsc-list-sites google_gsc_list_sites
gsc-list-sitemaps google_gsc_list_sitemaps
gsc-inspect-url google_gsc_inspect_url
gsc-search-analytics google_gsc_search_analytics
gsc-submit-sitemap google_gsc_submit_sitemap
get-config google_get_config
set-config google_set_config
← Back to all integrations