Munin
Munin developer portal
Get a key →
Section · Skills Library

How your agent works.

Markdown procedures the agent can read at runtime, written by humans who know the domain.

analytics 3

bookings 1

cms 9

skill://cms/author-with-blocks

CMS: Author content with blocks

Define typed block types on a collection and author rich in-article content (callouts, galleries, product cards) whose embedded assets and entry references are validated, expanded on read, and tracked for deletion safety.

1,572 words
skill://cms/design-collection

CMS: Design a collection

Turn "I need a blog / product catalog / FAQ / landing-page content store" into a working `cms_create_collection` call — pick field types deliberately, order fields for the editor, decide localization up front, and avoid the field-migration paper cuts.

2,409 words
skill://cms/localize-entry

CMS: Localize an entry

Configure locales, author one entry per language with its own slug, keep the locale variants linked, and switch the org's default locale without breaking already-published entries.

1,471 words
skill://cms/migrate-content

CMS: Migrate content in bulk

Move entries from an external CMS (or between Munin collections) idempotently — preserve references, rewrite assets, reconcile schema drift.

932 words
skill://cms/preview-entry

Preview a draft entry

Let editors view a draft CMS entry rendered by the customer frontend before publishing — configure the collection's previewUrl template, mint a signed preview link, and wire the frontend's draft-mode handler.

1,476 words
skill://cms/publish-entry

CMS: Publish an entry

Move a CMS entry through draft → published — immediate, scheduled, or rolled back — without losing work to optimistic-lock conflicts.

1,672 words
skill://cms/review-stale-entries

CMS: Review stale entries

Periodic curator pass — find drafts that have stalled, published entries that haven't been touched in months, and orphaned assets. Reports findings with recommended actions. No persistence layer; the operator reviews the curator-runner's log/reply and acts manually via existing CMS tools.

1,655 words
skill://cms/revise-entry

CMS: Revise an existing entry

Edit a live or draft article in place — reword a sentence, swap an image, add or remove a block — without regenerating the whole body, then preview and publish the change.

1,564 words
skill://cms/upload-asset-and-embed

CMS: Upload an asset and embed it

Two-phase asset upload (request presigned upload → send binary → complete), embed in entries, and audit unused assets.

1,073 words

commerce 2

connectors 2

conv 13

skill://conv/configure-id-redaction

Conv: Configure national ID redaction

Decide what Munin keeps when customers send national identity numbers, and clean up messages stored before the policy was set.

694 words
skill://conv/escalate-to-human

Conv: Escalate a conversation to a human

How an external chat-widget bot detects that a human/agent in Munin has replied and yields the conversation.

376 words
skill://conv/promote-topic-to-auto-send

Promote a topic to auto-send

Decide from the review record whether a conversation topic is ready to answer without human review, promote it, and step it back when the numbers say so.

432 words
skill://conv/recover-failed-deliveries

Recover a failed message delivery

Find outgoing email or SMS that never reached the recipient, read why the send failed, fix the cause, and re-queue the delivery with conv_retry_delivery.

1,134 words
skill://conv/send-images-in-replies

Send images in replies

How to attach an image to a conversation reply, read the images a customer sent, and delete one.

499 words
skill://conv/set-topic-and-title

Set a conversation's topic and title

When a new inbound conversation is created, read its first end-user message, tag it with the best-fitting topic (creating one only when confident none fit), and give it a short title if it doesn't already have one. Fires on every `conversation.created` event so the inbox is triaged the moment a message lands — without operator intervention.

1,392 words
skill://conv/setup-chat-widget

Conv: Set up a chat widget

Provision a per-channel widget API key, push transcripts and image attachments via POST /v1/widget/messages, and wire the human-handoff webhook.

2,815 words
skill://conv/setup-email-and-widget-channels

Conv: Set up email and chat-widget channels together

Stand up email + widget conversation channels for a new tenant in one pass — configure, test, hand off.

890 words
skill://conv/setup-email-channel

Conv: Set up an email channel

Configure SMTP outbound and optional IMAP inbound for an email channel, then verify the credentials.

1,511 words
skill://conv/setup-voice-sms-channel

Set up a voice or SMS channel

Configure a Vapi/Threll voice channel or Twilio/MessageBird SMS channel with non-secret config, hand off the API keys through a credential link, and verify the result.

1,031 words
skill://conv/stop-junk-senders

Stop a junk sender

Marking a conversation spam remembers the sender, so their next thread is settled at ingest instead of costing another agent pass. How the flag is set, what it changes, and how it comes off.

611 words
skill://conv/strip-email-signature

Conv: Strip the signature from an inbound email message

Cleanup pass that removes the sender's sign-off and contact block from an inbound email body that has already had its quoted reply stripped, then writes the cleaned body back via `conv_strip_message_signature`.

