Connecting AI Assistants to Dashboardly

Zuletzt aktualisiert: 26. Oktober 2026

Overview

Dashboardly lets you connect an AI assistant such as ChatGPT, Claude, or Cursor so it can answer questions about your TikTok Shop data in plain English. You ask "What was my net profit last week?" or "Which SKU sold most yesterday in my UK shop?" and the assistant pulls the answer directly from your live Dashboardly data.

The connection uses an open standard called the Model Context Protocol (MCP). ChatGPT and Claude Desktop can use Dashboardly account sign-in (OAuth), while developer tools can use an API key. With OAuth, one connector can cover all shops you can access, only shops you select, or only the shop that was active when you signed in.

API Keys are read-only by default. An AI assistant can read the analytics areas listed below, but it cannot create orders, edit settings, send refunds, or modify anything in TikTok Shop. A shop owner or admin can separately create a one-shop key with dated COGS upload permission for a trusted warehouse or ERP integration; that permission is disabled by default and is not exposed as an AI/MCP action. Some specialized Dashboardly pages do not yet have a dedicated MCP tool; the current coverage is stated explicitly below.

You manage all keys on the Settings > API Keys page.

Keeping a financial request within the connection

Ask for the report, authorized shop and date range you need. Dashboardly's Profit connection retrieves reports; it cannot change ad budgets, product costs, orders or inventory. An unsupported request should receive an explanation and a supported financial-report alternative, without directing you to grant another connector access. The separate AI Pilot is a different connection.

The Profit connection supplies guidance for staying within these reporting and privacy limits. An assistant may not use that guidance, so it does not guarantee the assistant's wording or choice of tools.

Plan Requirements

API Keys are part of Dashboardly's AI Integrations feature. The usual Brand plan eligibility is:

PlanAPI Keys Included
Brand StarterNot available
Brand GrowingAvailable
Brand ProAvailable
Brand EnterpriseAvailable

An active or trial subscription on an eligible Agency plan also qualifies. Account-specific access settings can enable AI Integrations beyond this table. Check the availability shown for your account in Dashboardly.

If you are on Brand Starter, the API Keys tab in Settings shows an upgrade prompt. Upgrade your subscription on the Settings > Subscriptions page to enable the feature.

There is no per-key fee. An eligible account can keep up to five API keys active at a time, with no extra charge for the queries an AI assistant makes. Revoke a key you no longer use before creating another one when all five slots are occupied.

How It Works

With Dashboardly account sign-in, the consent screen asks which shops the connector may use:

  • All shops I can access (recommended) follows your current Dashboardly access. Newly assigned shops become available, while disconnected shops or removed collaborator assignments stop being available automatically.
  • Selected shops only limits the connector to the shops you check and still respects later access removals.
  • Current shop only keeps the connection limited to the shop that was active when you signed in.

Existing OAuth connections created before multi-shop selection remain limited to their original shop. Revoke and reconnect the app to choose a different scope.

If an existing connection asks you to confirm access again, the consent screen shows its original order-data access and shop scope. Confirming keeps those choices; it does not upgrade or downgrade them. The shop list shows the shops currently available within that scope, and your current Dashboardly permissions still restrict what the assistant can read. To change the original choices, revoke that connection and create a new one.

When you create an API key in Dashboardly, two things happen:

  1. The key is generated. It looks like dk_live_... followed by a long random string. You see the full key exactly once, at the moment of creation. After that, Dashboardly stores only a fingerprint of it, so even our support team cannot retrieve the full key later.
  2. The key is bound to your account. Each key is tied to your Dashboardly login and, optionally, to a single TikTok Shop. Reports use Dashboardly's reporting services and respect the key's allowed shops and your current reporting permissions. Compare the same shop, dates and reporting settings when checking an answer against the app.

