Skip to content

Your EMCP guide

Answers from our docs

YOUR CHAT, YOUR CHOICE

Before we chat

MSR Builds processes your question and up to four recent messages on our server to answer from the EMCP docs. AI is optional and needs your separate permission.

The chat is kept in this page's memory, not saved as a conversation in our database or browser storage. Our hosting and security services process connection information, such as your IP address, to prevent abuse.

Cloudflare Turnstile checks your browser and connection to prevent automated abuse when you send a question. No login is required.

Please leave out personal, sensitive or confidential information, passwords and API keys.

You can withdraw consent and clear this page's chat at any time. This cannot undo a request already sent or erase provider/security records.

Chat privacy, retention & your rights ↗ · Privacy contact

Starting chat consents to this processing. You can browse our docs without using the chat.

Flamingo

New in 3.21.1 (Pro). Two dispatcher tools work with Flamingo 2.6.4:

ToolDefaultPurpose
flamingo-readOnStatus, messages, contacts and channels (6 operations)
flamingo-writeOffSpam, not spam, trash and restore a message (4 operations)

Enable the write tool under Tools > Plugins > Flamingo.

  • An active EMCP Pro licence.
  • Flamingo 2.6.4 exactly; another version answers unsupported_version. Contact Form 7 is optional.
  • An administrator (manage_options) with Flamingo’s message permissions. Contacts need Flamingo’s contact permission, channels its options permission, and each message and contact is checked individually.
OperationWhat it does
statusVersion, whether Contact Form 7 is active and whether the trash is enabled
list-messagesMessages by status (publish by default, flamingo-spam, trash), newest first, paged: ID, status, date, subject, channel, version
get-messageOne message by id; with include_details: true also its submitted fields
list-contactsContacts by status, paged: ID, status, date
get-contactOne contact by id; with include_details: true also name and email
list-channelsForm channels: ID, slug, name

Lists cover up to 5,000 messages or contacts per status (scope_too_large beyond).

Submitted fields leave out any key that looks like a password, secret, token, auth value, API key, credit card or CVV, at every nesting level up to ten, and objects are omitted. Internal request data and spam-check payloads are never returned. A secret typed into a free-text field cannot be detected.

Every write needs the message’s version and confirm: true; dry_run: true validates first.

OperationWhat it does
spamMark a message as spam
unspamMark a spam message as not spam
trashMove a message to the trash
restoreBring a trashed message back to the status it had before
  • Messages carrying Akismet data are refused (external_side_effect): moderate them in Flamingo, which reports them to Akismet.
  • When the site’s trash is turned off, trash is refused (trash_disabled), because Flamingo would delete the message permanently.
  • spam and unspam on a trashed message are refused (invalid_transition): restore it first.
  • A message changed since your read answers conflict. There is no permanent delete.

Every change can be undone from History, which sets the previous status back through Flamingo with a conflict check. If a hook fails after the status changed, EMCP tries to put the status back and records a recovery entry (partial_write).