On this page
- Plugins & MCP
- Signed-in visitors and plugins
- Google Sheets
- Connecting a sheet
- In the Google Cloud console
- In the spreadsheet
- What is filled in for you
- Example
- REST API
- What you configure
- Example
- Shopify Storefront
- What you configure
- Example
- Answer quality
- WooCommerce Storefront
- What you configure
- Example
- Answer quality
- Order Status & Delivery Tracking
- What you configure
- How a shopper is matched to an order
- What the assistant shows — and never shows
- MCP Connector
- What you configure
- Example
Plugins & MCP#
A Plugin is an integration attached to a Skill that gives your chatbot new abilities at chat time. Where a Knowledge Base lets the assistant answer from your content, a Plugin lets it fetch live data or call an external service mid-conversation. Plugins are available on Starter tier and above.
You install a Plugin from the Plugins page in the Console, then attach it to a Skill. The assistant gains the Plugin's tools for every widget that uses that Skill. Credentials you enter during setup are encrypted at rest using an account-scoped key — the raw values are never stored in plaintext.
Plugins run isolated from the core platform
Each Plugin runs in its own isolated environment. A failure in a Plugin degrades the current turn gracefully — it does not affect the rest of the assistant or other widgets on your account.
Signed-in visitors and plugins#
Some plugins look up data that belongs to one person — a shopper’s orders, a member’s bookings. Such a plugin declares the identity fields it needs, and you map each one to a claim of the identity token in Console → Plugins → the plugin → Identity:
- Map to
- Subject
- Claim
sub- Notes
- Your user id. The usual choice.
- Map to
- Claim
email- Notes
- Used only when the token also says
email_verified: true.
- Map to
- Phone
- Claim
phone_number- Notes
- A phone number you verified.
- Map to
- Channel user
- Claim
channel_user_id- Notes
- The person's WhatsApp, Messenger, Instagram or Telegram account id — set by the channel, not by your token.
- Map to
- Custom
- Claim
attrs.<name>- Notes
- Any id you put under attrs, e.g. attrs.crm_id.
| Map to | Claim | Notes |
|---|---|---|
| Subject | sub | Your user id. The usual choice. |
email | Used only when the token also says email_verified: true. | |
| Phone | phone_number | A phone number you verified. |
| Channel user | channel_user_id | The person's WhatsApp, Messenger, Instagram or Telegram account id — set by the channel, not by your token. |
| Custom | attrs.<name> | Any id you put under attrs, e.g. attrs.crm_id. |
A plugin receives only the values you mapped — never the whole token. External plugins also receive only the request context they declare, so a visitor’s name, email or location reaches one only when it asks for it.
Google Sheets#
The Google Sheets Plugin connects your chatbot to a Google Spreadsheet. The assistant can read rows and columns from a sheet and include that data in its answers — useful for pricing tables, staff directories, event schedules, or any structured content you maintain in a sheet.
Connecting a sheet#
The connection runs as a service account you own. You create it in your own Google Cloud project, switch the Sheets API on in that project, and keep the account — Gydr holds only the key you hand it, and nothing about the connection expires on its own.
In the Google Cloud console#
- Open APIs & Services → Library → search Google Sheets API → Enable.
- Open IAM & Admin → Service Accounts → Create service account. The name is up to you —
gydr-sheetsis only a suggestion — then press Done; leave both the role and the grant steps empty. - Open that service account → Keys → Add key → Create new key → JSON. Save the downloaded file.
- Copy the service account's email address from its page in the list — it ends in
iam.gserviceaccount.com.
In the spreadsheet#
- Share → paste that email → Viewer (read only) or Editor (read + append rows) → untick Notify people → Send. Sharing with your whole organisation does not reach a service account — it has to be that address.
Then paste the entire downloaded JSON file into the Service Account Key field in the Console, and save — your sheet tabs and column headers load onto the Data Logging tab, which means the connection works. A wrong key, a disabled Google Sheets API or a missing share is reported at setup rather than discovered later.
Changing your mind later. The service account's email address is shown on the Plugin's Connection tab, so you can copy it into the Share dialog at any time. To revoke access, either remove the share on the spreadsheet or delete the key in Google Cloud — and to rotate the key, press Replace and paste a new one. Remove disconnects the account from Gydr: nothing changes until you press Save Changes and confirm, so cancelling or leaving the page keeps the connection. Your spreadsheet ID and the tabs you loaded on Data Logging are kept either way, and the key itself stays in Google Cloud until you delete it there.
What is filled in for you#
| Field | How to fill it in |
|---|---|
| Spreadsheet | Paste the spreadsheet ID from its URL. Nothing else about the workbook is typed by hand — see below. |
| Sheet tabs & columns | Loaded automatically. When you install the Plugin, Gydr reads the workbook and loads every tab name and its column headers, so the assistant already knows how to structure a row — and you can reload from the spreadsheet whenever the tabs or headers change. |
Example#
A visitor asks “What are your current membership prices?” The assistant reads the pricing tab and answers with the up-to-date values — no re-deployment needed when your prices change in the sheet.
REST API#
The REST API Plugin lets you describe your own HTTP endpoints and have the assistant call them during a conversation. You define each endpoint — method, path, parameters, and authentication — and the assistant decides when to call it based on what the visitor is asking. This Plugin is available on Growth tier and above.
What you configure#
| Field | Notes |
|---|---|
| Base URL | The root of your API — HTTPS only, no private IP addresses. |
| Authentication | Choose one of: none, API key header, Bearer token, Basic auth, or OAuth 2.0 (client credentials or refresh token grant). |
| Endpoints | 1–100 endpoints per attachment. Each has a tool name, HTTP method, path (with {param} placeholders for path parameters), optional query parameters, and a description of what the response contains. |
Example#
Define an endpoint on your order-status API. The assistant calls it when a visitor asks about their order, passes the order number from the conversation as a path parameter, and replies with the live status.
Tool name: get_order_status
Method: GET
Path: /orders/{order_id}/status
Path params: order_id — "The order number the visitor provided"
Description: Returns the current fulfillment status and estimated delivery date.Shopify Storefront#
The Shopify Storefront Plugin turns your chatbot into a personal shopping assistant for your Shopify store. The assistant can search products, browse collections, and check availability. Access is read-only: purchases always happen on your store's own pages — the assistant shares a direct product link.
What you configure#
| Field | Notes |
|---|---|
| Store domain | Your permanent Shopify domain (the *.myshopify.com one, not a custom domain). |
| Storefront access token | A public Storefront API access token generated by your store's Headless channel storefront (Basic plan or higher). A legacy custom-app token also works. Gydr never stores this unencrypted. |
Example#
A shopper asks “Do you have the Merino wool sweater in size M?” The assistant searches your product catalog, returns matching variants with prices and availability, and shares the product's link so the shopper can buy it on your Shopify store.
Answer quality#
Answers from a connected store are best effort. A store search matches keywords in your catalogue's own language rather than meaning, so product recommendations and answers across languages are noticeably weaker than they are from an internal Product Knowledge Base, which is embedded for semantic search. For the strongest results, import your products into a Product Knowledge Base, or set the catalogue language(s) accurately on the Localization tab so the assistant searches in the right language.
The assistant shows products exactly as your store exposes them. A product in no collection, and placeholder products such as an unnamed item priced at zero, appear to shoppers as they are — Gydr cannot rename or hide them. Tidy these in your Shopify admin so shoppers see a clean catalogue.
WooCommerce Storefront#
The WooCommerce Storefront Plugin turns your chatbot into a personal shopping assistant for your WooCommerce store. The assistant can search products, browse categories, and show product details including availability and variations. Purchases always happen on the store's own pages — the assistant shares a direct product link; it cannot add to a cart or place orders.
The plugin uses WooCommerce's public Store API (wc/store/v1), which requires no credential — just your store's URL. Answering order questions also needs a read-only REST key — see Order Status & Delivery Tracking.
What you configure#
| Field | Notes |
|---|---|
| Store URL | The https:// address of your WordPress site, for example https://shop.example.com. If WordPress is installed in a subdirectory, include that path (e.g. https://example.com/store). |
Prerequisites
- WooCommerce 6.4 or later — the Store API is included by default from this version.
- Pretty permalinks enabled — go to Settings → Permalinks and choose any option other than “Plain”. The Store API does not work on the Plain setting.
- Allow
/wp-json/wc/store/through any firewall or Cloudflare bot rule — security plugins and CDN bot-protection rules sometimes block this path. Add an allow rule if needed.
Example#
A shopper asks “Do you have running shoes under $80?” The assistant searches your store, returns matching products with name, price, and availability, and shares the product link so the shopper can complete their purchase on your store.
Answer quality#
Answers from a connected store are best effort. The Store API search matches keywords in your catalogue's own language rather than meaning, so product recommendations and answers across languages are noticeably weaker than they are from an internal Product Knowledge Base, which is embedded for semantic search. For the strongest results, import your products into a Product Knowledge Base, or set the catalogue language(s) accurately on the Localization tab so the assistant searches in the right language.
The assistant shows products exactly as your store exposes them. Products filed only under the default Uncategorized category, and placeholder products such as an unnamed item priced at zero, appear to shoppers as they are — Gydr cannot rename or hide them. Tidy these in your WooCommerce admin so shoppers see a clean catalogue.
Order Status & Delivery Tracking#
Turn this on and the assistant answers “where is my order?” — order status, items, total and tracking — without the shopper leaving the chat. It's off by default. For a step-by-step WordPress walkthrough, see WordPress & WooCommerce setup.
What you configure#
- Field
- REST API key
- Notes
- On the plugin's Orders tab. Create a read-only key in WordPress under WooCommerce → Settings → Advanced → REST API → Add key — user: a Shop Manager or Administrator; permissions: Read. Paste both the consumer key and secret. Gydr can never place, change or cancel an order.
- Field
- Check key
- Notes
- Tests the key and reports one of: accepted; rejected key; key lacks read permission; the host strips the Authorization header; REST API unreachable.
- Field
- Answer order & delivery questions
- Notes
- Switched on when you complete the Order & delivery status step of the setup (or with the switch on the Orders tab). Off until then.
- Field
- Identity → WooCommerce customer ID
- Notes
- Mapped to Subject (
sub) by default. A WooCommerce customer id is the WordPress user id, so a WordPress site signs its tokens withsub= the user id and nothing else is needed. See Identify signed-in visitors.
| Field | Notes |
|---|---|
| REST API key | On the plugin's Orders tab. Create a read-only key in WordPress under WooCommerce → Settings → Advanced → REST API → Add key — user: a Shop Manager or Administrator; permissions: Read. Paste both the consumer key and secret. Gydr can never place, change or cancel an order. |
| Check key | Tests the key and reports one of: accepted; rejected key; key lacks read permission; the host strips the Authorization header; REST API unreachable. |
| Answer order & delivery questions | Switched on when you complete the Order & delivery status step of the setup (or with the switch on the Orders tab). Off until then. |
| Identity → WooCommerce customer ID | Mapped to Subject (sub) by default. A WooCommerce customer id is the WordPress user id, so a WordPress site signs its tokens with sub = the user id and nothing else is needed. See Identify signed-in visitors. |
How a shopper is matched to an order#
- Signed-in shoppers (your site sends an identity token) see their 5 most recent orders, with tracking for the newest, without being asked anything. Asking about a specific order they own shows it. Another customer’s order number gets “no order with that number” — the assistant never reveals that it exists.
- Guests — and orders placed as a guest checkout (customer id 0) — get a short form asking for the order number and billing email. The order is shown only when both match. A wrong pair and a missing order get the same answer, and attempts are limited per email and per visitor.
- On WhatsApp, Messenger, Instagram and Telegram the order-number form is always used: those channels identify the person by their messaging account only, not by your website sign-in.
What the assistant shows — and never shows#
Order status, items, total and tracking. Tracking appears when your store uses WooCommerce Shipment Tracking, Advanced Shipment Tracking (AST), or WooCommerce's own order fulfilments.
The assistant never shows a shipping or billing address or a phone number, and it cannot change or cancel an order. Conversations that showed an order are never listed in the visitor’s past chats.
Check key says the host strips the Authorization header?
Authorization header before WordPress sees it. On Apache, add SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1 to your .htaccess, or ask your host to pass the header through.MCP Connector#
The MCP Connector lets you connect your chatbot to any remote Model Context Protocol (MCP) server. Gydr connects to the server, discovers its tools, and lets you grant each tool individually to the assistant. The assistant then calls the granted tools at chat time, just like any other Plugin.
This is useful for connecting to any service that exposes an MCP server — internal tooling, third-party SaaS products, or your own custom server. The MCP Connector supports Streamable HTTP transport.
What you configure#
| Field | Notes |
|---|---|
| Server URL | The HTTPS URL from your provider's MCP documentation. Paste the address without a path and Gydr will try the conventional /mcp and /sse endpoints for you. |
| Authentication | Detected for you. Gydr asks the server how it authenticates and acts on the answer: for OAuth it registers itself with the provider and sends you to that provider's own sign-in page, so there is nothing to fill in. If the server instead wants a token you already hold, or is one of the few providers that requires an app you register yourself, the Console asks for that one thing — and only then. |
| Tool permissions | After connecting, Gydr discovers the server's tools and shows them in the Permissions tab. Read-only tools are enabled by default. Tools that can modify data are disabled by default — you enable each one explicitly. |
Example#
You have an internal support tool that exposes an MCP server. Enter its URL in the Console, click Connect — approving access at your provider if it asks — and Gydr discovers the available tools — for example, get_ticket_status and list_open_tickets. Enable those tools in the Permissions tab, attach the Plugin to a Skill, and your chatbot can now look up support ticket status in real time without any additional integration work.
The MCP Connector supports up to 30 tools per connected server. Tools are re-discovered each time you click Test connection & refresh tools in the Console — changes on the server do not appear automatically.
