Gmail labels are reusable tags for organizing messages or conversations. One message can have several user-created labels, and applying a label does not remove the message from the inbox. If a vendor email should leave the inbox after it is categorized, apply the label and archive it as separate actions.
This guide covers label creation on desktop and mobile, automatic labeling with Gmail filters, and the design choices behind Gmail API and Zapier workflows. The central decision is the unit of work: a message, a thread, a Gmail conversation, or an attachment. Your trigger, stored identifier, validation rule, and duplicate key should all use the same grain.
Use native Gmail filters for stable signals such as a known sender, subject prefix, attachment presence, or specific keywords. Consider API or Zapier when another system must receive the event. Treat AI classification as a proposed, bounded pattern for ambiguous meaning, not as a built-in Gmail labeling feature.
What Gmail labels do and how they differ from folders
A Gmail label is a category associated with an email message or thread. Unlike a traditional folder, a user-created label can overlap with other labels. An email might be labeled both Finance and Needs review. Labels do not inherently move messages out of the inbox, and they do not guarantee that every message in a conversation has the same label.
Gmail also has system labels, including INBOX, SENT, SPAM, and TRASH. These are separate from labels you create. The Gmail interface commonly groups messages into conversations, while the Gmail API distinguishes individual messages from threads.
For example, suppose thread T123 contains messages M1 and M2. Applying a label to M1 does not prove that M2 has it. Applying a label to thread T123 applies it to the existing messages in that thread, but a later reply does not automatically inherit the label. Google documents a limit of 5,000 labels per account. See Google’s Gmail API guide to labels for the message and thread semantics.
A label classifies an email. INBOX status determines whether it remains in the inbox. Choose labeling and archiving separately based on the result you want.
Create and manage labels on desktop, iPhone, and Android
Google’s documented paths differ by platform, and menu wording can change with the Gmail app version or account configuration. Mobile Gmail supports ordinary label management, while desktop is the clearest documented surface for nesting, visibility controls, and advanced filter setup.
- Desktop: In the left navigation, find the Labels section, choose the option to create a label, enter its name, and optionally select a parent label. Use the label list to organize a large taxonomy and check the current visibility settings in Gmail.
- iPhone or iPad: Open Menu > Labels > Create new. Google documents editing and deletion through Menu > Settings > Inbox customizations > Labels.
- Android: Open Menu > All labels > Create label. Google documents editing and deletion through Menu > Settings > select the account > Manage labels.
Use Google’s platform-specific desktop label instructions, iPhone and iPad instructions, or Android instructions when your app does not match these paths. The current Google pages confirm creation, editing, and deletion on mobile, but they do not provide one universal route for every label organization control.
Automatically apply labels with Gmail filters
A Gmail filter is a good fit when the rule depends on a stable search signal, such as a sender, subject, message text, size, date, or attachment status. In desktop Gmail, enter the search criteria, open the filter creation flow, select Apply the label, choose an existing label, and save the filter. Google’s filter guide also documents the option to apply a new filter to matching existing conversations.
- Define the criteria: Specify the sender, subject, keyword, attachment condition, or other supported search condition. Decide whether the rule is intended to classify each matching message or to organize a conversation.
- Preview the match: Search for the criteria first. Inspect expected matches and likely false positives before creating the filter.
- Select separate actions: Apply the label. If the message should leave the inbox, separately select the action that removes
INBOXand archives it. Marking a message read is also a separate action. - Choose historical coverage: In the documented desktop flow, select “Also apply filter to matching conversations” when existing matches should receive the filter actions. Google’s reviewed documentation confirms this desktop control, but does not establish a universal equivalent in every mobile app.
- Review ownership: The Gmail account owner or email operations administrator should inspect the first results and adjust overlapping or overbroad rules.
For API-created filters, Google documents a maximum of 1,000 filters for the filter-creation method and requires the gmail.settings.basic OAuth scope for that method. That limit and scope are specific to the documented API method, not a universal statement about every Gmail interface or label operation. See Google’s filter-creation reference.
Choose the right automation: Gmail filter, API, or Zapier
Before connecting Gmail to another system, name the row that the workflow creates or updates. A Gmail API message operation uses a message ID. A thread operation concerns the existing messages in a thread. Zapier’s documented New Labeled Conversation trigger is conversation-level and does not mean one event per reply.
| Workflow | Trigger and input | Validation and action | Fallback and record |
|---|---|---|---|
| Native filter | A message matches stable sender, subject, keyword, date, size, or attachment criteria. | Preview search results, apply the target label, and separately archive or mark read if required. | Owner reviews false matches. Record the rule version if another system depends on the label. |
| Gmail API | An authorized application receives a message ID or thread ID and a label operation. | Resolve the label ID, confirm it is a writable user label, then choose message or thread modification deliberately. | Handle authorization and transient errors. Store the source ID, operation status, and workflow version. |
| Zapier | A selected label is added to a conversation for the first time. | Test the actual trigger fields, then write one downstream conversation record using the Gmail thread or conversation identifier. | Use a message-level design when every reply matters. Prevent duplicate writes at the destination. |
For API work, use messages.modify when each message is the unit of work, or threads.modify when the operation should cover existing messages in a thread. Resolve the target label ID rather than assuming a display name is unique. Google’s label reference documents label resources and deletion.
Zapier lists Gmail triggers and actions, including New Labeled Conversation and Add Label to Email, in its Gmail integration directory. The directory also lists attachment-storage and other app combinations, but an example on a product page is not a complete guarantee of filtering, duplicate prevention, retries, approval, or retention behavior. Configure and test the exact trigger and destination. Zapier’s Gmail connection guidance notes connection requirements; Workspace administrator policies, OAuth restrictions, and security settings can add conditions.
Use account_id + gmail_thread_id + workflow_version for one record per conversation, or account_id + gmail_message_id + workflow_version for one record per message. If attachments are individual rows, extend the key with an attachment identifier and destination. A lookup followed by insert is not safe under concurrency, so enforce uniqueness in the database and use a transactional upsert or handle duplicate-create conflicts.
For a downstream database, store the source account, message or thread ID, source label ID, processing status, workflow version, timestamp, destination record ID, and error or review reason. Do not use subject text alone as a key. If the destination processes attachments, use an attachment-level key rather than treating a message ID as unique for every file.
Use AI only when rules cannot express the decision
Use deterministic Gmail filters for known senders, subject prefixes, attachment presence, mailing-list headers, and other stable signals. Consider AI only when classification depends on meaning or intent, preferably after a filter narrows the candidate messages.
A safe design keeps the classifier away from direct Gmail writes. Give it an allowlist of existing labels, validate its structured result, and send uncertain or sensitive cases to a named human owner. The following is a hypothetical contract, not a Gmail or Zapier standard:
{
"input_message_id": "18c-example",
"input_thread_id": "thread-example",
"candidate_label": "Finance/Invoices",
"confidence": 0.91,
"evidence_message_ids": [
"18c-example"
],
"pii_flag": false,
"action": "propose_label",
"review_required": false,
"classifier_version": "invoice-v1",
"schema_version": "1"
}
Before any write, confirm that the output parses, the message identity is correct, the proposed label is allowlisted and exists, and the confidence and sensitive-content policies are met. Route low-confidence, conflicting, legal, financial, or personally sensitive cases to the designated email operations or compliance owner. Save the original label state when rollback may matter.
Use a Gmail filter
Match a known sender, subject prefix, attachment condition, or keyword. This keeps the decision transparent and easy to test.
Use bounded classification
Offer only existing labels, validate the result before writing, and send uncertain or high-impact cases to a human reviewer.
For help designing bounded classification and review steps, see AI agent design. This link describes workflow design support, not a claim that Gmail supplies the classifier.
Delete a label without deleting its emails
Deleting a user-created label removes the categorization. It does not delete the underlying messages or move them to Trash. A message may already be archived or otherwise absent from the inbox because its INBOX status is separate from its label associations.
In API-based systems, label deletion and message deletion are different operations. Before acting, identify whether the goal is to remove a category, change inbox status, or delete an email. Use the corresponding label or message operation and verify the target first.
Implementation checks and common questions
- Search representative messages and confirm the intended label exists before enabling a filter.
- State whether each row is a message, thread, conversation, or attachment, and use that identifier consistently.
- Enforce a destination uniqueness constraint and store processing status, workflow version, and destination record ID.
- Confirm OAuth permissions, Workspace policy, data minimization, and retention rules before sending email content or attachments to an external service.
Can one Gmail message have more than one label?
Yes. Multiple user-created labels can describe the same message. They are overlapping categories, not mutually exclusive folders.
Can a filter label existing mail?
Google documents a desktop option to apply a new filter to matching existing conversations. The reviewed documentation does not establish one universal equivalent across mobile apps, so use the documented desktop workflow when retroactive application is required.
Does a thread label cover future replies?
Not automatically. A thread-level API operation applies the label to existing messages in that thread. A later reply may require another label operation, depending on the workflow.
Do replies trigger Zapier’s New Labeled Conversation event?
No. Zapier documents that the event fires the first time a label is added to a conversation. Replies in that conversation do not trigger it again. Use a message-level design if each reply needs its own record or task.
Can I manage labels on mobile?
Yes. Google documents label creation, editing, and deletion on iPhone, iPad, and Android, with different menu paths. Desktop provides the clearest documented route for advanced filter configuration and retroactive filter application.
Keep Gmail as the source of truth for the label itself. When an automation writes elsewhere, record which Gmail message or conversation caused the write, which rule or classifier made the decision, and how the destination handled it. For help scoping a conversation-level trigger and destination workflow, see Zapier automation consulting.