Your AI assistant connects to a Dashboardly endpoint (the MCP server) and presents the key. The endpoint verifies the key, looks up which shop the key is allowed to read, and returns the requested data. Dashboardly records request metadata on a best-effort basis — which key and shop were used, which data area was queried, when, and whether it succeeded — so you can see how often your assistant is using the key. It does not record the questions you ask or the data that was returned. See Security & Privacy below for exactly what is and is not recorded.

MCP report tools remain read-only. Optional dated COGS and manual-adjustment write permissions belong to the separate Agency Developer REST API and are not available as AI/MCP actions. Developer REST has its own interactive reference at https://api.dashboardly.io/api/developer/docs.

For shops with Custom P&L enabled, the get_custom_pnl tool can list published saved reports, discover their immutable prepared evaluations, and page through the same SKU/day values used by the Dashboardly report and Excel export. It cannot edit report rows, formulas, mappings, allocations, or source data, and it never starts a new calculation.

Daily Financial Export for Automations

The read-only get_daily_financials MCP tool gives a server-side automation a complete daily financial series in one request. Choose JSON when your program will process the result, or CSV when it should save or forward a spreadsheet- ready file. The export includes every calendar day in the requested shop-local date range and returns Gross Sales, Net Sales, buyer-paid checkout total, platform subsidy, platform commission, co-funded promotion fee, Net Ad Spend, Net Profit, active paid order count, and the count of orders that do not yet have a payment row.

buyerPaid uses TikTok's order payment total and excludes sample, cancelled, and unpaid orders. Separate including-cancelled and cancelled-only values make reconciliation explicit. Platform commission and co-funded promotion fee keep Dashboardly's signed expense convention (normally negative), while Net Ad Spend is returned as a positive cost. Dashboardly calculates the financial columns through the same canonical Profit & Loss services used by the app; the automation should not rebuild Net Profit from raw order fields.

Missing financial values are returned as null with an availability reason; they are not a confirmed zero. CSV leaves unavailable cells blank and includes status and reason columns. A confirmed P&L period total remains available even when some daily cells are missing. Buyer-paid totals require all daily values and confirmation that the complete imported-order query succeeded for the requested dates and timezone. A day with no matching orders is zero only after that query succeeds. A failed or malformed query is unavailable. Availability describes the returned values and does not certify that every source import or settlement is complete. Large JSON responses explicitly mark partial row detail; use CSV or a narrower date range for complete detail.

Profit & Loss, Dashboard summary and daily financial exports include sourceQuality: the report's effective accounting and date basis, sales basis, figure selection, sample-cost setting, and reporting timezone, plus temporary or estimated data indicators and source/snapshot coverage. These are the settings used for the returned report, which may differ from the requested settings. Use them when comparing your export with Profit & Loss. Statement-date reports also carry the Statement timezone and date profile when supplied. If the report does not supply an accounting fallback reason or Ad Spend calendar details, those fields remain null. Missing metadata is null; an available number does not establish final settlement. A sample-cost setting of false means those costs are excluded, while null means the setting was not provided. The CSV sourceQuality column contains the same report-level metadata as JSON, not separate completeness proof for each day.

P&L rows retain their formula roles. Detail rows, references, subtotals and final totals must not be added to the same calculation again. The response keeps the backend's Net Profit and indicates deferred fee detail when present. Dashboard overview permission allows headline totals; the full financial breakdown also requires Profit & Loss permission.

Reading financial explanations

Use the reported profit values. A summary of manual adjustments does not show how those adjustments were distributed by day. A partial list of costs does not establish a complete profit calculation or explain an apparent gap. Before-manual profit, daily allocations and reasons for an unavailable value are reported only when the source actually supplies them; an assistant's reconstruction is not a reported figure.

A reported cost can be displayed as a negative effect on profit, but that presentation should be labeled. Keep it distinct from the source's reported amount and formula role; changing the display sign does not change the report.

Some reconciliation notes are general education about why reporting views can differ. They are possible explanations, not confirmed findings for your shop. Establish a payout difference from actual compared reports, with the shop, dates, reporting basis and currency stated. An absent or null fallback reason means unknown, not proof that no fallback occurred. These limits help interpret the returned data; they do not guarantee every AI assistant's explanation.

