Google Workspace MCP allows you to control Google Workspace tools such as Gmail, Calendar, Drive, and Tasks in an AI-powered way through the Kuika platform.
Creating Google Workspace Settings in Configuration Manager
Log in to the Kuika platform.
Select the project you will be working on from the Apps screen.
After creation, the value starting with cx in the code snippet provided is the Search Engine ID.
Authorization
After filling in the required fields in Configuration Manager:
Click the Create button. The Google authorization screen opens.
Sign in and grant permissions.
After the success message appears, press the Create button again on the Configuration Manager screen.
The second click is required to verify the authorization.
Google Workspace Actions
Google Calendar
Calendar Create Event
Input
settings (Object – required): Select the setting created for Google Workspace in Config Manager. E.g.: workspace_setting_1
calendarId (String – required): The ID of the calendar to which the event will be added. Enter “primary” for the user's primary calendar. For a different calendar, use the Google Calendar ID (abcd1234@group.calendar.google.com).
summary (String – required): The title or short name of the event. Example: “Project Kickoff Meeting”
description (String – optional): Detailed description of the event. E.g.: “Project kickoff planning and task distribution will be done.”
startDate (String – required): Start time of the event. In ISO 8601 format. E.g.: “2025-11-01T09:00:00+03:00”
endDate (String – required): The end time of the event. In ISO 8601 format. Example: “2025-11-01T10:00:00+03:00”
timeZone (String – optional): The time zone of the event. Example: “Europe/Istanbul”
location (String – optional): The location of the event. Example: “Kuika Office – Istanbul”
attendees (Array – optional): List of attendees' email addresses. Example: [“ahmet@example.com”, “ayse@example.com”]
add_google_meet (Boolean – optional): When true, a Google Meet link is automatically added to the event.
use_default_reminders (Boolean – optional): When set to true, the calendar's default reminders are used.
Output
Returns a success message → The event has been successfully created. Returned information:
eventId (String): The unique ID of the event.
htmlLink (String): Link to open the event in Google Calendar.
status (String): “confirmed” → Event created.
Calendar Delete Event
Input
settings (Object – required): Google Workspace setting created in Configuration Manager.
calendarId (String – required): The ID of the calendar where the event is located. “primary” → The user's primary calendar. abcd1234@group.calendar.google.com → Different calendar ID.
eventId (String – required): Unique ID of the event to be deleted. eventId can be obtained with the Google Calendar List Events action.
Output
Success message, event deleted.
Calendar List Calendar
Input
Settings: Google Workspace setting created in Configuration Manager.
Output
name (String): The name of the calendar.
id (String): The unique ID of the calendar.
is_primary (Boolean): Indicates whether the calendar is the user's primary calendar.
Calendar List Events
Input
settings (Object – required): Google Workspace setting created in Configuration Manager.
calendarId (String – required): The calendar ID where events will be listed.
“primary” → The user's primary calendar.
abcd1234@group.calendar.google.com → Other calendars.
startDate (String – optional): The start date/time (ISO 8601) of events to be listed.
Example: “2025-11-01T00:00:00+03:00”
endDate (String – optional): The end date/time of the events to be listed (ISO 8601).
Example: “2025-11-30T23:59:59+03:00”
resultCount (Integer – optional): Maximum number of events to return.
Example: 10
query (String – optional): Event search term or filter.
Example: “meeting”
Output
title (String): The title of the event.
start (String): The start time of the event.
end (String): The end time of the event.
id (String): The unique ID of the event.
link (String): The link to open the event in Google Calendar.
Google Drive
Drive Search Files
Input
settings (Object – required): Select the setting we created for Google Workspace in Configuration Manager.
query (String – optional): Search for files using an SQL-like query language.
Example:
“name contains ‘report’” → returns files whose name contains “report”.
“mimeType=‘application/pdf’” → lists only PDF files.
“modifiedTime > ‘2025-01-01T12:00:00’” → returns files modified after the specified date.
“trashed = false” → lists files not in the trash.
pageSize (Integer – optional): Maximum number of results to return at once.
Default: 100
Maximum: 1000
Output
id (String): The file's unique ID in Google Drive.
link (String): The webViewLink or webContentLink address of the file.
mimeType (String): The MIME type of the file (e.g., “application/pdf”, “application/vnd.google-apps.document”).
modified (String): The last modification date of the file (ISO 8601).
name (String): The name of the file as it appears in Drive.
size (Integer): File size (in bytes).
Typically returns empty for Drive-native files such as Google Docs, Sheets, Slides.
Drive Get File Content
Input
settings (Object – required): Setting created in Configuration Manager.
fileId (String – required): Unique ID of the file.
fileId can be obtained using the Google Drive Search Files or List Items actions.
Output
content (Binary/Text): Content of the file.
Files such as PDF / PNG / DOCX → binary (base64 or stream).
Native files such as Google Docs / Sheets → depending on the export format (text/plain, application/pdf).
id (String): The file's ID in Google Drive.
link (String): The file link on Drive.
mimeType (String): The MIME type indicating the file type.
name (String): The visible name of the file.
Drive List Items
Input
settings (Object – required): Setting created in Configuration Manager.
folderId (String – optional): Folder ID.
If left blank, “root” → Files in the root directory are listed.
driveId (String – optional): Used for shared drives. If left blank, the root directory is taken as “root”.
pageSize (Integer – optional): Maximum number of results to return at once.
Default: 100
Maximum: 1000
Output
id (String): File or folder ID.
link (String): The web URL of the file on Drive.
mimeType (String): File type (e.g., “application/vnd.google-apps.folder” for a folder).
modified (String): The last modified date/time of the file.
name (String): The visible name of the file/folder.
size (Integer): Size in bytes.
Typically returns null for folders.
Drive Create File
Input
settings (Object – required): Setting created in Configuration Manager.
fileName (String – required): Name of the file to be created on Drive. E.g.: “report.txt”, “data.csv”
content (Binary/Base64 – optional): The content of the file. It can be binary or base64 encoded. If a Drive-native file such as Google Docs or Sheets is to be created, the content can be left blank.
folderId (String – optional): The ID of the folder where the file will be uploaded. If left blank, it will be saved to the “root” → Main directory.
mimeType (String – required): The MIME type indicating the file type.
text/plain → .txt file
text/csv → .csv file
application/json → .json file
application/vnd.google-apps.document → Google Docs
application/vnd.google-apps.spreadsheet → Google Sheets
Output
Returns a success message → File successfully uploaded to Drive. Returned information:
id (String): The unique ID of the file.
link (String): The link to open the file.
name (String): The name of the file in Drive.
mimeType (String): The file type.
Google Mail
Mail Send Message
Input
settings (Object – required): Select the setting we created for Google Workspace in Configuration Manager.
to (String – required): The recipient(s) to whom the email will be sent. If there is more than one person, separate them with commas. Example: “ahmet@example.com, ayse@example.com”
subject (String – required): The subject line of the email to be sent. Example: “Meeting Reminder”
body (String – required): The content/message text of the email. It can be HTML or plain text. Example: “Hello, our meeting will take place tomorrow at 10:00 a.m.”
cc (String – optional): Recipients added for informational purposes. Separated by commas. Example: “veli@example.com, ali@example.com”
A successful message means the email has been sent.
Mail Search Message
Input
settings (Object – required): Select the setting we created for Google Workspace in Configuration Manager.
query (String – required): Supports the syntax used in Gmail's search bar. Example:
“from:ahmet@example.com” → Emails from Ahmet.
“subject:report” → Emails with “report”.
“after:2025/01/01 before:2025/02/01” → Emails between January 1 and February 1, 2025.
pageSize (Integer – optional): Maximum number of messages to return at once.
Default: 100
Maximum: 500
Output
messageId (String): The message's unique Gmail ID.
threadId (String): The ID of the conversation thread to which the message belongs.
threadLink (String): A link that opens the entire conversation thread in the Gmail web interface.
webLink (String): A link that opens a single message in the Gmail web interface.
Mail Get Message Content Batch
Input
settings (Object – required): Select the setting created for Google Workspace in Configuration Manager.
messageIds (Array – required): Unique IDs of the messages whose content is to be retrieved. messageIds can be found with the Google Mail Search Messages action. Example: [“1789a2bcf3”, “199ab2c98d”]
Output
body (String): The content of the message (HTML or plain text).
from (String): The sender's email address and name, if available. Example: “Ahmet Yılmaz <ahmet@example.com>”
messageId (String): The unique ID of the message in Gmail.
subject (String): The subject line of the message.
webLink (String): The link to open the message in the Gmail web interface.
Mail Get Message Content
Input
settings (Object – required): Google Workspace setting created in Configuration Manager.
messageId (String – required): Unique ID of the message in Gmail.
messageId can be found with the Google Mail Search Messages action. E.g.: “1789a2bcf3”
Output
body (String): The content of the message (HTML or plain text).
from (String): The sender's email address and name, if available.
subject (String): The subject line of the message.
Google Search
Search
Input
settings (Object – required): Selects the setting created for Google Workspace in Configuration Manager.
query (String – required): The phrase to search for. E.g.: “kuika platform”, “openai gpt-5”, “weather istanbul”
count (Integer – optional): Specifies how many results to return. E.g.: 10
offset (Integer – optional): Sets the starting point of the results (for pagination). E.g.: 20 (retrieves results starting from the 20th result)
safe (String – optional): Safe search filter.
“none” → Filter is off, any content may appear.
“moderate” → Medium-level filter, most adult/violent content is blocked.
“active” → Strict safe search, sensitive content is completely blocked.
searchType (String – optional): Search type.
“image” → Image search
‘news’ → News search
“video” → Video search
Left blank → Normal web search is performed.
siteSearch (String – optional): Focuses the search on a specific site. E.g.: “github.com”, “docs.kuika.com”
siteSearchFilterType (String – optional): Determines how the siteSearch parameter is applied.
‘none’ → Behaves as if there is no siteSearch parameter.
“include” → Only returns results from the specified site.
“exclude” → Returns results from all sites except the specified site.
fileType (String – optional): Performs a search based on a specific file type. E.g.: “pdf”, ‘docx’, “xlsx”
language (String – optional): Limits the language of the results. E.g.: “en” (English), “tr” (Turkish)
country (String – optional): Filters results by country. E.g.: “us”, ‘tr’, “de”
Output
metadata (Object): Summary information about the search query.
query (String): The search query made by the user.
resultReturned (Integer): The number of results returned in this call.
searchEngineId (String): The Custom Search Engine ID used.
searchTime (Decimal): The number of seconds it took to complete the search.
showingFrom (Integer): Starting order of results (e.g., 1).
showingTo (Integer): Ending order of results (e.g., 10).
totalResults (Integer): Total number of results found by the search engine.
results (Array): List of search results. For each result:
index (Integer): The result's sequence number in the search results.
snippet (String): A short description/summary text for the result.
title (String): The page title (<title> tag or metadata).
type (String): The type of result (e.g., “webpage”, ‘image’, “video”).
url (String): The full link to the result.
Search Engine Info
Input
settings (Object – required): Select the setting created for Google Workspace in Configuration Manager.
Output
Returns a success message → Information about the Search Engine is returned. E.g.: The cx value used (Search Engine ID), domains allowed for search, configuration information.
Google Task
Task List Task List
Input
settings (Object – required): Google Workspace setting created in Configuration Manager.
pageToken (String – optional): Used to retrieve the next page (pagination).
pageSize (Integer – optional): Maximum number of task lists to return in a call.
Output
nextPageToken (String): Token for the next page.
taskLists (Array): Task lists. For each list:
id (String): Unique ID of the task list.
name/title (String): Display name of the task list.
updated (String): Last update time of the task list.
Task List Task
Input
settings (Object – required): Setting created in Configuration Manager.
taskListId (String – required): The ID of the list from which tasks will be retrieved.
pageToken (String – optional): Token for pagination.
pageSize (Integer – optional): Maximum number of tasks to return.
showDeleted (Boolean – optional): Whether to retrieve deleted tasks.
showCompleted (Boolean – optional): Whether to include completed tasks.
showHidden (Boolean – optional): Whether to show hidden tasks.
showAssigned (Boolean – optional): Whether to include assigned tasks.
startCompletedDate (String – optional): Tasks completed after this date.
showEndDate (String – optional): Tasks completed by this date.
startDueDate (String – optional): Tasks with a due date after this date.
endDueDate (String – optional): Tasks with a due date before this date.
Output
email (String): Email of the user to whom the tasks belong.
listId (String): ID of the task list.
nextPageToken (String): Token for the next page.
tasks (Array): List of tasks. For each task:
id (String): Task ID.
title (String): Task name.
notes (String): Task description.
status (String): Task status (needsAction or completed).
due (String): Task due date.
completed (String): Completion date.
updated (String): Last update time.
Task Get Task List
Input
settings (Object – required): Setting created in Configuration Manager.
taskListId (String – required): Task list ID.
Output
created (String): Task list creation time.
id (String): Unique ID of the task list.
selfLink (String): Link providing access via the API.
title (String): The visible name of the task list.
updated (String): The last update time of the task list.
Task Get Task
Input
settings (Object – required): Setting created in Configuration Manager.
taskListId (String – required): The ID of the list where the task is located.
taskId (String – required): The unique ID of the task.
Output
id (String): The unique ID of the task.
title (String): Task name.
notes (String): Description/details.
status (String): Task status (needsAction or completed).
dueDate (String): Due date (if applicable).
completed (String): Completion time (if applicable).
parentId (String): Parent task ID if it is a sub-task.
position (String): Its position in the list.
selfLink (String): Access link via API.
updated (String): Last update time.
webViewLink (String): Task web interface link.
email (String): Email of the user associated with the task.
Task Delete Task
Input
settings (Object – required): Setting created in Configuration Manager.
taskListId (String – required): ID of the list where the task is located.
taskId (String – required): ID of the task to be deleted.
Output
Success message, task deleted.
Task Delete Task List
Input
settings (Object – required): Setting in Configuration Manager.
taskListId (String – required): ID of the task list to be deleted.
Output
Success message, list deleted.
Task Create Task List
Input
settings (Object – required): Setting created in Configuration Manager.
title (String – required): Name of the new task list.
Output
created (String): Time the list was created.
id (String): List ID.
selfLink (String): API access link.
title (String): List name.
updated (String): Time the list was last updated.
Task Create Task
Input
settings (Object – required): Setting in Config Manager.
taskListId (String – required): ID of the list to which the task will be added.
title (String – required): Task name.
notes (String – optional): Task description.
dueDate (String – optional): Task due date.
parentId (String – optional): Parent task ID if it is a sub-task.
prevSiblingTaskId (String – optional): Previous task ID for sorting.
Output
id (String): Task ID.
title (String): Task name.
notes (String): Description.
status (String): Status (needsAction or completed).
dueDate (String): Due date.
completed (String): Completion time.
parentId (String): ID of the parent task, if it is a sub-task.
position (String): Its position in the list.
selfLink (String): API access link.
updated (String): Last update time.
webViewLink (String): Web viewing link.
email (String): Task owner's email.
Task Clear Completed Tasks
Input
settings (Object – required): Setting in Config Manager.