1,498 words
skill://conv/track-email-opens

Conv: Track email opens

Turn on open tracking for an email channel, then read per-message and per-channel open numbers — and report them with the caveats that pixel tracking carries.

717 words

crm 7

skill://crm/clean-contact-data

CRM: Clean up contact data

Periodic curator pass — find duplicate / inconsistent contacts, file high-confidence pairs as structured merge proposals via crm_propose_merge. Designed to be run on a cadence by an admin agent (weekly is a good default). The operator reviews via crm_list_merge_proposals and resolves with crm_apply_merge_proposal / crm_dismiss_merge_proposal.

1,784 words
skill://crm/deduplicate-contacts

CRM: Deduplicate contacts

Consolidate two contact rows that are the same person — file the pair as a merge proposal with crm_propose_merge, then resolve it with crm_apply_merge_proposal or crm_dismiss_merge_proposal. Covers the one-off duplicate you hit during other work; the scheduled population sweep is skill://crm/clean-contact-data.

1,008 words
skill://crm/extract-contact-from-message

CRM: Extract a contact from a message

When a conversation closes, read the thread for identifying info the end-user volunteered (name, email, phone, company, title) and persist it to the CRM as a contact — auto-applied, no proposal queue. Designed to fire on every `conversation.closed` event so visitor-volunteered identity becomes structured CRM data without operator intervention.

1,420 words
skill://crm/import-and-score-leads

CRM: Import and score leads

Bulk-import contacts, attach them to companies and a deal pipeline, log the source touchpoint, and seed AI summaries for downstream prioritization.

680 words
skill://crm/onboard-new-customer

CRM: Onboard a new customer

Recommended sequence for capturing a new customer, attaching them to a company, and seeding the AI summary that drives later prioritization.

496 words
skill://crm/progress-deal-through-pipeline

CRM: Progress a deal through the pipeline

Move a deal through pipeline stages with the right activity log at each gate, then refresh AI summary so prioritization stays fresh.

708 words
skill://crm/repair-undeliverable-address

CRM: Repair an undeliverable address

Handle an email address mail can no longer reach — read the deliverability state on a contact, record a dead address so outreach stops sending, find the person's new address, and reopen the address once it works again. Deliverability is reachability, not consent; never fix it with do_not_contact.

878 words

identity 1

kb 5

outreach 7

skill://outreach/draft-first-touch-call

Outreach: Draft a first-touch call

Draft the opening and talking points for a first-touch outbound call on a voice campaign. One pending proposal per (campaign, contact). Only a signed-in person in the Munin dashboard can place the call — an agent never can, on any host.

933 words
skill://outreach/draft-first-touch-email

Outreach: Draft a first-touch email

Periodic curator pass that drafts personalised first-touch outreach emails for every enabled campaign. One pending proposal per (campaign, contact). Drafts go into the operator review queue — never auto-send. Runs weekly by default; the operator approves each draft before it leaves the org.

1,823 words
skill://outreach/draft-first-touch-sms

Outreach: Draft a first-touch text message

Draft first-touch SMS outreach for a campaign running on an SMS channel. One pending proposal per (campaign, contact), capped at 480 characters, plain text. Only a signed-in person in the Munin dashboard can approve a text — an agent never sends one.

764 words
skill://outreach/draft-followup-email

Outreach: Draft follow-ups

Scheduled curator pass (daily by default) that drafts the next sequence step for outreach conversations where the prospect has not replied. Campaigns opt in by defining `sequenceSteps`; each due follow-up is drafted from its step brief and filed for human approval — never auto-send. Any inbound reply permanently stops the sequence.

1,007 words
skill://outreach/draft-reply-email

Outreach: Draft a reply

Per-message curator pass that drafts a suggested reply when an inbound message lands on an outreach-originated conversation. Drafts go to the operator review queue — never auto-send. Triggered event-driven from `conversation.message.received` whenever the conversation has an `outreachCampaignId` and `agentMode='draft_only'`.

1,159 words
skill://outreach/extract-outcome

Outreach: Extract an outcome

After an outbound call ends or a prospect replies to an outreach email or SMS, read what they said and write it into the contact's custom fields, under the field schema the campaign declares. Auto-applied, no proposal queue. Fires on conversation.voice.call_ended and on inbound replies, for campaigns with a non-empty extractionSchema.

1,727 words
skill://outreach/review-proposals

Outreach: Review pending proposals

Operator review pass over drafted outreach proposals — approve each pending draft (sending it now or scheduling it for a named time), dismiss it, or call off a scheduled send, plus the two agent-side corrections, revise and withdraw. Voice and SMS proposals are approved only in the Munin dashboard. In MCP App hosts this renders the interactive Munin Inspector panel.

2,470 words

playbooks 5

seo 1

slack 1

social 3

webhooks 1