← All action domains

Gmail

12 operations. Call each with POST https://app.chirply.io/api/v1/actions/<name> and a bearer token; the response is { "data": { "action", "summary", "result" } }. A read badge means the operation changes nothing; write requires the credential’s write scope.

Read Gmail attachment

gmail.attachmentread

Download one attachment, up to 10 MB, from a message in the chosen Gmail account. Returns standard base64 bytes, filename and MIME type; sends no messages and makes no public file.

Parameters

FieldTypeRequiredDescription
connectionIdstring (uuid)requiredID of the Gmail account shared with this workspace. Determines the actual sending or reading account.
messageIdstringrequiredGoogle's message ID, returned by Gmail search, read or incoming-mail events.
partIdstringrequiredMIME partId from the message's attachments array, including an empty string for a root attachment.

Example

curl -X POST https://app.chirply.io/api/v1/actions/gmail.attachment \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "connectionId": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11",
    "messageId": "example",
    "partId": "example"
  }'
Test with your API key

Over MCP the same operation is the tool gmail_attachment at https://app.chirply.io/api/mcp, same bearer token, same input.

Connect Gmail

gmail.connectreadadmin only

Get an account-bound browser link to connect another Gmail account. A manager must sign in and consent in Google to share reading and sending access with account members and authorized integrations. This call sends no email.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/gmail.connect \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool gmail_connect at https://app.chirply.io/api/mcp, same bearer token, same input.

Gmail accounts

gmail.connectionsread

List Gmail accounts explicitly shared with this account, their connecting user and reconnect status. Does not expose tokens, read mailbox contents or send mail.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/gmail.connections \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool gmail_connections at https://app.chirply.io/api/mcp, same bearer token, same input.

Gmail delivery receipts

gmail.deliveriesread

Read the last thirty Gmail send receipts for this account account, including failed and uncertain deliveries. Does not retry or send mail.

Parameters

FieldTypeRequiredDescription
connectionIdstring (uuid)requiredID of the Gmail account shared with this workspace. Determines the actual sending or reading account.

Example

curl -X POST https://app.chirply.io/api/v1/actions/gmail.deliveries \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "connectionId": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool gmail_deliveries at https://app.chirply.io/api/mcp, same bearer token, same input.

Disconnect Gmail

gmail.disconnectwriteconfirmadmin only

Remove the saved Gmail authorization from this account and stop its sync and sending. Retains already imported Conversations and delivery receipts; does not delete anything in Google or revoke Calendar/Sheets grants.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
connectionIdstring (uuid)requiredID of the Gmail account shared with this workspace. Determines the actual sending or reading account.

Example

curl -X POST https://app.chirply.io/api/v1/actions/gmail.disconnect \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "connectionId": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool gmail_disconnect at https://app.chirply.io/api/mcp, same bearer token, same input.

Import Gmail history

gmail.import_historywriteadmin only

Import one page of historical incoming Gmail mail into Conversations. Only mail older than the initial connection is imported. Historical mail never emits incoming-mail automation triggers. Returns nextPageToken for continuing the import; sends no email itself.

Parameters

FieldTypeRequiredDescription
connectionIdstring (uuid)requiredID of the Gmail account shared with this workspace. Determines the actual sending or reading account.
querystringoptionalNative Gmail search, such as from:customer@example.com has:attachment newer_than:7d. Default: "in:inbox"
pageTokenstringoptionalOpaque nextPageToken from the preceding page; omit for the first page.
limitintegeroptionalMaximum messages to return on this page, from 1 to 50. Default: 20

Example

curl -X POST https://app.chirply.io/api/v1/actions/gmail.import_history \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "connectionId": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool gmail_import_history at https://app.chirply.io/api/mcp, same bearer token, same input.

Read Gmail message

gmail.read_messageread

Read one Gmail message's sender, recipients, subject, plain text, HTML and attachment references from the chosen account account. Does not alter Gmail read status or send mail.

Parameters

FieldTypeRequiredDescription
connectionIdstring (uuid)requiredID of the Gmail account shared with this workspace. Determines the actual sending or reading account.
messageIdstringrequiredGoogle's message ID, returned by Gmail search, read or incoming-mail events.

Example

curl -X POST https://app.chirply.io/api/v1/actions/gmail.read_message \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "connectionId": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11",
    "messageId": "example"
  }'
Test with your API key

Over MCP the same operation is the tool gmail_read_message at https://app.chirply.io/api/mcp, same bearer token, same input.

Read Gmail thread

gmail.read_threadread

Read all messages in a thread from the selected Gmail account, including Sent messages and attachment references. Does not modify the mailbox or send mail.

Parameters

