Object reference
Gmail label
A Gmail label is a tag you can apply to conversations. A script can look one up by name, and can add or remove it from threads.
GmailApp.GmailLabelStart here
Get this object first
Look up a label by its exact name. If it does not exist yet, create it so the rest of the script always has a label to use.
Code.gs
function getOrCreateProcessedLabel() {
const labelName = 'Processed by script';
let label = GmailApp.getUserLabelByName(labelName);
if (!label) {
label = GmailApp.createLabel(labelName);
}
Logger.log(label.getName());
} Then use it
Common actions
Choose an action, then open its example only when you need the code.
Count the threads carrying a label
Logs the number of conversations that have the label.
GmailApp.GmailLabelShow example code
Code.gs
function logProcessedLabelThreadCount() {
const label = GmailApp.getUserLabelByName('Processed by script');
if (!label) throw new Error('Create a Gmail label named Processed by script first.');
Logger.log(label.getThreads().length);
} Add the label to a thread (this changes data)
Adds the label to the newest matching conversation. Nothing is deleted or sent.
GmailApp.GmailLabelGmailApp.GmailThreadShow example code
Code.gs
function addProcessedLabelToLatestThread() {
const label = GmailApp.getUserLabelByName('Processed by script');
if (!label) throw new Error('Create a Gmail label named Processed by script first.');
const threads = GmailApp.search('newer_than:1d', 0, 1);
if (!threads.length) return;
label.addToThread(threads[0]);
Logger.log('Label added to: ' + threads[0].getFirstMessageSubject());
} List all of your label names
Logs the name of every label in your Gmail account.
GmailApp.GmailLabelShow example code
Code.gs
function logAllLabelNames() {
const names = GmailApp.getUserLabels().map((label) => label.getName());
Logger.log(names.join(', ') || 'No labels');
} Technical reference
Exact names and signatures
Open method details when you need them.
At a glance
- Service
- GmailApp
- Reference symbol
GmailApp.GmailLabel- Object
GmailLabel- Runtime
- From signature data
Methods and signatures
Browse 9 methods
addToThread
From signature data Google source
- addToThread(thread: GmailApp.GmailThread): GmailApp.GmailLabel
addToThreads
From signature data Google source
- addToThreads(threads: GmailApp.GmailThread[]): GmailApp.GmailLabel
deleteLabel
From signature data Google source
- deleteLabel(): void
getId
From signature data Google source
- getId(): string
getName
From signature data Google source
- getName(): string
getThreads
From signature data Google source
- getThreads(): GmailApp.GmailThread[]
- getThreads(start: number, max: number): GmailApp.GmailThread[]
getUnreadCount
From signature data Google source
- getUnreadCount(): number
removeFromThread
From signature data Google source
- removeFromThread(thread: GmailApp.GmailThread): GmailApp.GmailLabel
removeFromThreads
From signature data Google source
- removeFromThreads(threads: GmailApp.GmailThread[]): GmailApp.GmailLabel
Need the whole workflow?
Return to a task guide
Task guides cover setup, permissions, expected results, and troubleshooting as well as object methods.
Browse Gmail tasks