imperal.io
  • How it works
  • Use cases
  • Technology
  • Pricing
Login
Webbee AIWebbee Codeimperal-mcpDevelopers & SDKSecurity & Vault
Add an app · Marketplace
imperal.ioICNLI Cloud OS

One OS for everything you run. Webbee is your agent inside it, she does the work, you stay in control.

Product
  • Webbee
  • Webbee Code
  • Imperal MCP
  • Marketplace
  • Use cases
  • Pricing
  • Open panel
Resources
  • Security
  • Technology
  • Success stories
  • Blog
Developers
  • Developers
  • Docs
  • Quick start
  • SDK reference
  • Developer portal
Company
  • About
  • Contact
  • Legal
Open protocol
  • ICNLI
  • SDK on GitHub
© 2026 Imperal, Inc. · ICNLI published at icnli.org under CC BY-SA 4.0
TermsPrivacy
  1. Home
  2. /
  3. Marketplace
  4. /
  5. Newsletter Writer

Newsletter Writer Extension

✍ Writing & Content·by seeu·v1.6.0
Pay per use10-400 tok/action
Open in panel
0 capabilities163 actions3 installs

About this extension

Project-based email newsletter writing: keep per-project context (brand voice, goals, reference links, reusable 'fill' items like promo codes) and have newsletters written cheaply, with mechanical quality gates and self-review, grounded in that context. Read/edit full newsletters in the panel - chat never touches full bodies.

What you get

