You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: backend/custom_gpt_tools/actions_openapi.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -121,7 +121,7 @@
121
121
"properties": {
122
122
"action": {
123
123
"type": "string",
124
-
"description": "One of oauth_authorize|oauth_exchange|oauth_status|ensure_authorized|gmail_send|gmail_list|gmail_get|gmail_trash|gmail_delete|gmail_attachment"
124
+
"description": "One of oauth_authorize|oauth_exchange|oauth_status|ensure_authorized|gmail_send|gmail_list|gmail_search|gmail_get|gmail_trash|gmail_delete|gmail_attachment|gmail_accounts_list|calendar_list_events|calendar_get_event|calendar_create_event|calendar_update_event|calendar_delete_event"
Copy file name to clipboardExpand all lines: backend/tool_call_handler/__init__.py
+48-1Lines changed: 48 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -97,7 +97,9 @@ def get_json(self):
97
97
RESPONSES_INSTRUCTIONS= (
98
98
"You are OmniFlow PA. Use tools for any claim about user data.\n"
99
99
"- If asked about tasks, read/update TM.json via tools. Do not claim writes without a write tool call.\n"
100
-
"- If asked about Gmail, prefer gmail_recent_metadata to fetch recent message metadata; do not ask for 50 if user requested 20.\n"
100
+
"- If asked about Gmail, use mail.search for query-based filtering and gmail_recent_metadata for lightweight recent metadata; do not ask for 50 if user requested 20.\n"
101
+
"- For calendar.events.create/update, send start and end as nested objects with dateTime and timeZone.\n"
102
+
"- For calendar.events.list, prefer include_all_calendars=true when the user asks for their calendar broadly, and use calendar_ids to narrow to specific calendars.\n"
101
103
"- For gmail_action gmail_send, always provide JSON with payload.to, payload.subject, payload.body.\n"
102
104
"- For gmail_action gmail_get/gmail_trash/gmail_delete, always provide payload.message_id.\n"
103
105
"- If a Gmail tool returns NOT_AUTHORIZED, instruct user to Connect.\n"
Copy file name to clipboardExpand all lines: docs/shared/tool_call_handler_openapi.json
+7-3Lines changed: 7 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -32,6 +32,7 @@
32
32
"mail.status",
33
33
"mail.authorize",
34
34
"mail.inbox.list",
35
+
"mail.search",
35
36
"mail.read",
36
37
"mail.summarize",
37
38
"mail.reply",
@@ -68,7 +69,7 @@
68
69
"arguments": {
69
70
"type": "object",
70
71
"additionalProperties": true,
71
-
"description": "Capability-specific payload. For memory.interaction.save provide either (user_message + assistant_response) or (role + content). Optional per-call user override can be passed as arguments.user_id. For mail/calendar capabilities you can pass arguments.account_slot = primary|secondary. For mail.inbox.list you can pass q/query, label_ids, exclude_label_ids, include_spam_trash, page_token, and max_results/limit. For mail.authorize pass arguments.force=true to force a new OAuth consent even if a token already exists (use when token is expired or revoked)."
72
+
"description": "Capability-specific payload. For memory.interaction.save provide either (user_message + assistant_response) or (role + content). Optional per-call user override can be passed as arguments.user_id. For mail/calendar capabilities you can pass arguments.account_slot = primary|secondary. For calendar.events.create and calendar.events.update, send start/end as objects like {dateTime, timeZone} (or use start_dateTime/start_timeZone and end_dateTime/end_timeZone aliases). For calendar.events.list you can pass include_all_calendars=true to aggregate all accessible calendars, or calendar_ids to narrow scope. For mail.inbox.list you can pass q/query, label_ids, exclude_label_ids, include_spam_trash, page_token, and max_results/limit. For mail.search pass query (or q) plus optional label_ids, exclude_label_ids, include_spam_trash, page_token, and max_results/limit. For mail.authorize pass arguments.force=true to force a new OAuth consent even if a token already exists (use when token is expired or revoked)."
0 commit comments