EvenpostSign in

Guides

How to stop duplicate agent posts on retry

A retry does not post twice on its own. Send the same idempotency_key to get the same draft back; omit it and you get a second pending draft, not a live post.

Evenpost / Guides / How to stop duplicate agent posts on retry

Topics: AI agents and MCP · Scheduling and queueing

A retry does not post twice on its own. Evenpost's create_draft can take an idempotency_key: send the same key and you get the existing draft back. Leave the key out and you get a second pending draft. Either way, nothing goes to X until you approve it in the app. Approve two drafts and you will post twice.

Why does a retry sometimes create two drafts?

It creates two drafts when the agent calls create_draft again without sending the same idempotency_key.

A timeout looks the same whether the first call saved a draft or not. If the agent retries and omits the key, the documented result is another pending draft, not a second live post. The live tool list, fetched 9 November 2026 and updated on that site on 7 November 2026, says create_draft "is not posted and not queued: the owner approves it in the Evenpost app."

This is different from an API cap or a daily limit. Those live on X API post rate limits.

What does create_draft's idempotency_key do?

It lets you retry a draft create without inserting a second draft.

What your agent can do documents idempotency_key as an optional string on create_draft:

Optional: send the same key again to get the same draft back instead of a duplicate.

Source: What your agent can do, fetched 9 November 2026 (page updated 7 November 2026).

That is the public wording. The page does not spell out every retry edge case. Use the sentence it does publish: the same key returns the same draft instead of a duplicate.

Engineer-facing posts such as HelperX's Idempotency Keys for Social Automation (read 9 November 2026) explain why a timeout is ambiguous when the publish happens at the social network. The cut on this page is earlier: the retry is about creating a draft, and nothing publishes until you approve it.

What happens if the agent leaves the key out?

Each create_draft call becomes its own pending draft.

You will see more than one draft waiting. Each one can send its own "needs approval" nudge. The agent still cannot publish. A live duplicate on X happens only if you then approve more than one of those drafts.

There is no special reconcile or retry button documented for this case. Open the app, read the pending drafts, and keep the one you want.

Does approving in the app stop duplicates by itself?

No. Approving publishes the draft you approved. It does not merge two pending drafts into one.

If two drafts say the same thing and you approve both, both can go out. That is why the useful habit is: send the same idempotency_key when you retry, then look at how many drafts are waiting before you approve any of them.

Why a person should still read each post is covered in Should an AI agent post to X on its own? and Can an AI agent post to X?. How you add drafting tools to an agent is a later guide.

How do you keep a single publish path if you also use other tools?

Publish from one place you actually review.

If an agent can also post through another app, a retry in that other app is outside this page. The documented path is draft, then your approval in the app, then posting with natural spacing, or right away if you choose Post now. Setup for confirmed clients is on Connect in about 2 minutes.

Evenpost is an app for X (Twitter) for solo founders. You and your agent draft, you approve each post in the app, and it posts with natural spacing, or right away if you choose Post now. Updates: @evenpost.

Send the same idempotency_key if you retry create_draft, then open the app and see how many drafts are waiting before you approve.

FAQ

Did X duplicate my post, or did the agent create two drafts?

If the agent retried create_draft without the same idempotency_key, you likely have two pending drafts. X has not posted either of them until you approve. A live duplicate means more than one draft was approved, or another tool published too.

Should I send the same idempotency_key when I retry?

Yes. The documented tool list says to send the same key again to get the same draft back instead of a duplicate.

Do I need a special Evenpost reconcile button?

No. There is no documented reconcile or retry product for an ordinary create_draft timeout. Open the app and review the pending drafts.

Can two tools sharing one account create the same draft?

The public docs say sending the same key returns the same draft instead of a duplicate. They do not spell out what happens when two different tools reuse one string, so that behavior is not documented here.

Does anything post without my approval?

No. create_draft is not posted and not queued. There is no post tool and no approve tool. You approve in the app.

Updated 11 Nov 2026 · By Evenpost