Dashboardly provides the read-only data call, but it does not run a customer's private Node.js process or email files on the customer's behalf. Run the MCP call from a trusted server-side cron job, n8n workflow, or cloud scheduler and store the key as a secret. Dates are interpreted in the shop timezone supplied by list_shops; do not send the API key by email or embed it in source code.

Exporting Profitability at Shop, Product, SKU, and Order Level

Your read-only key can retrieve profitability at the level that matches your workflow. Shop totals are available through Dashboard and Profit & Loss data; product and SKU rows are available through Sales & Profit; individual orders can include their complete financial reconciliation. These results use Dashboardly's canonical metric services, including dated COGS, shipping, TikTok fees, manual expenses, ad spend, and preliminary-data indicators.

Gross Margin compares Gross Profit with Net Sales. Operating Margin uses Operating Profit before ad spend, while Net Margin uses Net Profit after ad spend. When Net Sales is zero or negative, these margins are undefined. Some older response fields return 0 for an undefined margin; that value does not mean the shop has 0% profitability. Read the monetary profit value and the Net Sales denominator together, and use the aggregate margin rather than averaging percentages from individual rows.

For an AI assistant, ask for Sales & Profit and specify whether you want one row per product or one row per SKU. Results are paginated, so the assistant can request additional pages until every row has been read. For a server-to-server integration, first confirm that Developer REST access is enabled for your account and create a key with Allow private Developer REST API selected. An ordinary MCP key does not grant REST access. With that Developer key, request GET /api/developer/v1/sales-profit with grain=product or grain=sku. Use the returned pagination details to continue until hasMore is false. The response preserves every profitability field rather than returning only a small fixed set of metrics.

If an MCP numbered-page response returns PAGE_TOO_LARGE, that page has not been delivered. Use its retry arguments to restart at page 1 with a smaller page size, discard the previous traversal, and continue with that size. Do not advance to the next page after an oversized-page error: doing so would skip records. If even one record cannot fit, narrow the query as the error directs.

For order-level exports, request orders with financials included. With the default Reporting & reconciliation access, buyer name, email, phone, address, and tracking details are excluded, while TikTok Order IDs, Product/SKU IDs, quantities, settlement status, revenue, COGS, shipping, fees, and order profit remain available. An owner or admin can instead choose Full orders & fulfilment under MCP order data access when creating a new key. The MCP orders tool must also explicitly request includeCustomerData: true to include customer and fulfilment fields. Existing keys are not upgraded, and values masked by TikTok stay masked. This changes read access only; MCP tools still cannot modify orders or shop data.

For a reporting-only connection, the Orders tool advertises financial reporting and accepts includeCustomerData only as false. A request that forces it to true is rejected before order data is retrieved. Connections with explicit Full orders & fulfilment access retain their separate option; this does not upgrade an existing connection or expose customer fields in other analytics tools.

Product Profitability Responses and Filters

Product and SKU amounts use the same financial adjustments and cent allocation as Sales & Profit for the matching shop, dates, and reporting settings. A page contains only part of the result; keep the returned pagination and summary scope when comparing it with the app. Cent allocation applies across the full result before pagination, so independently rounding raw row amounts can differ from the displayed amounts.

The response includes reportingContext with the effective accounting basis, date basis, sales basis, figure selection, and sample-cost setting supplied by the report. Missing values remain null, and an explicit false sample-cost setting remains distinct from unknown. This context also accompanies summary totals when a numbered page is too large to return. These details describe the reporting settings; they do not certify complete imports or final settlement.

The Sales & Profit MCP tool returns the requested product or SKU rows before optional explanatory details, so a large catalog or a detailed data-quality report does not crowd the profitability rows out of the response. Product rows include the complete Dashboardly profitability result, including Ad Spend, Referral Fee, Customer-paid Shipping, Shipping Cost, COGS, Operating Profit, and Net Profit. Ask for one row per SKU when you need variant-level costs and profitability.