FieldTypeRequiredDescription
connectionIdstring (uuid)requiredID of the Gmail account shared with this workspace. Determines the actual sending or reading account.
threadIdstringrequiredGoogle thread ID returned by a message, search or send.

Example

curl -X POST https://app.chirply.io/api/v1/actions/gmail.read_thread \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "connectionId": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11",
    "threadId": "example"
  }'
Test with your API key

Over MCP the same operation is the tool gmail_read_thread at https://app.chirply.io/api/mcp, same bearer token, same input.

Reply through Gmail

gmail.replywriteconfirm

Send a real reply through the selected Gmail account to the original sender or Reply-To address. Preserves Gmail thread ID, original subject and RFC reply headers. Appears in Gmail Sent; opt-outs and Google sending limits apply.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
connectionIdstring (uuid)requiredID of the Gmail account shared with this workspace. Determines the actual sending or reading account.
tostring (email)optionalRecipient email for a new message. Replies use the original message's Reply-To or sender.
subjectstringoptionalSubject for new mail. Replies retain the original thread subject.
bodystringrequiredPlain-text email body sent to the real recipient.
replyToMessageIdstringoptionalOriginal Gmail message ID for a reply. Preserves its thread, subject and RFC reply headers.
attachmentsobject[]optionalOptional files or durable Gmail attachment references, at most ten and 5 MB total decoded bytes. A reference has connectionId, messageId and partId. Default: []
idempotencyKeystringrequiredStable unique key for this intended send. Reuse on retries to prevent duplicate mail; choose a new key only for a new intentional message.

Example

curl -X POST https://app.chirply.io/api/v1/actions/gmail.reply \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "connectionId": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11",
    "body": "example",
    "idempotencyKey": "example"
  }'
Test with your API key

Over MCP the same operation is the tool gmail_reply at https://app.chirply.io/api/mcp, same bearer token, same input.

Search Gmail

gmail.searchread

Search the selected shared Gmail account using Gmail query syntax. Returns message bodies, attachment references and a next-page token; does not mark messages read in Gmail or send mail.

Parameters

FieldTypeRequiredDescription
connectionIdstring (uuid)requiredID of the Gmail account shared with this workspace. Determines the actual sending or reading account.
querystringoptionalNative Gmail search, such as from:customer@example.com has:attachment newer_than:7d. Default: "in:inbox"
pageTokenstringoptionalOpaque nextPageToken from the preceding page; omit for the first page.
limitintegeroptionalMaximum messages to return on this page, from 1 to 50. Default: 20

Example

curl -X POST https://app.chirply.io/api/v1/actions/gmail.search \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "connectionId": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool gmail_search at https://app.chirply.io/api/mcp, same bearer token, same input.

Send Gmail message

gmail.sendwriteconfirm

Send real email through the selected shared Gmail account, appearing in Gmail Sent. Google sending limits and account recipient opt-outs apply. Reuse idempotencyKey on retries; ambiguous deliveries are reconciled, never automatically resent.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
connectionIdstring (uuid)requiredID of the Gmail account shared with this workspace. Determines the actual sending or reading account.
tostring (email)optionalRecipient email for a new message. Replies use the original message's Reply-To or sender.
subjectstringoptionalSubject for new mail. Replies retain the original thread subject.
bodystringrequiredPlain-text email body sent to the real recipient.
replyToMessageIdstringoptionalOriginal Gmail message ID for a reply. Preserves its thread, subject and RFC reply headers.
attachmentsobject[]optionalOptional files or durable Gmail attachment references, at most ten and 5 MB total decoded bytes. A reference has connectionId, messageId and partId. Default: []
idempotencyKeystringrequiredStable unique key for this intended send. Reuse on retries to prevent duplicate mail; choose a new key only for a new intentional message.

Example

curl -X POST https://app.chirply.io/api/v1/actions/gmail.send \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "connectionId": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11",
    "body": "example",
    "idempotencyKey": "example"
  }'
Test with your API key

Over MCP the same operation is the tool gmail_send at https://app.chirply.io/api/mcp, same bearer token, same input.

Sync new Gmail mail

gmail.syncwriteconfirm

Process one durable page of new mail for this Gmail connection. Adds incoming messages to Conversations and queues matching enabled workflows, which may send real mail or perform other configured actions. Replayed pages are deduplicated.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
connectionIdstring (uuid)requiredID of the Gmail account shared with this workspace. Determines the actual sending or reading account.

Example

curl -X POST https://app.chirply.io/api/v1/actions/gmail.sync \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "connectionId": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool gmail_sync at https://app.chirply.io/api/mcp, same bearer token, same input.

The machine-readable version of this page is GET https://app.chirply.io/api/v1/actions?domain=gmail — same operations, with full JSON Schemas. Authentication, errors and rate limits are covered in the API documentation home.