Solid Commerce Docs

Solid Commerce in Gemini

Value. Plug Solid Commerce into Gemini so Google-stack merchants can ask Gemini directly about their listings, orders, and ad performance.

Choose this when your operation runs on Workspace / Gmail / Sheets and Gemini is your everyday assistant.

Connect

  1. In Gemini, open Extensions and find Solid Commerce.
  2. Enable it and authorize when prompted.
  3. The Solid Commerce consent screen lists requested scopes in plain English, with a company picker if you belong to more than one company.

Your Google account identifies you; the Solid Commerce access token is issued by Solid Commerce (no Google SSO into your Solid Commerce account). The OAuth callback returns to https://vertexaisearch.cloud.google.com/oauth-redirect.

Try it — just ask

Reads run immediately; writes ask for confirmation first.

Under the hood (for builders)

The extension calls the same canonical Solid Commerce API:

1. List today's orders

A read-only call — safe to run the moment you connect.

import { SolidCommerceClient } from '@solidcommerce/sdk';

const client = new SolidCommerceClient({
  baseUrl: 'https://api.solidcommerce.com',
  auth: { kind: 'bearer', token: process.env.SC_TOKEN! },
});

const since = new Date(Date.now() - 86_400_000).toISOString();
const { data } = await client.raw.GET('/v1/orders/orders', {
  params: { query: { created_after: since, limit: 50 } },
});
console.log(`${data?.data.length ?? 0} orders in the last 24h`);

2. Reprice a listing

A write — the audited reason is captured even if you forget to mention it. In a conversational host this surfaces a confirmation prompt first (every write tool is annotated destructiveHint).

await client.raw.PATCH('/v1/listings/list-items/{listItemId}/automation', {
  params: { path: { listItemId: 'li_1234' } },
  body: { list_price: 19.99, metadata: { price_change_reason: 'competitor match' } },
});

3. Check inventory across warehouses

Another read — see stock for every warehouse in one call.

const { data } = await client.raw.GET('/v1/inventory/warehouses');
for (const wh of data?.data ?? []) {
  console.log(wh.name, wh.available_units);
}

Availability

Our Gemini extension-directory listing is in submission; the hosted endpoint is live and ready for it. Today, Gemini CLI connects with an API key in two minutes. Review our Privacy Policy and Terms.