By default, the summary and product rows use the same search, Product ID, and SKU filters. The response labels this as summaryScope: "filtered". This means that if you search for one product, the summary describes that product instead of silently showing the whole shop. An integration that intentionally needs shop totals beside filtered product rows can request summaryScope: "whole_shop"; the response labels the different scope explicitly. Filtered summaries use the product-attributed Ad Spend rows, and allocated overhead/manual expenses are applied before Operating Profit and Net Profit are returned, so the visible deductions are not omitted from the profit totals. When TikTok publishes product-level ad revenue without product-level cost, Dashboardly uses the same product-sales allocation as the Sales & Profit cards instead of treating that product's Ad Spend as zero.

Detailed finality notes and the full SKU catalog are optional because they can be much larger than the requested profitability data:

  • includeDataQuality: false is the default and returns a compact preliminary versus final summary. Set it to true only when you need the per-metric finality detail.
  • includeSkuCatalog: false is the default. Use the SKU breakdown when you need SKU profitability; set this option to true only when you also need every catalog SKU attached to each product.

Ad campaign results come from Dashboardly's imported, shop-specific TikTok Ads data. A response distinguishes between available data, a sync in progress, stale recent data being refreshed, and a date range with no campaign-level attribution. An empty campaign list therefore does not automatically mean your whole-shop Ad Spend is zero; ask for the Marketing Overview total when TikTok does not provide campaign-level rows for the period.

Developer REST API for Custom Integrations

Customers on a current Agency plan, or Brand customers with an approved account-specific exception, can use the separate Developer REST API from their own server-side code once Dashboardly enables it for the account. Each key must also have Allow private Developer REST API selected when it is created. Existing MCP keys do not gain this permission when account access is enabled. If the option is missing, contact support to check your account's eligibility. It is standard HTTPS/JSON rather than MCP and covers the Dashboardly analytics modules, including Dashboard, Profit & Loss, Sales & Profit, Cashflow, Orders, Inventory, Warehouse, Customers, Marketing, refunds, and manual adjustments.

Reading is the default. Two write capabilities exist and each needs its own permission on a key scoped to exactly one shop: dated COGS uploads (write:costs) and manual-adjustment management — create, update, delete, suspend, resume (write:manual-adjustments). A key can only change the adjustments it created itself.

Open the full Swagger reference at https://api.dashboardly.io/api/developer/docs or use the machine-readable OpenAPI document at https://api.dashboardly.io/api/developer/openapi.json. See Connect Your Backend with the Developer REST API for the setup, privacy, and permission model.

What “Allow dated COGS uploads” Does

The checkbox does not connect Claude, ChatGPT, or another cloud service by itself. It adds a narrowly scoped write:costs permission to the API key you are creating.

When enabled, your own trusted warehouse or ERP backend can send up to 1,000 dated product/SKU costs per request to:

POST https://api.dashboardly.io/api/developer/v1/costs

Each row contains a Dashboardly/TikTok Product ID, an optional SKU ID, a Unit COG, and an inclusive YYYY-MM-DD Effective Date. A product row becomes the product-level default; a SKU row overrides that default for the selected SKU from its Effective Date onward.

The account must have the private Developer REST API enabled, with Allow private Developer REST API selected on the new key. The permission is available only when all of these are true:

  • the person creating the key is an owner or admin;
  • exactly one shop is selected;
  • Allow dated COGS uploads is checked.

Existing keys, merchant-wide keys, and default read-only keys cannot write costs. The endpoint updates Dashboardly's dated cost history only; it never writes to TikTok Shop. Keep this dedicated key on your server, not in browser or mobile code.

Step-by-Step: Create Your First API Key

Step 1: Open the API Keys page

Navigate to Settings > API Keys in the left sidebar. If you don't see the tab, open Settings from within the shop you want to connect. If API Keys shows an upgrade notice, check Plan Requirements above for eligible subscriptions and account-specific access.

