View as Markdown
Gmail icon

Gmail TRIGGER

New Email Received

Emit new event when a new email is received.
  • Trigger
  • Polling
  • OAuth
  • Webhook delivery

IMPLEMENTATION

Deploy this event source

Connect the user's Gmail account, configure the source, and choose the webhook where your backend receives events.

import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const deployed = await pd.triggers.deploy({
  id: "gmail-new-email-received",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    gmail: { authProvisionId: "apn_xxxxxxx" },
    triggerType: "Trigger Type",
    timer: { "intervalSeconds": 900 },
  },
  webhookUrl: "https://example.com/webhooks/gmail",
})

console.log(deployed.id)

MCP exposes on-demand actions. Event sources are deployed through the Connect SDK or API because they continue listening after the initial request.

SCHEMA

Configuration

These inputs define which events the source watches. Dynamic options are loaded from the connected account.

New Email Received configuration
Property Type Description
triggerType Trigger Type string
Configuring this source as a webhook (instant) trigger requires a custom OAuth client. Refer to the guide here to get started.
Optional
timer Polling Interval $.interface.timer
How often to poll for new emails
Required
withTextPayload Return payload as plaintext boolean
Convert the payload response into a single text field. This reduces the size of the payload and makes it easier for LLMs work with.
Required
serviceAccountKeyJson Service Account Key JSON string
Optional
topicType Pub/Sub Topic string
Do you have an existing Pub/Sub topic, or would you like to create a new one?
Optional
topic Pub/Sub Topic Name string
Select a Pub/Sub topic from your GCP account to watch
Optional Dynamic
labels Labels string[]
Labels are used to categorize messages and threads within the user's mailbox
Optional Dynamic
excludeLabels Exclude Labels string[]
Emails with the specified labels will be excluded from results
Optional Dynamic

01

Connect

Your user authorizes Gmail through Pipedream managed auth.

02

Deploy

Your backend deploys this source with that user's own configuration.

03

Webhook delivery

Every event is sent to the HTTP endpoint you choose when you deploy the source — after each poll.

OR

On-demand retrieval

No webhook required. Your app or agent can fetch recent events from the trigger events API.

Registry key
gmail-new-email-received
Version
0.3.7
App
Gmail
Authentication
OAuth
Delivery
Polling source
Output
Events emitted by Gmail.