---
title: "11.7 Triggers: Messages, Contacts and Manual"
description: "Contact Updated is not \"edited only\". Because it also fires on every inbound message, a workflow on it can run far more often than expected."
url: "https://peikly.com/docs/triggers-messages-contacts-and-manual/"
updated: "2026-10-07"
category: Automation Workflows
tags:
  - Manual sync
---

# 11.7 Triggers: Messages, Contacts and Manual

| Trigger | Starts when | Has a contact? |
| --- | --- | --- |
| **Message Received via WhatsApp** | Any WhatsApp message arrives on one of your numbers, including from numbers that are **not** contacts | Only if the sender is already a contact. Start with **Add/Upsert Contact** ([11.11](/docs/activity-add-upsert-contact/)) |
| **Message Received via Email** | An email arrives in a connected Reply-To Mailbox from an **existing** contact. Emails from unknown senders are not synced and do not start workflows | Yes |
| **New Contact Added Manually** | A user creates a contact (form or quick create) | Yes |
| **New Contact Added by WhatsApp Lead** | A user clicks **Save as contact** on a WhatsApp chat from a number that is not a contact yet | Yes |
| **New Contact Added by Email Lead** | Listed for completeness. Inbound email only syncs existing contacts, so this trigger does not fire today | Yes |
| **Contact Updated** | A contact is edited, **and also every time that contact sends a WhatsApp message or email** | Yes |
| **Manual** | You start it with **Trigger now** ([11.30](/docs/manually-trigger-a-workflow/)) | Yes, the one you choose |

**Watch out:**

- **Contact Updated** is not "edited only". Because it also fires on every inbound message, a workflow on it can run far more often than expected.
- Each message starts its own run. A customer who sends three messages in a row starts three runs.
- Message triggers check every inbound message. For auto-replies, use [11.20 Message Matches](/docs/condition-message-matches/) so the workflow answers only the messages you intend.