Step 2: Click "New API key"

In the top-right corner of the page, click the New API key button. A small form opens.

Step 3: Fill in the details

  • Name -- A label so you can recognize the key later. Use something descriptive like "Claude Desktop -- US Shop" or "ChatGPT for John". Names are visible only to you.
  • Shop -- Choose a single shop, or leave the field on "All shops" to give the key access to every shop you have connected. Most users prefer one key per shop so each AI conversation is automatically scoped to the right data. Under MCP order data access, keep Reporting & reconciliation for the default reporting-only access. Owners and admins can explicitly select Full orders & fulfilment for a new key if the integration genuinely needs customer and delivery information. Existing keys are not upgraded.
  • Expires -- How many days until the key automatically stops working. The default is 365 days. Shorter expiries are safer; longer expiries mean you don't have to rotate the key as often. You can revoke a key at any time regardless of its expiry.
  • Allow dated COGS uploads -- Optional and available only to an owner/admin after selecting one shop and enabling Allow private Developer REST API on an account approved for Developer REST access. Leave this off for AI assistants and reporting integrations. Enable it only for a trusted server-side warehouse/ERP job.

Step 4: Click "Create key"

Dashboardly generates the key and displays it in a confirmation panel. The key is shown in full only this one time.

Step 5: Copy the key immediately

