> For the complete documentation index, see [llms.txt](https://docs.eesel.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.eesel.ai/use-cases/content-writing.md).

# Content Writing

Use eesel as your AI blog writer. It researches, writes SEO blog posts in your brand voice, adds images, tables and product screenshots, and revises as often as you like.

eesel's AI blog writer is an AI content writer that researches a topic and writes a finished, search-ready blog post in your brand voice. Ask for a post in the dashboard chat and it comes back with its own hero image, infographics, tables, and real screenshots of the products it mentions.

You don't have to ask every time. Put it on a schedule or wire it to a trigger in Slack. See [Build it into your workflow](#build-it-into-your-workflow).

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-4f5c464220b25dc0e00adbf48c5f45ad3726e8e5%2Fcontent-writing-hero.png?alt=media" alt="The eesel dashboard with a finished blog post open as a document, hero image and TL;DR visible, next to the chat showing the research and writing steps that produced it"><figcaption><p>A finished post in the dashboard, with the conversation that wrote it. Research, images, and checks all happen in the chat.</p></figcaption></figure>

**Works with:** [Website](/integrations/knowledge/website.md), [Notion](/integrations/knowledge/notion.md), [Confluence](/integrations/knowledge/confluence.md), [Google Drive](/integrations/knowledge/google-drive.md), [Slack](/integrations/communication/slack.md).

## Write your first blog post

{% stepper %}
{% step %}

### Ask for a post in chat

"Write a blog post about how to reduce first response time" is enough. There's no form and nothing to configure first.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-619add08d0a3f58ebe9f9d908b779b564d8e083b%2Fcontent-ask-in-chat.png?alt=media" alt="The dashboard chat with a blog post request just sent and the agent getting set up"><figcaption><p>The request, sent in the dashboard chat.</p></figcaption></figure>
{% endstep %}

{% step %}

### Say as much or as little as you like

Hand over a full brief (angle, audience, structure, target keyword) or say nothing and answer the two questions it asks: what the post should focus on, and your company's name and website URL. The URL is how it learns your brand voice, colours, and logo.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-890499daa090a47799c358f2bb60d30bef333514%2Fcontent-brief-in-chat.png?alt=media" alt="The chat where the agent shows a sample of the kind of post it will produce, confirms the style, and kicks off its research"><figcaption><p>The agent confirms the style and starts its research.</p></figcaption></figure>
{% endstep %}

{% step %}

### Let it work

It tells you roughly how long it'll take and gets on with it. You can keep using eesel in the meantime.
{% endstep %}

{% step %}

### Review, revise, export

The finished post appears as a document in your dashboard. Tell it what to change and it revises, as many rounds as you like. Then export as markdown, a file, or HTML for your CMS.

<figure><img src="https://3732419023-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2xXO0947TYoPIhGoBgSE%2Fuploads%2Fgit-blob-fbb79dd615706fe51bddaa285ff3a9f3ee1e8669%2Fcontent-finished-post.png?alt=media" alt="The finished post open as a document in the dashboard, with the chat alongside confirming the infographics, screenshots and quality checks it ran"><figcaption><p>The finished post open as a document, with the chat beside it.</p></figcaption></figure>
{% endstep %}
{% endstepper %}

{% hint style="info" %}
**From a terminal:** `eesel chat "write a blog post about how to reduce first response time"` does the same, and prints the task id to continue with. See [The eesel CLI](/apis-and-developer-resources/cli.md).
{% endhint %}

{% hint style="info" %}
**One post per chat**, so quality doesn't drift as a thread gets long. Ask for several topics at once and it kicks off a separate background task for each.
{% endhint %}

## What you get

A finished article, not a draft skeleton:

* **A hero banner** matched to your brand colours
* **At least three infographics** built from the post's actual findings
* **Real screenshots** of the products discussed, captured, not described
* **Comparison and pricing tables** where the topic calls for them
* **Direct quotes from real users** (Reddit, G2, Capterra, Trustpilot), each linked to its source
* **A TL;DR** up top, written to be quotable by AI search engines
* **Five FAQs** at the bottom, marked up as structured data

Posts can be written in other languages too, including the text inside the generated images.

## Build it into your workflow

Content writing is a skill, so it can run from an [automation](/automations-and-schedules/automations-and-schedules.md) like any other piece of your agent's work:

* **On a schedule.** Every Monday at 9am, a fresh post is waiting. Pair it with a standing instruction like "pick the next topic from our content calendar" and it won't ask you every week.
* **From Slack.** @mention your agent in a channel and ask for a post. It replies in the same thread when it's done. Nobody needs a dashboard login.
* **Chained to other work.** Have it analyse what customers asked about this month, then write the post answering the most common question.

It can notify you in email or Slack when a post is ready, so scheduled runs don't rely on anyone remembering to check.

## Search visibility

Posts are built to be found, by search engines and the AI tools people ask instead:

* **Your target keyword** shapes the H1, subheadings, meta title, meta description, and URL slug
* **The TL;DR** gives AI search engines a clean passage to quote
* **The FAQ block** is FAQPage structured data, so results can show the questions directly
* **Listicles carry the current year** in the title, because that's what ranks
* **It researches what already ranks** for your topic before writing

Got your own SEO rules? Tell your agent in chat ("always use British spelling", "target long-tail keywords") and it saves them to its [instructions](/instructions-and-memory/instructions-and-memory.md), so every future post follows them.

## Tips

* **Give it a website URL.** It's the difference between a post that sounds like your company and one that sounds like anyone's
* **Brief it properly the first time.** A paragraph on angle and audience saves a round of revisions
* **Ask for the post type you want.** A listicle and a how-to are different shapes
* **Tell it what you didn't like.** Durable preferences get saved so future posts follow them

## FAQ

<details>

<summary>How do I write a blog post with eesel's AI blog writer?</summary>

Ask for one in the dashboard chat, for example "write a blog post about how to reduce first response time". It asks what the post should focus on and your website URL, researches, writes the post, and opens it as a document for you to review.

See [Write your first blog post](#write-your-first-blog-post).

</details>

<details>

<summary>How much does the AI blog writer cost?</summary>

A blog post uses several credits, including 1 for each image in it. Asking for changes uses credits only once the chat goes past its free allowance, plus 1 for each new image. The free trial includes up to 2 blog posts once you verify your email address.

See [Pricing](/pricing/overview.md).

</details>

<details>

<summary>Does the AI content writer match my brand voice?</summary>

Yes. Give it your website URL and it learns your brand voice, colours and logo from your site. Tell it what you didn't like and it saves the preference so every later post follows it.

</details>

<details>

<summary>Are the blog posts SEO-optimized?</summary>

Yes. Your target keyword shapes the H1, subheadings, meta title, meta description and URL slug, and every post ends with an FAQ block marked up as structured data.

It also writes a TL;DR for AI search engines to quote and researches what already ranks before it writes. See [Search visibility](#search-visibility).

</details>

<details>

<summary>Can the AI blog writer write in other languages?</summary>

Yes. Posts can be written in other languages, including the text inside the generated images.

</details>

<details>

<summary>Can I schedule blog posts to be written automatically?</summary>

Yes. Put the blog writer on a schedule, for example every Monday at 9am, or ask for posts by @mentioning your agent in Slack.

See [Build it into your workflow](#build-it-into-your-workflow).

</details>

<details>

<summary>How do I get the post into my CMS?</summary>

Export the finished post as markdown, a file, or HTML, then paste or upload it into your CMS.

</details>

## Related pages

* [Website](/integrations/knowledge/website.md) for giving your teammate your site to read
* [Uploading files](/integrations/knowledge/uploading-files.md) for briefs, style guides and past posts
* [Skills](/skills/skills.md) for the other jobs it can run on request
* [Actions and Approvals](/instructions-and-memory/actions-and-approvals.md) for choosing what your agent may do
* [Set up from Claude Code or the terminal](/getting-started/set-up-from-a-coding-agent.md)
* [Use eesel from Claude and other assistants](/apis-and-developer-resources/use-eesel-from-claude-and-other-assistants.md) and [Use eesel from ChatGPT](/apis-and-developer-resources/use-eesel-from-chatgpt.md) to work with your agent from an AI assistant


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.eesel.ai/use-cases/content-writing.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
