Appbricx
Docs
FeaturesPricingStart free

Get started

OverviewWhat Appbricx isQuickstart with a coding agentQuickstart with the builderCore concepts

Guides

Data and tablesAccess and rolesBusiness rulesSign-inCustom screensRealtime and topicsWorkflows, schedules and webhooksServer functionsAI in your appPaymentsFilesMessagesIntegrationsVerifyPublishing, domains and rollbackOperating your appExport and self-hostSelf-host install

Tutorials

Build a booking app with Claude CodeMulti-user todo listClient portalSlack on new sign-upTemplates

Reference

Reference homeFrontend SDKHTTP APIMCP toolsCLIIntegrations catalogContract formatAI key resolutionRun Appbricx locally

Gmail

Send, reply, search, and read emails in Gmail. Create drafts, request approvals, and manage your inbox.

CommunicationOAuth7 actionsAll integrations

On this page
  1. Connect
  2. Call it from a workflow
  3. Actions (7)
  4. create_draft_reply
  5. custom_api_call
  6. gmail_get_mail
  7. gmail_search_mail
  8. reply_to_email
  9. request_approval_in_mail
  10. send_email
  11. Details

Connect

Auth type: OAuth (oauth2). Click Connect and approve access on the provider's page. Appbricx runs the OAuth flow (signed single-use state, PKCE where the provider supports it), stores the tokens encrypted and refreshes them before they expire.

Scopes requested: https://www.googleapis.com/auth/gmail.sendhttps://www.googleapis.com/auth/gmail.readonlyhttps://www.googleapis.com/auth/gmail.compose

OAuth needs an OAuth app: the platform's when the operator configured one, or your own (admin panel, Integrations, Configure). You can also bring your own credentials.

  • In the editor: Backend panel, Integrations tab, then Connect. This connects it for the project.
  • For every project in a workspace: Workspace settings, Integrations.
  • Owners and admins choose which integrations members may connect in the admin panel (Integrations tab), and can attach their own OAuth app there.

Call it from a workflow

Pass the action name and its input. The call resolves with { success, output, error? }; a missing connection resolves with success false and the reason. See ctx.integrations.invoke and ctx.integrations.call.

Native workflow
// .workflow.js (native ctx)
export async function run(ctx) {
  const res = await ctx.integrations.invoke("gmail", "create_draft_reply", {
    "message_id": "<message_id>",
    "reply_type": "reply",
    "body_type": "plain_text",
    "include_original_message": true
  });
  if (!res.success) throw new Error(res.error);
  ctx.log.info("Gmail answered", { output: res.output });
}
defineWorkflow module
// defineWorkflow module (@app/sdk ctx)
import { defineWorkflow } from "@app/sdk";

export default defineWorkflow({
  id: "gmail-create-draft-reply",
  name: "Gmail: Create Draft Reply",
  description: "Calls Gmail when a row is created.",
  trigger: { type: "entity_event", entity: "tickets", event: "created" },
  async run(ctx, event) {
    const res = await ctx.integrations.call("gmail", {
      "action": "create_draft_reply",
      "message_id": "<message_id>",
      "reply_type": "reply",
      "body_type": "plain_text",
      "include_original_message": true
    }) as { success: boolean; error?: string };
    if (!res.success) throw new Error(res.error);
  },
});
From an app (connector proxy)
curl -X POST "$APP_ORIGIN/__appbricx/connector-proxy/gmail/create_draft_reply" \
  -H "Authorization: Bearer $APP_KEY" \
  -H "content-type: application/json" \
  -d '{"props":{"message_id":"<message_id>","reply_type":"reply","body_type":"plain_text","include_original_message":true}}'

Actions

create_draft_replyin catalog

Create Draft Reply. Creates a draft reply to an existing email.

InputTypeDescription
message_idrequiredid (picked from your account)Select a message from the list or enter a message ID manually.
reply_typerequiredone of "reply" | "reply_all"Choose whether to reply to sender only or to all recipients
body_typerequiredone of "plain_text" | "html"Body Type
bodyoptionallong textYour draft reply message content
include_original_messagerequiredbooleanInclude the original message content in the draft reply
sender_nameoptionaltextOptional sender name to display
attachmentoptionalfileOptional file to attach to your draft reply
attachment_nameoptionaltextCustom name for the attachment

custom_api_callin catalog

Custom API Call. Make a custom API call to a specific endpoint