Click the Copy button to put the key on your clipboard. Paste it into a secure place (your assistant's configuration file, a password manager, or a safe note). If you close the panel without copying, you have to revoke the key and create a new one -- there is no way to retrieve it again.

Step 6: Connect your AI assistant

Open your AI assistant's settings and add Dashboardly as a connection (the exact path varies by assistant; see the next section for guidance on each one).

Step 7: Confirm the connection

Ask your assistant a simple question like "What's my net profit for last week?" If everything is set up correctly, the assistant responds with the answer pulled from your live Dashboardly data. If you see an error, see Why isn't my AI assistant working?.

Connecting an AI Assistant

The exact setup depends on which assistant you use. After you create the key in Dashboardly, the confirmation panel shows ready-to-paste configuration snippets for the most popular tools.

Claude (Desktop and Web)

In Claude's settings, look for a section called Connectors, Integrations, or MCP servers. Add Dashboardly and complete Dashboardly account sign-in. On the consent screen, choose all accessible shops, selected shops, or the current shop only. One OAuth connector can then work across the shops you authorized.

Developer tools such as Claude Code can instead use the API-key configuration shown in Dashboardly after key creation.

ChatGPT

If your ChatGPT account supports custom MCP connections, use its app connection settings to add Dashboardly with the connection details shown in Dashboardly. Complete Dashboardly account sign-in and choose the shop access you want to grant. Availability and session behavior depend on your ChatGPT account and client; reconnect if the provider asks you to sign in again.

Cursor

In Cursor, open Settings > MCP, click Add new MCP server, and paste the Dashboardly endpoint and key. Cursor uses the connection while you code, so you can ask questions like "What's my best-selling SKU this month?" without leaving your editor.

Other AI assistants

Any assistant that speaks the Model Context Protocol can connect. Provide the assistant with the Dashboardly MCP endpoint URL and the API key (treat it like a password). The assistant should automatically discover what data is available.

What Your AI Assistant Can Do

Once connected, your assistant can answer questions across every major area of your shop data. You ask questions in plain English (or any language your assistant supports), and the assistant decides which data to pull.

TopicExample questions
Account & shops"Which shops are connected?" "What's my account email?"
Dashboard summary"Give me a quick overview of last week." "Show the complete financial breakdown."
Profit & loss"What was my net profit in March?" "Return every P&L KPI by week for last quarter."
Daily financial export"Return daily financials for June as CSV, including buyer-paid total, fees, ad spend, and net profit."
Orders"Show every financial field for yesterday's orders, including TikTok order ID." "Show me cancelled orders from the last 7 days."
Top products"Which SKUs sold most last month?" "What were my top 10 products by revenue this quarter?"
Refunds"Show completed refund-request counts and subtotals for last week."
Customers"List the next page of VIP customers by LTV." "How many repeat customers do I have?"
Marketing & ads"What was my ROAS on TikTok Ads last week?" "How are my ad campaigns performing?"
Affiliate performance"Which creators drove the most profitable affiliate sales?"
Live streams & promotions"Which live streams drove the most sales last month?" "How much did I save with platform subsidies in April?"
Inventory"Which SKUs are running low on stock?" "List the next page of SKUs without COGS."
Sales & Profit"List every SKU profitability KPI for June." "Which products have negative ROI?"
Cashflow"Reconcile June statement cash." "Show the next page of paid payouts."
Manual adjustments"List recurring expenses and their resolved amounts."
Warehouse"Show warehouse costs and SKU-specific fee configuration."
Customer cohorts"Show six-month retention." "Which products do new customers buy next?"
Geographic breakdown"Where do most of my orders come from?" "How are sales doing in Germany this month?"
Hourly metrics"Which hour of the day gets the most orders?" "Show me yesterday's sales hour by hour."

The assistant cannot perform actions in your TikTok Shop or in Dashboardly. It can only read.

Dashboard Summary availability describes its returned headlines and permitted financial-breakdown cells. It does not certify complete imports, freshness or final settlement. Detailed Profit & Loss may explicitly truncate row detail to fit the response limit while retaining summary values and periods. The truncation marker identifies omitted rows; a complete Dashboard Summary breakdown and a partial P&L response are different report projections.

The Inventory tool’s count, financial and sales-velocity summaries distinguish unavailable values from explicit zero. An unavailable value stays empty. Average ROI is the source’s reported average and can differ from the ratio of total estimated profit to COGS. Stock can include FBT and FBS records. Summary availability does not certify snapshot freshness or the completeness of warehouse-fee data.

The Refunds tool reports finalized requests by their last update date in the shop timezone. refundedSubtotal is a positive imported request subtotal; grossSalesRefunded is its legacy alias. Separately supplied shipping is not included, and the source subtotal's tax treatment is not verified. Pending and cancelled requests are excluded. Completed replacement requests count as replacements, not refunded money. Request item counts do not prove physical returns or replacement delivery. For settlement-based refund expenses and profit, use Profit & Loss or the daily financial export.

Order results include the TikTok order ID, timestamps, status, fulfillment, line-item SKU identifiers and Dashboardly's canonical signed financial fields. The default is the complete financial response; an integration can explicitly request the lightweight response when it only needs order identity and status. Buyer name, email, phone, postal address and tracking details are excluded by default. They can be included only when the request explicitly asks for customer data and a newly created key was explicitly granted full-order access by an owner/admin. Values masked by TikTok remain masked.

The full read contracts currently cover Dashboard summary, Sales & Profit, Profit & Loss and its daily automation export, Cashflow (when enabled for the shop), Orders, Inventory, read-only Manual Adjustments and Warehouse configuration, customer summary/LTV and aggregate journeys/cohorts, refunds, geographic/hourly order analytics, and the listed Marketing views. Settings, Billing and agency administration do not have dedicated MCP tools because they are account-operational or mutable rather than shop analytics surfaces.

Customer lists and lifetime-value reports replace direct customer identifiers with merchant-scoped pseudonyms and omit buyer names and contact fields. Pseudonymous does not mean anonymous: customer-level metrics, dates and retained first/last TikTok order references can still be linked to a buyer. Treat them as sensitive reporting data. For a financial question that does not need individual buyers, use aggregate results rather than a customer list or contact export. These pseudonyms are consistent across shops within your merchant account and separate from another merchant's IDs. They change if the pseudonym key is rotated, so previously saved IDs may differ. Customer summary reports retain a separate identifier format; do not join it to list/LTV IDs. Full-order access is a separate, explicit permission and does not add contact fields to these analytics tools.

The Manual Adjustments tool shows the adjustment ledger grouped by month. It has no start/end date filters, and its past/future filter does not select a requested reporting period. Ledger entries and recurring definitions do not establish the cost allocated to a day or week. Use the dated financial report's returned manual-adjustment amounts; if they are missing, the allocation remains unknown.

Managing Your Keys

Viewing keys

The Settings > API Keys page lists every key you have created with its name, the first few characters of the key (so you can recognize it), the shop it is bound to, when it was created, when it was last used, and when it expires.

Inspecting usage

Click any active key to expand a usage panel showing:

  • Total calls in the last 30 days
  • Success rate (calls that returned data successfully)
  • Average response time so you know the connection is fast
  • A daily activity chart for the last 7 days
  • The most-used data tools so you can see what the assistant asks for most

This is useful for confirming that a key is being used, spotting unusual activity, or seeing what your assistant tends to focus on.

Revoking a key

If a key is lost, exposed, or no longer needed, click the Revoke icon next to it. Dashboardly immediately blocks any further requests using that key. AI assistants connected with the revoked key will see an error on their next question.

Revoking is instant. There is no grace period.

Key expiry

Each key has an expiry date set when you create it. Dashboardly shows a warning badge on the API Keys page when a key has 14 days or fewer remaining. Expired keys stop working automatically -- no need to revoke them.

To rotate a key on a recurring schedule, create a new key, update your AI assistant to use it, then revoke the old one.

Connected Apps

Some AI assistants, including ChatGPT and Claude Desktop, connect through Dashboardly account sign-in instead of requiring you to copy an API key. When you grant access, the assistant appears in the Connected Apps section at the bottom of the API Keys page. The connection shows whether it covers all accessible shops, selected shops, or the current shop only.

For each connected app you can see its name, shop scope, when it first connected, and when it was last active.

  • Revoke invalidates this connection's access and refresh tokens. To connect again or choose a different shop scope, start a new connection and approve access again.

Security & Privacy

API keys are sensitive. Treat each key like a password.

  • Never commit a key to a public code repository. If you accidentally do, revoke it from Dashboardly and generate a new one.
  • Never share a key in a chat message, email, or screenshot. Anyone with the key can read your data until you revoke it.
  • Use one key per assistant or per device. That way, if a key is compromised on one device you can revoke just that key without disturbing your other connections.
  • Set a sensible expiry. A key that expires in 90 days is safer than one that lasts forever. You can always create a new one.

Dashboardly never displays the full key after creation. The only place to find it is wherever you saved it when the key was generated.

All requests from AI assistants are made over HTTPS.

What we record, and what we never record. Dashboardly records request metadata on a best-effort basis: which key was used, which shop, which data area was queried, when, how long it took, whether it succeeded, the response size, and the calling IP address. You can review this history per-key from the usage panel described above.

Dashboardly does not log the questions you ask your assistant, the assistant's answers, or the request and response payloads. Those never reach the usage history.

Because the usage write is asynchronous and never allowed to fail a customer request, a call still succeeds even if its usage row does not get written. The usage panel is therefore operational telemetry for spotting unexpected activity — it is not a guaranteed-complete audit ledger, so do not treat a missing row as proof that a request did not happen.

This applies to the MCP connection described on this page. The private Developer REST API records the same kind of metadata under the same best-effort rules; see the Developer REST API article for its own details.

Default keys cannot change product costs, send a refund, or affect TikTok Shop. If you explicitly enable dated COGS uploads, that dedicated key can update Dashboardly costs only for its selected shop. Store it server-side, rotate it regularly, and revoke it immediately if it may have leaked.

Common Questions

Does my AI assistant see my whole Dashboardly account, or just one shop?

It depends on the scope you granted. An OAuth connector can use all shops you can currently access, only selected shops, or the current shop only. An API key can be merchant-wide or bound to one shop. Dashboardly re-checks live account and collaborator access on every OAuth request, so losing access to a shop also removes it from the connector.

For OAuth collaborators, each report follows the current permissions for the shop being queried. Access to Profit & Loss in one shop does not grant access to it in another. Removing a reporting permission takes effect on the next request. If an owner or admin becomes a collaborator, their existing OAuth connection also loses Full orders & fulfilment access. The connector stays within its approved consent scope; All shops I can access can include newly assigned shops, while Selected shops only stays within the selected set.

If one authorized shop loses every reporting permission, reports for that shop are denied while other permitted shops remain usable. Signed OAuth access tokens must also include the read scope; other scopes alone do not authorize reporting.

Dashboardly account sign-in allows five submitted login attempts per IP address in a 15-minute window, including successful attempts. A rate-limit response includes the retry delay; wait before submitting again.

Affiliate Performance follows its own page permission for the selected shop. Marketing access alone does not grant access to affiliate profitability. Affiliate Performance API access must also be enabled before the tool can return data.

Support can enable read-only Affiliate Performance API access for a verified shop without enabling it for every shop on the platform. Your connection must still have Affiliate Performance access for that exact shop; Marketing access alone is insufficient. This grants no settings, order-fulfilment or Developer REST write permission. Existing account and collaborator restrictions continue to apply, including when a connector selects a different shop.

Which report dates and ranges can I request?

Report dates must be real calendar dates in YYYY-MM-DD format. Both endpoints are included in the range: a single day counts as one day. The general limit is 366 days, including a complete leap year; daily P&L is limited to 90 days and weekly P&L to 184 days, including a complete calendar half-year.

The Promotions MCP tool interprets requested dates in UTC and currently has no timezone override. Promotion and coupon revenue, order and unit figures are temporal-window estimates, not proof that an offer caused a sale. Overlapping windows may count the same sale more than once; combined attribution totals are not deduplicated shop sales. Empty lists do not establish that there were no promotions or coupons: source-query success and coverage are not verified by this report.

Can I create different keys for different team members?

Yes. Create one named key per person ("Claude -- Maria", "ChatGPT -- John") and share each key only with the person who needs it. If someone leaves the team, revoke their key without affecting anyone else.

Will using an AI assistant cost me extra?

No. There is no per-query fee from Dashboardly. Your AI assistant provider (OpenAI, Anthropic, etc.) bills you separately for the assistant itself based on their own pricing.

How fresh is the data my assistant sees?

The assistant reads Dashboardly's reporting services. Source imports, cached lookups, and recent settlement estimates can affect how current a response is. Ask it to preserve any returned freshness and preliminary-data indicators, and compare the same shop, dates, and reporting settings in Dashboardly. See Why is my data delayed? for the full story.

Can my AI assistant make changes to my shop?

No. MCP/report access remains read-only, and Dashboardly never writes to your TikTok Shop. Separately, an owner/admin can issue a dedicated, one-shop Developer API key carrying one or both of the v1 write permissions: dated COGS uploads and manual-adjustment management. Both write only into Dashboardly, never into TikTok Shop. Do not give such a key to an AI assistant; use it only from your trusted warehouse/ERP backend.

What happens to my old keys if I downgrade my plan?

A subscription downgrade is not a way to revoke an existing key or OAuth connection. To stop an integration's access, revoke its keys and connected app on Settings > API Keys. Current eligibility controls creating new keys and connections; do not assume a plan change disables or reactivates existing credentials.

Can I see what my AI assistant has been asking?

Only which data areas it used, not the questions themselves. The usage panel for each key shows the most-used data areas (orders, P&L, top products, etc.) and a 7-day activity chart. We do not log the natural-language questions the user typed -- only which data tools the assistant called.

War dieser Artikel hilfreich?

Ähnliche Artikel

Brauchen Sie noch Hilfe?

Unser Support-Team steht Ihnen gerne zur Verfügung.