add_email_to_list
ChatGPTFile an email into one of the user's email lists (ids from list_email_lists / the email tools). Idempotent: if it's already in the list this reports already_in_list instead of duplicating. Manual adds are never removed by rule re-evaluation.
add_email_to_list
ChatGPTFile an email into one of the user's email lists (ids from list_email_lists / the email tools). Idempotent: if it's already in the list this reports already_in_list instead of duplicating. Manual adds are never removed by rule re-evaluation.
add_email_to_list
ChatGPTFile an email into one of the user's email lists (ids from list_email_lists / the email tools). Idempotent: if it's already in the list this reports already_in_list instead of duplicating. Manual adds are never removed by rule re-evaluation.
complete_task
ChatGPTMark a task as completed (or un-complete it if already completed — this toggles). Use ids from list_tasks / get_my_day.
complete_task
ChatGPTMark a task as completed (or un-complete it if already completed — this toggles). Use ids from list_tasks / get_my_day.
complete_task
ChatGPTMark a task as completed (or un-complete it if already completed — this toggles). Use ids from list_tasks / get_my_day.
create_email_list
ChatGPTCreate a smart email list from a plain-language description of what belongs in it (e.g. a brand's emails, messages from a connected app, a topic, emails containing invoices). The rules are derived from the user's actual data — real sender domains, connected apps, categories — and existing matching emails are filed in immediately; future emails auto-file. Returns the created list with the generated rules, the reasoning, and how many emails matched, so you can confirm it captured the intent (browse it with get_feed(list_id=...)). name overrides the generated list name. exclude_from_cleanbox=true also hides matching emails from the main feed (only on explicit user request).
create_email_list
ChatGPTCreate a smart email list from a plain-language description of what belongs in it (e.g. a brand's emails, messages from a connected app, a topic, emails containing invoices). The rules are derived from the user's actual data — real sender domains, connected apps, categories — and existing matching emails are filed in immediately; future emails auto-file. Returns the created list with the generated rules, the reasoning, and how many emails matched, so you can confirm it captured the intent (browse it with get_feed(list_id=...)). name overrides the generated list name. exclude_from_cleanbox=true also hides matching emails from the main feed (only on explicit user request).
create_email_list
ChatGPTCreate a smart email list from a plain-language description of what belongs in it (e.g. a brand's emails, messages from a connected app, a topic, emails containing invoices). The rules are derived from the user's actual data — real sender domains, connected apps, categories — and existing matching emails are filed in immediately; future emails auto-file. Returns the created list with the generated rules, the reasoning, and how many emails matched, so you can confirm it captured the intent (browse it with get_feed(list_id=...)). name overrides the generated list name. exclude_from_cleanbox=true also hides matching emails from the main feed (only on explicit user request).
create_task
ChatGPTCreate a task in the user's task manager / My Day. due_date is when the task is due; reminder_date is when the user should be reminded about it — both ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM) interpreted in the given timezone (defaults to the user's own timezone), and both optional. priority: low | medium | high. task_type: action | event | invoice | reply. Optionally link to an email via email_id.
create_task
ChatGPTCreate a task in the user's task manager / My Day. due_date is when the task is due; reminder_date is when the user should be reminded about it — both ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM) interpreted in the given timezone (defaults to the user's own timezone), and both optional. priority: low | medium | high. task_type: action | event | invoice | reply. Optionally link to an email via email_id.
create_task
ChatGPTCreate a task in the user's task manager / My Day. due_date is when the task is due; reminder_date is when the user should be reminded about it — both ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM) interpreted in the given timezone (defaults to the user's own timezone), and both optional. priority: low | medium | high. task_type: action | event | invoice | reply. Optionally link to an email via email_id.
create_task_rule
ChatGPTCreate a rule that hides matching tasks from the user's task manager (the emails themselves stay in the inbox). Provide at least one of: sender_email (exact address), sender_domain (e.g. 'example.com'), or subject_contains (case-insensitive phrase). Optional task_type narrows the rule to one of: reply | invoice | event | action | shipment. Rules are reversible — see list_task_rules / delete_task_rule.
create_task_rule
ChatGPTCreate a rule that hides matching tasks from the user's task manager (the emails themselves stay in the inbox). Provide at least one of: sender_email (exact address), sender_domain (e.g. 'example.com'), or subject_contains (case-insensitive phrase). Optional task_type narrows the rule to one of: reply | invoice | event | action | shipment. Rules are reversible — see list_task_rules / delete_task_rule.
create_task_rule
ChatGPTCreate a rule that hides matching tasks from the user's task manager (the emails themselves stay in the inbox). Provide at least one of: sender_email (exact address), sender_domain (e.g. 'example.com'), or subject_contains (case-insensitive phrase). Optional task_type narrows the rule to one of: reply | invoice | event | action | shipment. Rules are reversible — see list_task_rules / delete_task_rule.
deep_search_emails
ChatGPTSearch the user's COMPLETE email history by querying their connected mail providers (Gmail, Outlook) live — reaching years beyond Mailopoly's indexed window, and including sent mail. Use this when search_emails returns few or no results, or when the question concerns emails older than the indexed history (search_emails responses include indexed_history_start). Slower than search_emails: typically 5-45 seconds. start_date/end_date (YYYY-MM-DD) may span multiple years; omit both to search ALL history. If the response contains truncated_providers, the OLDEST matches may be missing — page deeper by re-running with end_date set to that provider's oldest_returned_date, or narrow the query. Returned email_id values (some of the form 'gmail:<id>:<id>') work directly in get_email.
deep_search_emails
ChatGPTSearch the user's COMPLETE email history by querying their connected mail providers (Gmail, Outlook) live — reaching years beyond Mailopoly's indexed window, and including sent mail. Use this when search_emails returns few or no results, or when the question concerns emails older than the indexed history (search_emails responses include indexed_history_start). Slower than search_emails: typically 5-45 seconds. start_date/end_date (YYYY-MM-DD) may span multiple years; omit both to search ALL history. If the response contains truncated_providers, the OLDEST matches may be missing — page deeper by re-running with end_date set to that provider's oldest_returned_date, or narrow the query. Returned email_id values (some of the form 'gmail:<id>:<id>') work directly in get_email.
deep_search_emails
ChatGPTSearch the user's COMPLETE email history by querying their connected mail providers (Gmail, Outlook) live — reaching years beyond Mailopoly's indexed window, and including sent mail. Use this when search_emails returns few or no results, or when the question concerns emails older than the indexed history (search_emails responses include indexed_history_start). Slower than search_emails: typically 5-45 seconds. start_date/end_date (YYYY-MM-DD) may span multiple years; omit both to search ALL history. If the response contains truncated_providers, the OLDEST matches may be missing — page deeper by re-running with end_date set to that provider's oldest_returned_date, or narrow the query. Returned email_id values (some of the form 'gmail:<id>:<id>') work directly in get_email.
delete_task_rule
ChatGPTDelete a task-suppression rule by id (from list_task_rules). The previously hidden tasks reappear in the task manager.
delete_task_rule
ChatGPTDelete a task-suppression rule by id (from list_task_rules). The previously hidden tasks reappear in the task manager.
delete_task_rule
ChatGPTDelete a task-suppression rule by id (from list_task_rules). The previously hidden tasks reappear in the task manager.
get_account_overview
ChatGPTOverview of the authenticated Mailopoly account: name, email, connected mail accounts, connected messaging apps (Slack etc. — their messages appear in the feed with a 'source' field and are replied to via send_email's reply_to_email_id), and inbox/task counts. Useful as a first call to understand whose data you're working with.
get_account_overview
ChatGPTOverview of the authenticated Mailopoly account: name, email, connected mail accounts, connected messaging apps (Slack etc. — their messages appear in the feed with a 'source' field and are replied to via send_email's reply_to_email_id), and inbox/task counts. Useful as a first call to understand whose data you're working with.
get_account_overview
ChatGPTOverview of the authenticated Mailopoly account: name, email, connected mail accounts, connected messaging apps (Slack etc. — their messages appear in the feed with a 'source' field and are replied to via send_email's reply_to_email_id), and inbox/task counts. Useful as a first call to understand whose data you're working with.
get_action_links
ChatGPTGet the actionable links (pay now, log in, book, track package, manage subscription…) extracted from the given emails. Ids must come from this user's emails.
get_action_links
ChatGPTGet the actionable links (pay now, log in, book, track package, manage subscription…) extracted from the given emails. Ids must come from this user's emails.
get_action_links
ChatGPTGet the actionable links (pay now, log in, book, track package, manage subscription…) extracted from the given emails. Ids must come from this user's emails.
get_catch_up
ChatGPTThe user's Catch-Up ("since I was gone") briefing: an AI summary of new emails since their last briefing, plus the new emails grouped by sender with unread counts. filter_type: 'all', 'personal' (Cleanbox only) or 'other' (promotional only). By default the window starts where the last briefing ended (capped); pass since_hours to force a specific look-back window. Recent briefings are cached server-side, so repeat calls are cheap.
get_catch_up
ChatGPTThe user's Catch-Up ("since I was gone") briefing: an AI summary of new emails since their last briefing, plus the new emails grouped by sender with unread counts. filter_type: 'all', 'personal' (Cleanbox only) or 'other' (promotional only). By default the window starts where the last briefing ended (capped); pass since_hours to force a specific look-back window. Recent briefings are cached server-side, so repeat calls are cheap.
get_catch_up
ChatGPTThe user's Catch-Up ("since I was gone") briefing: an AI summary of new emails since their last briefing, plus the new emails grouped by sender with unread counts. filter_type: 'all', 'personal' (Cleanbox only) or 'other' (promotional only). By default the window starts where the last briefing ended (capped); pass since_hours to force a specific look-back window. Recent briefings are cached server-side, so repeat calls are cheap.
get_draft
ChatGPTGet a draft's full content (to, cc, bcc, subject, body).
get_draft
ChatGPTGet a draft's full content (to, cc, bcc, subject, body).
get_draft
ChatGPTGet a draft's full content (to, cc, bcc, subject, body).
get_email
ChatGPTRead a single email in full: subject, sender, recipients, date, the complete message text, attachments list, and (optionally) actionable links found in it (pay, log in, book, track…). Accepts ids from search_emails, get_feed AND deep_search_emails — provider-history ids (the 'gmail:<id>:<id>' form) are fetched live from the mail provider.
get_email
ChatGPTRead a single email in full: subject, sender, recipients, date, the complete message text, attachments list, and (optionally) actionable links found in it (pay, log in, book, track…). Accepts ids from search_emails, get_feed AND deep_search_emails — provider-history ids (the 'gmail:<id>:<id>' form) are fetched live from the mail provider.
get_email
ChatGPTRead a single email in full: subject, sender, recipients, date, the complete message text, attachments list, and (optionally) actionable links found in it (pay, log in, book, track…). Accepts ids from search_emails, get_feed AND deep_search_emails — provider-history ids (the 'gmail:<id>:<id>' form) are fetched live from the mail provider.
get_feed
ChatGPTList the user's email feed (most recent first) without a search query. personal_or_ad='personal' is the Cleanbox (real correspondence); 'advertising' is promotional. email_type 'received' or 'sent'. account narrows to one connected mailbox (the address as shown in get_account_overview) — combine with personal_or_ad for that account's Cleanbox/Other. list_id shows one of the user's custom email lists (ids from list_email_lists). source narrows to a connected app's messages (e.g. 'slack' — see get_account_overview) or 'email' for mail only. sender filters by sender name or address fragment — combine freely, e.g. source='slack' + sender='<name>' + last_x_days=1 answers "what did <name> send me on Slack today?".
get_feed
ChatGPTList the user's email feed (most recent first) without a search query. personal_or_ad='personal' is the Cleanbox (real correspondence); 'advertising' is promotional. email_type 'received' or 'sent'. account narrows to one connected mailbox (the address as shown in get_account_overview) — combine with personal_or_ad for that account's Cleanbox/Other. list_id shows one of the user's custom email lists (ids from list_email_lists). source narrows to a connected app's messages (e.g. 'slack' — see get_account_overview) or 'email' for mail only. sender filters by sender name or address fragment — combine freely, e.g. source='slack' + sender='<name>' + last_x_days=1 answers "what did <name> send me on Slack today?".
get_feed
ChatGPTList the user's email feed (most recent first) without a search query. personal_or_ad='personal' is the Cleanbox (real correspondence); 'advertising' is promotional. email_type 'received' or 'sent'. account narrows to one connected mailbox (the address as shown in get_account_overview) — combine with personal_or_ad for that account's Cleanbox/Other. list_id shows one of the user's custom email lists (ids from list_email_lists). source narrows to a connected app's messages (e.g. 'slack' — see get_account_overview) or 'email' for mail only. sender filters by sender name or address fragment — combine freely, e.g. source='slack' + sender='<name>' + last_x_days=1 answers "what did <name> send me on Slack today?".
get_my_day
ChatGPTThe user's My Day view: today's tasks, events and commitments.
get_my_day
ChatGPTThe user's My Day view: today's tasks, events and commitments.
get_my_day
ChatGPTThe user's My Day view: today's tasks, events and commitments.
get_widgets
ChatGPTThe user's My Data dashboard widgets (weather, news, stocks, custom) with their latest cached data. refresh=true re-fetches any widget whose rate limit allows it (e.g. weather every 10 min) before returning. include_catalog=true also lists the available widget types.
get_widgets
ChatGPTThe user's My Data dashboard widgets (weather, news, stocks, custom) with their latest cached data. refresh=true re-fetches any widget whose rate limit allows it (e.g. weather every 10 min) before returning. include_catalog=true also lists the available widget types.
get_widgets
ChatGPTThe user's My Data dashboard widgets (weather, news, stocks, custom) with their latest cached data. refresh=true re-fetches any widget whose rate limit allows it (e.g. weather every 10 min) before returning. include_catalog=true also lists the available widget types.
hide_emails
ChatGPTHide one or more emails from the user's feed (does not delete them). Optional reason, e.g. 'spam', 'not_interested', 'never_show_this_sender'.
hide_emails
ChatGPTHide one or more emails from the user's feed (does not delete them). Optional reason, e.g. 'spam', 'not_interested', 'never_show_this_sender'.
hide_emails
ChatGPTHide one or more emails from the user's feed (does not delete them). Optional reason, e.g. 'spam', 'not_interested', 'never_show_this_sender'.
list_drafts
ChatGPTList the user's email drafts (created in Mailopoly), newest first.
list_drafts
ChatGPTList the user's email drafts (created in Mailopoly), newest first.
list_drafts
ChatGPTList the user's email drafts (created in Mailopoly), newest first.
list_email_lists
ChatGPTThe user's custom email lists (smart folders): name, rules, unread and total counts. Browse a list's emails with get_feed(list_id=...); file/unfile specific emails with add_email_to_list / remove_email_from_list.
list_email_lists
ChatGPTThe user's custom email lists (smart folders): name, rules, unread and total counts. Browse a list's emails with get_feed(list_id=...); file/unfile specific emails with add_email_to_list / remove_email_from_list.
list_email_lists
ChatGPTThe user's custom email lists (smart folders): name, rules, unread and total counts. Browse a list's emails with get_feed(list_id=...); file/unfile specific emails with add_email_to_list / remove_email_from_list.
list_events
ChatGPTList the user's calendar events extracted from their email (meetings, bookings, appointments). Dates are YYYY-MM-DD; defaults to upcoming.
list_events
ChatGPTList the user's calendar events extracted from their email (meetings, bookings, appointments). Dates are YYYY-MM-DD; defaults to upcoming.
list_events
ChatGPTList the user's calendar events extracted from their email (meetings, bookings, appointments). Dates are YYYY-MM-DD; defaults to upcoming.
list_invoices
ChatGPTList invoices and payments extracted from the user's email. invoice_or_payment: 'invoice' or 'payment'. search matches payee, description or category. time_range examples: this_month, last_month. Returns the most recent limit records (max 200) plus totals computed over the full matching set.
list_invoices
ChatGPTList invoices and payments extracted from the user's email. invoice_or_payment: 'invoice' or 'payment'. search matches payee, description or category. time_range examples: this_month, last_month. Returns the most recent limit records (max 200) plus totals computed over the full matching set.
list_invoices
ChatGPTList invoices and payments extracted from the user's email. invoice_or_payment: 'invoice' or 'payment'. search matches payee, description or category. time_range examples: this_month, last_month. Returns the most recent limit records (max 200) plus totals computed over the full matching set.
list_task_rules
ChatGPTList the user's task-suppression rules (rules that hide tasks from the task manager by sender, domain or subject). Returns rule ids usable with delete_task_rule.
list_task_rules
ChatGPTList the user's task-suppression rules (rules that hide tasks from the task manager by sender, domain or subject). Returns rule ids usable with delete_task_rule.
list_task_rules
ChatGPTList the user's task-suppression rules (rules that hide tasks from the task manager by sender, domain or subject). Returns rule ids usable with delete_task_rule.
list_tasks
ChatGPTList the user's tasks (aggregated from manual tasks, email actions, invoices, events, shipments and replies — the same data as the app's task manager / My Day). timeframe: relevant | today | tomorrow | this_week | this_month | overdue | last_7_days | next_30_days | all. task_type: all | action | event | invoice | shipment | reply.
list_tasks
ChatGPTList the user's tasks (aggregated from manual tasks, email actions, invoices, events, shipments and replies — the same data as the app's task manager / My Day). timeframe: relevant | today | tomorrow | this_week | this_month | overdue | last_7_days | next_30_days | all. task_type: all | action | event | invoice | shipment | reply.
list_tasks
ChatGPTList the user's tasks (aggregated from manual tasks, email actions, invoices, events, shipments and replies — the same data as the app's task manager / My Day). timeframe: relevant | today | tomorrow | this_week | this_month | overdue | last_7_days | next_30_days | all. task_type: all | action | event | invoice | shipment | reply.
mark_email_read
ChatGPTMark an email as read (or unread with read=false).
mark_email_read
ChatGPTMark an email as read (or unread with read=false).
mark_email_read
ChatGPTMark an email as read (or unread with read=false).
remove_email_from_list
ChatGPTRemove an email from one of the user's email lists. Note: if the email matches the list's rules it may be re-added when the rules are re-evaluated — edit the list's rules in the app for a permanent exclusion.
remove_email_from_list
ChatGPTRemove an email from one of the user's email lists. Note: if the email matches the list's rules it may be re-added when the rules are re-evaluated — edit the list's rules in the app for a permanent exclusion.
remove_email_from_list
ChatGPTRemove an email from one of the user's email lists. Note: if the email matches the list's rules it may be re-added when the rules are re-evaluated — edit the list's rules in the app for a permanent exclusion.
save_draft
ChatGPTCreate an email draft (or update an existing one by draft_id). The draft appears in the user's Mailopoly drafts and can later be sent with send_email (requires the 'send' scope). to/cc/bcc are email addresses, comma-separated for multiple recipients. For a reply, pass reply_to_email_id (the original's email_id) — to is then optional and the reply is routed automatically when sent, including replies to connected-app messages (Slack etc.), which have no email address. body is plain text or HTML.
save_draft
ChatGPTCreate an email draft (or update an existing one by draft_id). The draft appears in the user's Mailopoly drafts and can later be sent with send_email (requires the 'send' scope). to/cc/bcc are email addresses, comma-separated for multiple recipients. For a reply, pass reply_to_email_id (the original's email_id) — to is then optional and the reply is routed automatically when sent, including replies to connected-app messages (Slack etc.), which have no email address. body is plain text or HTML.
save_draft
ChatGPTCreate an email draft (or update an existing one by draft_id). The draft appears in the user's Mailopoly drafts and can later be sent with send_email (requires the 'send' scope). to/cc/bcc are email addresses, comma-separated for multiple recipients. For a reply, pass reply_to_email_id (the original's email_id) — to is then optional and the reply is routed automatically when sent, including replies to connected-app messages (Slack etc.), which have no email address. body is plain text or HTML.
search_emails
ChatGPTSearch the user's emails by free text (subjects, senders, bodies, attachment text). Optional filters: sender (name or address fragment), start_date/end_date (YYYY-MM-DD), last_x_days, email_type ('received' or 'sent'), personal_or_ad ('personal' or 'advertising'). Returns matching emails with ids for use in get_email / get_action_links. Covers Mailopoly's indexed history only — for older mail beyond the indexed window (the response's indexed_history_start), use deep_search_emails.
search_emails
ChatGPTSearch the user's emails by free text (subjects, senders, bodies, attachment text). Optional filters: sender (name or address fragment), start_date/end_date (YYYY-MM-DD), last_x_days, email_type ('received' or 'sent'), personal_or_ad ('personal' or 'advertising'). Returns matching emails with ids for use in get_email / get_action_links. Covers Mailopoly's indexed history only — for older mail beyond the indexed window (the response's indexed_history_start), use deep_search_emails.
search_emails
ChatGPTSearch the user's emails by free text (subjects, senders, bodies, attachment text). Optional filters: sender (name or address fragment), start_date/end_date (YYYY-MM-DD), last_x_days, email_type ('received' or 'sent'), personal_or_ad ('personal' or 'advertising'). Returns matching emails with ids for use in get_email / get_action_links. Covers Mailopoly's indexed history only — for older mail beyond the indexed window (the response's indexed_history_start), use deep_search_emails.
send_email
ChatGPTSend an email as the user through their connected account (Gmail, Outlook, @mly.life or IMAP), or reply to any message by passing reply_to_email_id (an email_id from search/feed/get_email). Replies: with reply_to_email_id set, to/subject are optional — the recipient and threading come from the original. If the original is a message from a connected app (source != 'email', e.g. Slack), the reply is delivered back through that app as the user (same thread/DM) — do NOT pass an email address for app messages; their senders have none. If draft_id is given, the draft's content fills any field not explicitly provided. from_account selects which connected address to send from (defaults to the account the original arrived on for replies, else the primary). content_type: 'HTML' or 'TEXT'. Subscription limits apply.
send_email
ChatGPTSend an email as the user through their connected account (Gmail, Outlook, @mly.life or IMAP), or reply to any message by passing reply_to_email_id (an email_id from search/feed/get_email). Replies: with reply_to_email_id set, to/subject are optional — the recipient and threading come from the original. If the original is a message from a connected app (source != 'email', e.g. Slack), the reply is delivered back through that app as the user (same thread/DM) — do NOT pass an email address for app messages; their senders have none. If draft_id is given, the draft's content fills any field not explicitly provided. from_account selects which connected address to send from (defaults to the account the original arrived on for replies, else the primary). content_type: 'HTML' or 'TEXT'. Subscription limits apply.
send_email
ChatGPTSend an email as the user through their connected account (Gmail, Outlook, @mly.life or IMAP), or reply to any message by passing reply_to_email_id (an email_id from search/feed/get_email). Replies: with reply_to_email_id set, to/subject are optional — the recipient and threading come from the original. If the original is a message from a connected app (source != 'email', e.g. Slack), the reply is delivered back through that app as the user (same thread/DM) — do NOT pass an email address for app messages; their senders have none. If draft_id is given, the draft's content fills any field not explicitly provided. from_account selects which connected address to send from (defaults to the account the original arrived on for replies, else the primary). content_type: 'HTML' or 'TEXT'. Subscription limits apply.
snooze_task
ChatGPTSnooze a task. Either pass snooze_until (ISO datetime, in the given timezone — defaults to the user's own timezone) or a relative duration (duration_value + duration_unit, e.g. 3 + 'days', 2 + 'hours', 1 + 'weeks').
snooze_task
ChatGPTSnooze a task. Either pass snooze_until (ISO datetime, in the given timezone — defaults to the user's own timezone) or a relative duration (duration_value + duration_unit, e.g. 3 + 'days', 2 + 'hours', 1 + 'weeks').
snooze_task
ChatGPTSnooze a task. Either pass snooze_until (ISO datetime, in the given timezone — defaults to the user's own timezone) or a relative duration (duration_value + duration_unit, e.g. 3 + 'days', 2 + 'hours', 1 + 'weeks').