Set email flag
Description
Sets or clears one flag on a message: SEEN (read/unread), FLAGGED (starred), ANSWERED, DRAFT, or DELETED. Takes an email object from Find/Get email — the server connection comes from the email itself. Use this to mark messages as read after processing them, so a polling pipeline does not reprocess them. Branches on success/error.
When to use
This is the node that makes polling work. Flovello has no “new email”
trigger; the pattern is Simple schedule → Find emails with State UNREAD →
process → Set email flag (SEEN, true). Without that last step the next
run finds the same messages and does the work again.
Set the flag after the processing succeeds, not before, so a failed run leaves the message unread and it is retried next time. If a message can fail permanently, pair the flag with a Move email into a “failed” folder so it stops being retried forever.
Read email deliberately does not set SEEN — it peeks — precisely so that
reading a body is not the thing that marks work as done. That decision is
what makes this node the single, explicit place where “handled” is recorded.
FLAGGED is useful as a second axis: mark messages that need a human to
look at them, and let a person work the flagged list in their normal mail
client.
Pins
Input pins
| Pin | Type | Default | Notes |
|---|---|---|---|
| — | An email object from Find emails or Get email. The folder and the server connection both come from the email itself, so this node needs no credentials. | ||
| Flag | Email flag | SEEN | Which IMAP system flag to change. `SEEN` is read/unread, `FLAGGED` is the star or flag most clients show, `ANSWERED` marks a message as replied to, `DRAFT` marks it as a draft, and `DELETED` marks it for expunging without expunging it (use Delete email to actually remove a message). |
| Value | boolean | true | `true` sets the flag, `false` clears it. Marking a message unread again is Flag `SEEN` with Value `false`. |
Execution pins
| Pin | Direction |
|---|---|
| In | Input |
| Success | Output |
| Error | Output |
Example
A support-ticket importer. Simple schedule every 5 minutes → Email OAuth2
credentials → Find emails (Folder INBOX, State UNREAD, Limit 50) →
For each. Inside the loop: Read email, create the ticket with HTTP request,
and only on that request’s Success pin wire the loop element into Set email
flag (SEEN, true). Wire the HTTP request’s Error pin into Set email flag
(FLAGGED, true) instead, so failures stay unread for the retry and are
starred for a human to notice.