# Your first publication

Create a draft, review its destination and schedule it from Studio.

URL: /docs/first-publication

Prepare a short text post for one destination. By the end of this guide, you will
have a draft you can review in Studio and choose whether to schedule.

You need access to a Postdot installation and permission to edit a project. If you
are setting up your own instance, follow [installation](/docs/installation/) first.
The first account becomes the installation administrator.

## Create your project [#1-create-your-project]

Open Studio and create a project for the account or brand you want to publish for.
If you already have one, select it.

Channels, posts and media belong to a project. Keep this project selected for the
rest of the guide.
## Connect a destination [#2-connect-a-destination]

Open **Channels**, add a built-in channel and select your network. Follow its
[connection guide](/docs/providers/), then check the account attached to the channel.
Connect through Studio; keep social account credentials out of agent prompts.

For a local installation, [Bluesky](/docs/providers/bluesky/) supports a connection
without a developer application or tunnel when the browser and Postdot run on the
same machine.

To try Postdot without a social account, add a manual channel instead. You can
prepare drafts and track publications, but you will deliver the content yourself.
## Prepare a draft [#3-prepare-a-draft]

### In Studio [#in-studio]

Open **New publication**, write a short message and choose your channel. For example:

<Callout title="Example post" icon={false}>
    Our new collection arrives on Friday. Take a look at what we have been working on.
</Callout>

Check the destination's content and save a draft without a scheduled time. Use text
alone for this first attempt so you can leave media requirements for later.

### With your agent [#with-your-agent]

If your agent can run terminal commands, configure its access with the
[draft-only CLI walkthrough](/docs/automation/#create-a-draft-for-review).
It uses an API key limited to reading and draft management. A dedicated MCP server
and packaged agent skills are not available yet.

Then ask your agent:

<Callout title="Example request to your agent" icon={false}>
    Prepare a short announcement that our new collection is available on Friday. Use the connected
    Bluesky channel in this project. Save an unscheduled draft in Postdot for me to review. Do not
    schedule or publish it. Return the post and publication IDs.
</Callout>

Send this request to your existing agent. Postdot has no embedded chat. The key's
permissions prevent scheduling or publication even if the agent attempts it.
## Review in Studio [#4-review-in-studio]

Open **Queue** in the same project and open the draft. Refresh the list if it was
already open. Check the text, destination, connected account and absence of a
scheduled time. You can edit an agent-created draft in the same editor.

<Callout type="warn" title="Check before retrying">
    If the CLI reported a transport error or an uncertain result, check the queue before repeating
    the creation command. The server may have saved the draft even if the response did not reach the
    client.
</Callout>
## Choose when it goes live [#5-choose-when-it-goes-live]

You can leave the draft here until you are ready. To schedule it, review the
destination, choose a future time and confirm scheduling in Studio. For an automatic
destination, this authorizes Postdot to send the content at that time.

Use **Queue** to check delivery and **Overview** to see the publication in the
calendar. A scheduled state confirms the plan, not a successful send. Inspect the
delivery result before retrying a failed or uncertain attempt.

For a manual channel, publish through the destination yourself and record the
result through Postdot's manual workflow.

To add an image or video, continue with [media](/docs/media/). To understand how one
post can serve several destinations, read [posts and destinations](/docs/concepts/).