InputTypeDescription
urlrequiredobject (depends on other props)url
methodrequiredone of "GET" | "POST" | "PATCH" | "PUT" | "DELETE" | "HEAD"Method
headersrequiredobjectAuthorization headers are injected automatically from your connection.
queryParamsrequiredobjectQuery Parameters
body_typeoptionalone of "none" | "json" | "form_data" | "raw"Body Type
bodyoptionalobject (depends on other props)Body
response_is_binaryoptionalbooleanEnable for files like PDFs, images, etc.
failsafeoptionalbooleanNo Error on Failure
timeoutoptionalnumberTimeout (in seconds)
followRedirectsoptionalbooleanFollow redirects

gmail_get_mailin catalog

Get Email. Get an email via Id.

InputTypeDescription
message_idrequiredtextThe messageId of the mail to read.

gmail_search_mailin catalog

Find Email. Find emails using advanced search criteria. At least one search filter (from, to, subject, label, category, date, content, or attachment) is required.

InputTypeDescription
fromoptionaltextOptional filteration, leave empty to filter based on the email sender
tooptionaltextOptional filteration, leave empty to filter based on the email recipient
subjectoptionaltextThe email subject
contentoptionaltextSearch for specific text within email body
has_attachmentoptionalbooleanOnly find emails with attachments
attachment_nameoptionaltextSearch for emails with specific attachment filename
labeloptionalid (picked from your account)Optional filteration, leave unselected to filter based on the email label
categoryoptionalone of "primary" | "social" | "promotions" | "updates" | "forums" | "reservations" | "purchases"Optional filteration, leave unselected to filter based on the email category
after_dateoptionaldate-time (ISO)Find emails sent after this date
before_dateoptionaldate-time (ISO)Find emails sent before this date
include_spam_trashoptionalbooleanInclude emails from Spam and Trash folders in search results
max_resultsoptionalnumberMaximum number of emails to return (1-500)

reply_to_emailin catalog

Reply to Email. Reply to an existing email.

InputTypeDescription
message_idrequiredid (picked from your account)Select a message from the list or enter a message ID manually.
reply_typerequiredone of "reply" | "reply_all"Choose whether to reply to sender only or to all recipients
body_typerequiredone of "plain_text" | "html"Body Type
bodyrequiredlong textYour reply message content
sender_nameoptionaltextOptional sender name to display
attachmentoptionalfileOptional file to attach to your reply
attachment_nameoptionaltextCustom name for the attachment

request_approval_in_mailin catalog

Request Approval in Email. Send approval request email and then wait until the email is approved or disapproved

InputTypeDescription
receiverrequiredtextThe email address of the recipient who will receive the approval request.
ccoptionalarrayThe email addresses of the recipients who will receive a carbon copy of the approval request.
bccoptionalarrayThe email addresses of the recipients who will receive a blind carbon copy of the approval request.
subjectrequiredtextThe subject of the approval request email.
bodyrequiredtextBody for the email you want to send
reply_tooptionalarrayEmail address to set as the "Reply-To" header
sender_nameoptionaltextSender Name
fromoptionaltextThe address must be listed in your GMail account's settings
in_reply_tooptionaltextReply to this Message-ID

send_emailin catalog

Send Email. Send an email through a Gmail account

InputTypeDescription
receiverrequiredarrayReceiver Email (To)
ccoptionalarrayCC Email
bccoptionalarrayBCC Email
subjectrequiredtextSubject
body_typerequiredone of "plain_text" | "html"Body Type
bodyrequiredtextBody for the email you want to send
reply_tooptionalarrayEmail address to set as the "Reply-To" header
sender_nameoptionaltextSender Name
fromoptionaltextThe address must be listed in your GMail account's settings
attachmentsoptionalarrayAttachments
in_reply_tooptionaltextReply to this Message-ID
draftrequiredbooleanCreate draft without sending the actual email

Details

Id
gmail
Category
Communication
Tags
email, google, inbox, mail, send, read
Package
@activepieces/piece-gmail@0.11.6
Tier
Built in

On this page

  1. Connect
  2. Call it from a workflow
  3. Actions (7)
  4. create_draft_reply
  5. custom_api_call
  6. gmail_get_mail
  7. gmail_search_mail
  8. reply_to_email
  9. request_approval_in_mail
  10. send_email
  11. Details
Appbricx

The backend, runtime and hosting for apps your coding agent builds. On our cloud, in yours, or on your own servers.

Features

Coding agents and MCPVerify testingBuilder consolePostgres databaseData APIRealtimeRow-level securitySign-in and authPaymentsWorkflows and jobsAI in your appIntegrationsBackups and rollbackHosting and domainsSelf-host and exportAll features

Product

ShowcasePricingFor coding agentsTemplatesPrivate cloudBring your own AI keyFAQ

Compare

Appbricx vs SupabaseLovable alternativeBolt alternativeFor freelancersFor agencies

Resources

DocumentationReferenceBlogSupportContact

© 2026 Appbricx. All rights reserved.

TermsPrivacyCookiesAcceptable Use