Integration
Connect Google Drive and Google Sheets
When Comment Added (Docs/Sheets/Slides) fires in Google Drive, your agent runs Add Row in Google Sheets, or New Rows in Google Sheets to Move File in Google Drive. Describe the whole flow and it is built, tested on every scenario and kept running.
What the catalog holds today. Ask for anything missing and your agent reads the API documentation and adds it.
Build solutions, not workarounds.
What do you want Google Drive and Google Sheets to do together?
Ask the assistant
Connect your AI client
Give your AI client this address.
https://mcp.apiant.aiOne connection does both: ask your client to act in an app once, or have it build an automation that keeps running. Any client that takes a remote MCP server. Nothing to install. Create your free account, then sign in once in your browser.
Set it up in your client
Claude Code
Run this in the directory you want to work in.
claude mcp add --transport http -s project apiant-ai https://mcp.apiant.aiStart Claude Code there, approve the server, and sign in in the browser page it opens.
Claude Code guide (opens in a new tab)Claude, web and desktop
Open Customize, then Connectors, then Add custom connector, and paste the address. On Team and Enterprise an owner adds it first.
Setup guide (opens in a new tab)Cursor
Add the address to your MCP configuration as a server URL. Cursor signs you in in your browser.
Setup guide (opens in a new tab)Zed
Open Settings, then AI, then MCP Servers, then Add Server, then Add Remote Server.
Setup guide (opens in a new tab)Codex and the ChatGPT desktop app
Open Settings, then MCP servers, then Add server, and choose Streamable HTTP. From the terminal, Codex takes the address with its own add command and then signs you in.
Setup guide (opens in a new tab)Any other MCP client
Paste the address where the client asks for a remote MCP server URL, and name the server apiant-ai where it lets you. APIANT's skills reach the client over the same connection.
Setup guide (opens in a new tab)Google Drive holds the files and Google Sheets holds the record of what those files are for. Connecting them means a new file, a new comment or a new share can be written into the right sheet row, and a change in a sheet row can move, copy or share the matching file in Drive without anyone doing it by hand.
Example flows
What Google Drive and Google Sheets can do together
From Google Drive to Google Sheets
When Comment Added (Docs/Sheets/Slides) in Google Drive
then Add Row in Google Sheets
When File Created in Google Drive
then Create Spreadsheet Row at Top in Google Sheets
From Google Sheets to Google Drive
When New Rows in Google Sheets
then Move File in Google Drive
When Spreadsheet Row Changed in Google Sheets
then Add File Sharing Preference in Google Drive
Starting points drawn from the triggers and actions in the catalog today. Describe the flow you need, at any depth, and your agent builds it and tests every scenario before it ships.
Everything your agent can do with Google Drive and Google Sheets
Triggers and actions 23 triggers · 131 actions
Trigger
Comment Added (Docs/Sheets/Slides)Triggers when a new comment is added to Google Docs, Sheets, or Slides.
Trigger
File CreatedTriggers when a new file is created in Google Drive.
Trigger
File Deleted or TrashedTriggers when a file is moved to trash or permanently deleted in Drive.
Trigger
File Shared (Permissions Added)Triggers when new sharing permissions are granted to a file or folder. Uses Drive's `changes.list` endpoint with inline `permissions` in the `fields` mask so each change carries the file's current permission set provider-atomically. We diff that against `seen_permission_keys` to identify newly added grants. Drive page tokens are the primary cursor; if Drive rejects a stored token, the trigger raises `PollingTriggerError` without clearing state rather than silently re-baselining and dropping events. Limitation: truly ephemeral permissions (added and revoked between two polls without any other file modification in between) are not detected. Drive Activity API would catch those but requires an additional OAuth scope and a different payload contract.
Trigger
File UpdatedTriggers when a file's metadata or content changes in Google Drive.
Trigger
Google Drive ChangesTriggers when changes are detected in a Google Drive.
Trigger
New File Matching QueryTriggers when a new Google Drive file matches a provided query. This is the legacy query-centric trigger: it preserves Drive API query config such as ``corpora`` / ``driveId`` aliases and emits the historical ``file_matching_query`` event type. ``FileCreatedTrigger`` covers the broader "new file" case and emits ``file_created``.
Action
Add File Sharing PreferenceModifies sharing permissions for an existing google drive file, granting a specified role to a user, group, domain, or 'anyone'.
Action
Add ParentTool to add a parent folder for a file using Google Drive API v2. Use when you need to add a file to an additional folder.
Action
Add PropertyTool to add a property to a file, or update it if it already exists (v2 API). Use when you need to attach custom key-value metadata to a Google Drive file.
Action
Batch Get Spreadsheet ValuesRead multiple explicit ranges from one Google Spreadsheet in one request.
Action
Batch Update Spreadsheet ValuesWrite values to multiple Google Sheets ranges in one batch request.
Action
Clear Spreadsheet ValuesPermanently clear values from one range while preserving formatting, notes, and validation.
Action
Copy FileDuplicates an existing file in google drive, identified by its `file id`.
Action
Copy File AdvancedCreates a copy of a file and applies any requested updates with patch semantics. Use when you need to duplicate a file with advanced options like label inclusion, visibility settings, or custom metadata.
Action
Create CommentTool to create a comment on a file. use when you need to add a new comment to a specific file in google drive.
Action
Create FileCreates a new file or folder with metadata. use to create empty files or folders, or files with content by providing it in the request body (though this action primarily focuses on metadata creation).
Action
Create File From TextCreates a new file in google drive from provided text content (up to 10mb), supporting various formats including automatic conversion to google workspace types.
Action
Create FolderCreates a new folder in google drive, optionally within a parent folder specified by its id or name; if a parent name is provided but not found, the action will fail.
Action
Create PermissionTool to create a permission for a file or shared drive. Use when you need to share a file or folder with users, groups, domains, or make it publicly accessible. **Warning:** Concurrent permissions operations on the same file are not supported; only the last update is applied.
Action
Create Permissions BatchCreates multiple permissions for files or shared drives in a single batch request. Use this action when you need to share multiple files with users, or share a single file with multiple users or groups simultaneously. Each permission in the batch can target a different file and specify different access levels. Batch operations are more efficient than creating permissions individually, with a maximum of 100 permissions per batch.
Action
Create ReplyTool to create a reply to a comment in google drive. use when you need to respond to an existing comment on a file.
Action
Create Shortcut To FileTool to create a shortcut to a file or folder in google drive. use when you need to link to an existing drive item from another location without duplicating it.
Action
Delete ChildTool to remove a child from a folder using Google Drive API v2. Use when you need to remove a file from a specific folder.
Action
Delete CommentDeletes a comment from a file. use when you need to remove a specific comment from a google drive file.
Action
Delete ParentTool to remove a parent from a file using Google Drive API v2. Use when you need to remove a file from a specific folder.
Action
Delete PermissionDeletes a permission from a file by permission id. use when you need to revoke access for a specific user or group from a file.
Action
Delete PropertyTool to delete a property from a file using Google Drive API v2. Use when you need to remove custom key-value metadata from a file.
Action
Delete ReplyTool to delete a specific reply by reply id. use when you need to remove a reply from a comment on a file.
Action
Delete RevisionTool to permanently delete a file revision. Use when you need to remove a specific version of a binary file (images, videos, etc.). Cannot delete revisions for Google Docs/Sheets or the last remaining revision.
Action
Download FileDownloads a file from google drive by its id. for google workspace documents (docs, sheets, slides), optionally exports to a specified `mime type`. for other file types, downloads in their native format regardless of mime type.
Action
Download File OperationTool to download file content using long-running operations. Use when you need to download Google Vids files or export Google Workspace documents as part of a long-running operation. Operations are valid for 24 hours from creation. Returns a response containing `downloaded_file_content.s3url` — a short-lived S3 URL; fetch the actual file bytes from that URL promptly after the call.
Action
Download File RevisionDownload the stored bytes of one blob-file revision. This action does not export Google Docs, Sheets, Slides, or other Workspace revisions. Use GOOGLEDRIVE_GET_REVISION to retrieve a Workspace revision's exportLinks, then download the selected export URL separately.
Action
Edit FileUpdates an existing google drive file by overwriting its entire content with new text (max 10mb).
Action
Empty TrashTool to permanently delete all of the user's trashed files. use when you want to empty the trash in google drive.
Action
Export Google Workspace FileExports a Google Workspace document to the requested MIME type and returns exported file content. Use when you need to export Google Docs, Sheets, Slides, Drawings, or Apps Script files to a specific format. Note: The exported content is limited to 10MB by Google Drive API.
Action
Find FileTool to list or search for files and folders in google drive. use when you need to find specific files based on query criteria or list contents of a drive/folder.
Action
Find FolderTool to find a folder in google drive by its name and optionally a parent folder. use when you need to locate a specific folder to perform further actions like creating files in it or listing its contents.
Action
Generate IdsGenerates a set of file ids which can be provided in create or copy requests. use when you need to pre-allocate ids for new files or copies.
Action
Get AboutTool to retrieve information about the user, the user's drive, and system capabilities. use when you need to check storage quotas, user details, or supported import/export formats.
Action
Get AppTool to get information about a specific Drive app by ID. Use 'self' as the app ID to get information about the calling app.
Action
Get ChangeTool to get a specific change by ID from Google Drive v2 API. Deprecated: Use changes.getStartPageToken and changes.list to retrieve recent changes instead.
Action
Get Changes Start Page TokenTool to get the starting pagetoken for listing future changes in google drive. use this when you need to track changes to files and folders.
Action
Get ChildTool to get a specific child reference for a folder using Drive API v2. Use when you need to verify a specific file exists as a child of a folder.
Action
Get CommentTool to get a comment by id. use when you need to retrieve a specific comment from a google drive file and have both the file id and comment id.
Action
Get DocumentRetrieve a native Google Docs document's structured content and metadata by ID.
Action
Get File MetadataTool to get a file's metadata by id. use when you need to retrieve the metadata for a specific file in google drive.
Action
Get File PropertyTool to get a property by its key using Google Drive API v2. Use when you need to retrieve a specific custom property attached to a file.
Action
Get FormRetrieve a Google Form's definition, questions, settings, and publishing state by ID.
Action
Get ParentTool to get a specific parent reference for a file using Drive API v2. Use when you need to retrieve information about a specific parent folder of a file.
Action
Get PermissionGets a permission by id. use this tool to retrieve a specific permission for a file or shared drive.
Action
Get Permission Id For EmailTool to get the permission ID for an email address using the Drive API v2. Use when you need to convert an email address to its corresponding permission ID.
Action
Get PresentationRetrieve a Google Slides presentation and its complete page structures by ID.
Action
Get Presentation Page ThumbnailGenerate one short-lived page thumbnail URL using an expensive Slides quota read.
Action
Get ReplyTool to get a specific reply to a comment on a file. use when you need to retrieve the details of a particular reply.
Action
Get RevisionTool to get a specific revision's metadata by revision id. use when you need to retrieve information about a particular version of a file.
Action
Get SpreadsheetRetrieve a Google Spreadsheet's structure, metadata, and selected grid data.
Action
Get Spreadsheet ValuesRead values from one range in a Google Spreadsheet.
Action
Google Drive Delete Folder Or File ActionTool to delete a file or folder in google drive. use when you need to permanently remove a specific file or folder using its id. note: this action is irreversible.
Action
Insert ChildTool to insert a file into a folder using Drive API v2. Use when you need to add an existing file to a folder.
Action
List ChangesTool to list the changes for a user or shared drive. use when you need to track modifications to files and folders, such as creations, deletions, or permission changes. this action requires a `pagetoken` which can be initially obtained using the `get changes start page token` action or from a previous `list changes` response.
Action
List Children V2Tool to list a folder's children using Google Drive API v2. Use when you need to retrieve all files and folders within a specific folder.
Action
List CommentsTool to list all comments for a file in google drive. use when you need to retrieve comments associated with a specific file.
Action
List File LabelsTool to list the labels on a file. use when you need to retrieve all labels associated with a specific file in google drive.
Action
List File PropertiesTool to list a file's properties in Google Drive API v2. Use when you need to retrieve custom properties (key-value pairs) attached to a file.
Action
List FilesTool to list a user's files and folders in google drive. use this to search or browse for files and folders based on various criteria.
Action
List Form ResponsesReturn one page of submissions for a Google Form.
Action
List PermissionsTool to list a file's permissions. use when you need to retrieve all permissions associated with a specific file or shared drive.
Action
List RepliesTool to list replies to a comment in Google Drive. Use this when you need to retrieve all replies associated with a specific comment on a file.
Action
List Replies To CommentTool to list replies to a comment in google drive. use this when you need to retrieve all replies associated with a specific comment on a file.
Action
List RevisionsTool to list a file's revisions. use when you need to retrieve the revision history of a specific file in google drive.
Action
List Shared DrivesTool to list the user's shared drives. use when you need to get a list of all shared drives accessible to the authenticated user.
Action
Move FileTool to move a file from one folder to another in google drive. use when you need to reorganize files by changing their parent folder(s).
Action
Patch PermissionTool to update a permission using patch semantics. Use when you need to modify specific fields of an existing permission without affecting other fields. **Warning:** Concurrent permissions operations on the same file are not supported; only the last update is applied.
Action
Patch PropertyTool to update a property on a file using PATCH semantics (v2 API). Use when you need to partially update custom key-value metadata attached to a Google Drive file.
Action
Read Spreadsheet ValuesRead values from one or more ranges in a Google spreadsheet.
Action
Resumable UploadTool to start and complete a Google Drive resumable upload session. Use for files larger than ~5 MB to avoid timeouts or size-limit failures. HTTP 308 means continue the session from the correct byte offset; HTTP 410 means the session expired and a full restart with a new session is required.
Action
Stop Watch ChannelTool to stop watching resources through a specified channel. use this when you want to stop receiving notifications for a previously established watch.
Action
Trash FileTool to move a file or folder to trash (soft delete). Use when you need to delete a file but want to allow recovery via UNTRASH_FILE. This action is distinct from permanent deletion and provides a safer cleanup workflow.
Action
Update CommentTool to update an existing comment on a google drive file. use when you need to change the content or status (e.g., resolve) of a comment.
Action
Update File Metadata PatchTool to update file metadata using the Drive API v2 PATCH method. Use when you need to modify file properties like title, description, or labels using patch semantics.
Action
Update File PropertyTool to update a property on a file using Google Drive API v2. Use when you need to modify an existing custom property attached to a file.
Action
Update File PutUpdates file metadata. uses patch semantics (partial update) as per google drive api v3. use this tool to modify attributes of an existing file like its name, description, or parent folders. note: this action currently supports metadata updates only.
Action
Update File Revision MetadataUpdates metadata of a file revision (e.g., keepforever, publish). use this tool to modify the metadata of a specific revision of a file in google drive.
Action
Update PermissionTool to update a permission with patch semantics. use when you need to modify an existing permission for a file or shared drive.
Action
Update ReplyTool to update a reply to a comment on a google drive file. use when you need to modify the content of an existing reply.
Action
Update Spreadsheet ValuesWrite values to one exact Google Sheets range.
Action
Upload From UrlTool to fetch a file from a provided URL server-side and upload it into Google Drive. Use when you need to reliably persist externally hosted files into Drive without client-side downloads or temporary storage.
Action
Upload Update FileTool to update file content in Google Drive by uploading new binary content. Use when you need to replace the contents of an existing file with new file data.
Action
Watch ChangesTool to subscribe to changes for a user or shared drive in google drive. use when you need to monitor a google drive for modifications and receive notifications at a specified webhook url.
Action
Watch FileTool to subscribe to push notifications for changes to a specific file. Use when you need to monitor a file for modifications and receive real-time notifications at a webhook URL.
Action
Write Spreadsheet ValuesReplace values in one range of a Google spreadsheet.
Trigger
Aggregate Metric ChangedFires when an aggregate metric (sum/avg/count/…) over a column changes.
Trigger
Cell Range Values ChangedFires when the values in a specific cell range change.
Trigger
Conditional Format Rule ChangedFires when a conditional-format rule changes.
Trigger
Data Validation Rule ChangedFires when a data-validation rule changes.
Trigger
Developer Metadata ChangedFires when developer metadata changes.
Trigger
Filtered Range Values ChangedFires when the values in a filtered range change.
Trigger
New RowsFires when new rows are appended to a Google Sheet.
Trigger
New Sheet AddedFires when a new sheet (tab) is added to a spreadsheet.
Trigger
New Spreadsheet CreatedFires when a new spreadsheet is created in the account.
Trigger
Spreadsheet Metadata ChangedFires when spreadsheet metadata changes.
Trigger
Spreadsheet Properties ChangedFires when spreadsheet properties change.
Trigger
Spreadsheet Row ChangedFires when a row matching a query changes.
Trigger
Spreadsheet Search MatchFires when a spreadsheet matching search criteria is found.
Trigger
Table Query Result ChangedFires when the result of a SQL-style table query changes.
Trigger
Table Schema ChangedFires when a table's column schema changes.
Trigger
Worksheet Names ChangedFires when worksheet (tab) names change.
Action
Add RowAppend a row to a Google Sheet
Action
Aggregate Column DataRead a range and compute an aggregate (sum|avg|min|max|count) over one column, skipping blank/non-numeric cells (so a header row is skipped automatically).
Action
Auto-Resize Rows or ColumnsAuto-fit row heights or column widths over an index range via autoResizeDimensions.
Action
Change Sheet PropertiesUpdate a worksheet's grid properties (row/column count) using an explicit field mask.
Action
Clear Basic FilterRemove the basic filter from a sheet via clearBasicFilter.
Action
Clear Spreadsheet Row(s)Clear the values in a range (formatting preserved).
Action
Copy RangeCopy a source cell range to a destination range within the spreadsheet.
Action
Copy WorksheetCopy a worksheet into a destination spreadsheet.
Action
Create ChartAdd a basic embedded chart (column/bar/line/etc.) built from a domain range and a series range on a sheet. Returns the new chartId.
Action
Create Conditional Formatting RuleAdd a boolean conditional formatting rule (e.g. NUMBER_GREATER) that colors matching cells.
Action
Create Multiple Spreadsheet RowsAppend many rows in one call.
Action
Create SpreadsheetCreate a new Google Sheets spreadsheet with the given title.
Action
Create Spreadsheet ColumnInsert a blank column at a given index.
Action
Create Spreadsheet RowAppend a single row of values to a sheet range.
Action
Create Spreadsheet Row at TopInsert a blank row just below the header (row 2), then write the given values into it in one operation.
Action
Create WorksheetAdd a new worksheet (tab) to an existing spreadsheet.
Action
Delete ChartDelete an embedded chart via deleteEmbeddedObject.
Action
Delete SheetDelete a worksheet from a spreadsheet by sheetId (gid).
Action
Delete Spreadsheet Row(s)Delete a contiguous block of rows by index.
Action
Find and ReplaceFind and replace text across the spreadsheet. Supply EXACTLY ONE scope: all_sheets=true OR sheet_id. Leave the other unset (do not pass all_sheets=false together with sheet_id).
Action
Find SpreadsheetFind spreadsheets by exact name via the Drive API (cross-host through the googlesheets connection).
Action
Find WorksheetReturn the worksheet whose title matches the given title (sheet_id/index/found), reading the spreadsheet's sheet properties.
Action
Format Cell RangeApply background color and bold formatting to a cell range via repeatCell.
Action
Format Spreadsheet RowApply a background color across an entire row via repeatCell over a row range.
Action
Get Conditional Format RulesList all conditional-format rules on each sheet (paired with the sheetId so a follow-up update can target a rule by index).
Action
Get Data RangeRead all values in one or more ranges via batchGet.
Action
Get Data Validation RulesRead the data-validation rule set on every cell of a range (per-cell dataValidation, via includeGridData with a field mask).
Action
Get Many Spreadsheet Rows (Advanced)Read multiple ranges at once via batchGet.
Action
Get Row by IDRead a single row range. NOTE: Google Sheets has no row ID; the row number IS the identity.
Action
Get Sheet NamesReturn the titles of all sheets (tabs) in the spreadsheet.
Action
Get Spreadsheet by IDFetch spreadsheet metadata (title, sheets, gids, grid properties).
Action
List ChartsList all embedded charts (chartId + title) across every sheet in the spreadsheet.
Action
Lookup Spreadsheet RowRead a range and return the FIRST row whose cell at column_index equals match_value (Sheets has no server-side filter; this op filters the returned rows).
Action
Lookup Spreadsheet Rows (Advanced)Read multiple ranges via batchGet and return ALL rows whose cell at column_index equals match_value (Sheets has no server-side filter; this op filters the returned rows).
Action
Move ChartReposition an embedded chart to a new overlay anchor cell via updateEmbeddedObjectPosition.
Action
Rename SheetRename a worksheet's title.
Action
Search SpreadsheetsSearch spreadsheets by name substring (or full-text) via the Drive API, cross-host through the googlesheets connection.
Action
Set Basic FilterApply a basic filter to a range on a sheet via setBasicFilter.
Action
Set Data ValidationApply a ONE_OF_LIST dropdown data-validation rule to a cell range.
Action
Sort RangeSort a cell range by one column in ascending or descending order.
Action
Update ChartReplace an existing chart's spec (title, chart type, domain/series ranges) via updateChartSpec.
Action
Update Conditional Format RulesReplace an existing conditional-format rule (identified by its index on the sheet) with a new boolean rule.
Action
Update Data Validation RuleOverwrite the data-validation rule on a cell range with a ONE_OF_LIST dropdown (same endpoint as create; setDataValidation replaces whatever rule the range held).
Action
Update Spreadsheet RowOverwrite the values at a specific range.
Action
Update Spreadsheet Row(s)Update one or more disjoint ranges in a single batch.
Action
Upsert RowRead a range, find the row whose column_index cell equals match_value; UPDATE that row when found, otherwise APPEND a new row. One adaptive write request (method+path chosen by the match script).
No trigger or action matches that. Ask your agent to add it: it reads the API documentation and builds what you describe.
Each app on its own
Reviews
What our customers say
More from Google Drive
Google Drive to HubSpotHubSpot is your all-in-one stop for all of your marketing software needs.
Google Drive to SalesforceSalesforce is a leading enterprise customer relationship management (CRM) platform.
Google Drive to GmailGmail is Google’s email service, featuring spam protection, search functions, and seamless integration with...
Google Drive to Google CalendarGoogle Calendar is a time management tool providing scheduling features, event reminders, and integration...
Google Drive to MailchimpMailchimp marketing automation and email platform.
Google Drive to StripeStripe is a payment processing platform for online businesses.
More into Google Sheets
HubSpot to Google SheetsHubSpot is your all-in-one stop for all of your marketing software needs.
Salesforce to Google SheetsSalesforce is a leading enterprise customer relationship management (CRM) platform.
Slack to Google SheetsSlack is a messaging platform for teams. Post messages, manage channels, users, reminders, and react to...
Gmail to Google SheetsGmail is Google’s email service, featuring spam protection, search functions, and seamless integration with...
Google Calendar to Google SheetsGoogle Calendar is a time management tool providing scheduling features, event reminders, and integration...
Mailchimp to Google SheetsMailchimp marketing automation and email platform.
Questions
Google Drive and Google Sheets, answered
Can a sheet row decide what happens to the file in Drive?
Yes. A Google Sheets trigger such as Spreadsheet Row Changed passes the row's values, so the file ID or link stored in that row can be used with Drive actions like Move File, Create Comment or Add File Sharing Preference.
How do we avoid duplicate rows when the same file is logged twice?
Use Lookup Spreadsheet Row or Upsert Row in Google Sheets to match on the file name or ID before writing. Upsert Row updates the existing row when it finds a match and appends a new one only when it does not.
What can start an automation from Google Drive?
Any of Google Drive's 7 triggers in the catalog, including Comment Added (Docs/Sheets/Slides), File Created, File Shared (Permissions Added) and File Updated. Describe the moment in plain language and your agent picks the right one.
What can your agent do in Google Sheets when something happens in Google Drive?
Any of Google Sheets's 46 actions, including Add Row, Create Spreadsheet Row at Top, Lookup Spreadsheet Row and Create Chart. Your agent maps the data both ways and tests every scenario before it ships.
Can it also run from Google Sheets to Google Drive?
Yes. When something happens in Google Sheets, your agent can act in Google Drive too. This page covers both directions: Google Sheets's triggers and Google Drive's actions are listed here as well.
Do I have to build a connector for Google Drive or Google Sheets?
No. Both are in the catalog with their triggers and actions. You describe the automation; your agent builds it, tests every scenario and keeps it running.
Can my AI client use Google Drive and Google Sheets without building an automation?
Yes. With your AI client connected to APIANT, ask it to do something in either app once and it runs that action on the spot. Ask for an automation and your agent builds it, tests every scenario and keeps it running. One connection covers both.
What happens when something fails?
Your agent works that out for you. It plans the failure paths along with the happy path, then tests every scenario before it ships.
Is there a free plan?
Yes. Every plan includes the agent, including free, and building from your own AI client spends no assistant credits.