ActionGmailUpdated June 2026

How do I list Gmail messages with a search query?

Short answer: You can list messages in Gmail by hand from its own interface, but it won’t repeat itself. On TinyCommand, add the Gmail List Messages action to a workflow, map its 3 inputs from any upstream app, and it runs automatically every time the trigger fires. No code, and a free tier to start.

List Messages in Gmail — start free
Inputs

The fields this action accepts.

Every field can be mapped from an upstream trigger, AI step, table row, or hard-coded literal.

FieldTypeRequiredDescription
Search Query
q
stringOptionalGmail search query (same syntax as the Gmail search box)
Max Results
maxResults
stringOptionalMax messages to return (hard cap: 20)
Label
labelIds
stringOptionalComma-separated Gmail label IDs. Find via List Labels.
Sample request
{
"q": "e.g. from:john@example.com is:unread after:2025/01/01",
"maxResults": "10",
"labelIds": "e.g. INBOX, UNREAD, STARRED"
}
Returns
{
"messages": [
{
"id": "msg123",
"payload": {
"body": {
"data": "base64..."
},
"headers": [
{
"name": "Subject",
"value": "Project update"
},
{
"name": "From",
"value": "alice@example.com"
}
]
},
"snippet": "Hi, I wanted to discuss...",
"labelIds": [
"INBOX",
"UNREAD"
],
"threadId": "thread123"
}
],
"resultSizeEstimate": 42
}

Use these fields in downstream nodes for routing, logging, or error handling.

Triggered by

Apps that pair well as the trigger for List Messages.

Any of these apps can fire this action as part of a workflow.

FAQ

Questions about List Messages.

What does the List Messages action do in Gmail?
Lists email messages from Gmail with full content (subject, body, headers). Use a search query (Gmail's "from:", "to:", "has:attachment", etc.) or label filter to scope.
What inputs does List Messages require?
List Messages has no required inputs. Sensible defaults are applied if you leave fields blank.
Can I use dynamic inputs from earlier workflow nodes?
Yes. Any field on this action can pull values from upstream nodes, whether that's a form response, a trigger payload, an AI output, or a lookup result.
What happens if Gmail returns an error?
The workflow pauses on the failed node, the error message is captured in the run log, and you can retry the run with one click. Auto-retry policies are configurable per workflow with exponential backoff up to 5 attempts.
Does List Messages support batch operations?
Yes. Run List Messages inside a Loop node to process arrays. TinyCommand handles Gmail's rate limits automatically so you don't have to throttle manually.
More actions

Other Gmail actions.

Action
Add Labels to Message
Adds one or more labels to an email message in Gmail. Use to file AI-classified mail, mark as Important/Starred, or move into a custom folder.
Action
Create Draft
Creates a new email draft in Gmail with to, cc, bcc, subject, body (text or HTML), and attachments. Used for human-in-the-loop flows where AI drafts and a human approves.
Action
Create Label
Creates a new label in your Gmail account with a name, optional parent, and visibility settings. Useful when classification automation should auto-provision missing labels.
Action
Delete Draft
Permanently deletes an email draft from Gmail by ID. Use for cleaning up superseded AI-generated drafts.
Action
Delete Label
Deletes a label from your Gmail account. Messages with the label keep the message but lose the label assignment.
Action
Delete Message
Permanently deletes an email message from Gmail. Bypasses Trash; use Trash Message instead for the recoverable path.
List Messages in Gmail — start free