Every capability exposed by Newsletter Writer, metered per action and guarded by the two-step safety protocol.

  • create_projectwrite

    Create a new newsletter project - a container for one brand's context: goals, brand voice, keywords, useful links, socials, MailerLite targeting label. Use for: add a new newsletter project.

  • list_projectsread

    List all newsletter projects - id, name, keywords, goals. Use for: list my newsletter projects, what newsletter projects do I have.

  • update_project_contextwrite

    Update a newsletter project's context - any of: name, description, brand voice, goals, keywords, useful links, social links, MailerLite targeting label/group ids. Only send fields that changed. Use for: add keywords to newsletter project, update brand voice, set MailerLite targeting.

  • delete_projectdestructive

    Permanently delete a newsletter project and ALL its newsletters, fill categories and fill items. Use for: delete this newsletter project, remove newsletter site.

  • open_projectwrite

    PANEL-ONLY: switch the currently-open project (sidebar detail + workspace board). Not for chat use - this is pure UI navigation state, nothing about the project itself changes.

  • add_reference_linkwrite

    Add ONE internal page of THIS project's own site as a reference link the newsletter writer may link to, with a short description of what that page is about. The writer uses the description to weave a natural, in-sentence anchor. Use for: add an internal link for the newsletter writer.

  • list_reference_linksread

    List the internal reference links saved on a newsletter project. Use for: list reference links, what internal links can the newsletter writer use.

  • remove_reference_linkdestructive

    Remove ONE internal reference link from a newsletter project by its URL. Use for: remove a reference link.

  • create_fill_categorywrite

    Add a named 'stock' category (e.g. promo codes, priority links, topics to cover) to a newsletter project. Capped per project - ask the user proactively which categories they want. Use for: create a fill category, add a promo-code slot.

  • list_fill_categoriesread

    List the fill categories (promo codes, links, topics, etc.) on a newsletter project. Use for: list fill categories.

  • delete_fill_categorydestructive

    Permanently delete a fill category and all its items. Use for: delete this fill category.

  • create_fill_itemwrite

    Add one value (a promo code, a specific link, a topic) to a fill category. The generation pipeline rotates through items least-used-first. Use for: add an item to the category, add a value to fill category.

  • list_fill_itemsread

    List the items in a fill category, least-used-first. Use for: list fill items.

  • update_fill_itemwrite

    Change a fill item's value/note, or retire it (is_active=false) without deleting its usage history - e.g. an expired promo code. Use for: retire this promo code, deactivate fill item.

  • delete_fill_itemdestructive

    Permanently delete one fill item. Use for: delete this fill item.

  • create_newsletterwrite

    Create a new newsletter shell under a project - just a placeholder, no content yet. Does not call any AI. Follow up with generate_newsletter to actually write it. Use for: add a newsletter idea, start a new email draft.

  • list_newslettersread

    List newsletters (metadata only - id, subject, status, word count, quality flags - never the full body). Optionally filter by project or status. Use for: list newsletters, what's in review, show idea/writing/review/scheduled/sent newsletters.

  • update_newsletter_statuswrite

    Move a newsletter to a new status: idea, writing, review, scheduled, sent. Use for: move this newsletter to review/scheduled.

  • update_newsletter_metawrite

    Fix a newsletter's subject and/or preheader without touching the body. Use for: change the subject line.

  • update_newsletter_sectionwrite

    PANEL-ONLY: directly overwrite one block's fields with EXACT values - a raw manual save, NOT an AI writing step (it skips the judge entirely). Not for chat use - Webbee should use generate_newsletter or patch_newsletter to write content.

  • save_full_newsletterwrite

    PANEL-ONLY: replace the entire newsletter from the panel's single merged editor. The leading <h1> is the subject; everything after it splits into {heading, content} sections at heading boundaries (see richtext.py). Persists BOTH the subject and the body in one save - this is the one path that lets the subject or a section be edited/added/removed/reordered by editing the document directly. Not for chat use - Webbee should use generate_newsletter or patch_newsletter to write content.

  • read_full_newsletterread

    Read the ENTIRE newsletter body as editable Markdown (# subject, ## section headings, body in light markdown). Returns the full text to chat on purpose - call this before editing so you work from the real current text, never from memory. (To hand a newsletter to another app like MailerLite/Mail/Notes, use export_newsletter_text instead - sending raw Markdown produces literal '**'/'##' characters in the recipient's inbox.) Use for: read the whole newsletter.

  • export_newsletter_textread

    Get the FULL newsletter body - both as HTML (`html`: <h2>/<strong>/<ul> markup, no literal Markdown syntax) and plain text (`text`) - so it can be handed to another extension: MailerLite (create/update a campaign), Mail's send()/reply() (is_html=true), or Notes. ONLY call this when the user explicitly asks to send/export/copy the newsletter somewhere. Never call this for routine status checks or listing - use list_newsletters for those, which stays cheap on purpose.

  • edit_full_newsletterwrite

    Replace the ENTIRE newsletter with your edited version as Markdown (# subject, ## headings, body). Stores EXACTLY what you submit - nothing is re-generated - so first read_full_newsletter, change only what's needed, and resend the COMPLETE text with every unchanged part preserved verbatim. For a small targeted change prefer patch_newsletter. Use for: edit the newsletter.

  • delete_newsletterdestructive

    Permanently delete a newsletter. Use for: delete this newsletter.

  • generate_newsletterwrite

    Start writing a newsletter's first draft using the project's context (brand voice, goals, fill categories) plus a topic/goal brief and any real source facts (from web search or other extensions, e.g. an Article Writer article or Matomo/GSC data) the draft's claims must be grounded in. Runs in the background - it does not block. To see when it's done, call list_newsletters(status='review') a bit later: a newsletter's status lands on 'review' the moment its draft is ready, so that one call shows everything that finished - no job_id tracking needed. Use for: write the newsletter, draft this email.

  • patch_newsletterwrite

    Rewrite ONE block of a newsletter by natural-language instruction (e.g. 'rewrite the block about the promo to be more urgent', 'shorten the intro'). Locates the block automatically (heading/keyword match) and returns a short preview - never the full body. Use for: shorten this newsletter's intro, make the CTA punchier.

Related extensions

More extensions in Writing & Content ready to enable in one click.

  • Content StrategyPlans what to write next for your sites. Discovers content opportunities from Google Search Console data, clusters them into topics, generates structured article briefs (with image requirements for...
  • Brand Strategy HubDefines who your brand is and who it's for: brand profile (mission, value proposition, USPs), tracked competitors, target audience segments, SWOT analysis, and brand-vs-audience gap analysis with c...
  • NotesPersonal notes with folders, tags, full-text search, and trash management for your workspace.
  • Mail ClientMulti-provider email client - Google, Microsoft, Yahoo, IMAP. Inbox, send, reply, forward, search, archive, manage emails, contacts, custom folders/labels. Gmail batchModify for instant bulk operat...

Ready to use Newsletter Writer?

Enable Newsletter Writer in your Imperal workspace in one click - 10,000 free starter credits included.

Open in panel