TimeToPost workflow catalog
Social media and marketing workflows
Explore practical workflows for planning, publishing, analysis, and automation. Each entry shows who it is for, what it helps with, where to start, and what to do next.
Some workflows are available in the product today, some are guide-only, and planned entries are labeled plainly. For agent-driven workflows, check account and integration capabilities before any action that creates, schedules, publishes, changes or deletes data.
113 workflows shown
Use-case catalog
Content preparation
Why does X say my post is too long when my document says it is under 280 characters?
For People drafting standard X posts: Review a draft against X's documented weighted-character rules and use the official X composer for final validation.
Guide only
Content preparation
Why does X say my post is too long when my document says it is under 280 characters?
For People drafting standard X posts: Review a draft against X's documented weighted-character rules and use the official X composer for final validation.
Start here: X weighted-count guide
Guide
- Paste the complete draft into a private working document, including spaces, line breaks, hashtags, mentions, emoji, and URLs.
- Review X's documented weighted rules, including its treatment of URLs, emoji sequences, and characters outside the single-weight ranges.
- Revise text that is likely to exceed the standard-post allowance without relying on the TimeToPost character counter as a weighted validator.
- Paste the final draft into the official X composer and use its displayed limit as the final validation before publishing or scheduling.
Try with your AI assistant
Review this X draft locally using the documented categories that can differ from a simple Unicode code-point count: <DRAFT>. Identify URLs, emoji sequences, CJK text, combining sequences, mentions, and hashtags that require attention. Do not claim an exact weighted length or validity. Instruct the user to paste the final draft into the official X composer for final validation. Do not publish or save anything.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: A paid TimeToPost plan can schedule or publish a valid standard post to a connected X account.
Review pricingContent preparation
How many X characters does a long article link actually use?
For Writers sharing articles on X: Plan surrounding copy while accounting for X's documented URL treatment, with final validation in the official X composer.
Guide only
Content preparation
How many X characters does a long article link actually use?
For Writers sharing articles on X: Plan surrounding copy while accounting for X's documented URL treatment, with final validation in the official X composer.
Start here: X link-budget guide
Guide
- Paste the proposed post into a private working document and leave each destination URL in its intended position.
- Identify each URL and note that X documentation describes transformed links as using a fixed t.co length, currently 23 characters.
- Revise the surrounding copy conservatively without treating the TimeToPost character counter as a weighted X validator.
- Make sure nearby words explain what the reader will open instead of presenting an unexplained link.
- Paste the complete draft into the official X composer and use its displayed limit for final validation.
Try with your AI assistant
Review this X draft locally: <DRAFT>. List apparent URLs and note the documented 23-character t.co treatment as a planning rule. Do not claim an exact total, remaining budget, or validity because URL parsing and final acceptance must be checked in the official X composer. Also report whether nearby text explains each destination. Do not save or publish.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: A paid TimeToPost plan can publish a human-validated link post to a connected X account when the required connection and scopes are available.
Review pricingContent preparation
How many characters does an emoji use on X, including skin tones and family emoji?
For Creators using emoji in X posts: Review emoji sequences that may differ from a simple code-point count and validate the completed post in the official X composer.
Guide only
Content preparation
How many characters does an emoji use on X, including skin tones and family emoji?
For Creators using emoji in X posts: Review emoji sequences that may differ from a simple code-point count and validate the completed post in the official X composer.
Start here: Emoji weight checklist
Guide
- Paste the exact line containing each emoji, including skin-tone modifiers and joined family sequences.
- Identify complete grapheme or emoji sequences instead of assuming that one visible symbol equals one Unicode code point.
- Consult X's documented weighted rules for recognized emoji sequences, but do not use the TimeToPost character counter as a weighted validator.
- Check whether any emoji conveys meaning that is absent from the surrounding words and add a short textual gloss when needed.
- Paste the completed post into the official X composer for final limit validation.
Try with your AI assistant
Inspect this X text locally: <TEXT>. Identify likely emoji sequences, joined sequences, modifiers, and places where a simple code-point count differs from visible graphemes. Do not claim exact X weights, total length, or validity. Suggest an optional textual gloss where an emoji carries otherwise missing meaning, and require final validation in the official X composer. Do not save or publish.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: A paid plan can schedule the validated standard post on X.
Review pricingContent preparation
Why does my Japanese, Chinese, or Korean X post run out of room before 280 characters?
For CJK and bilingual X authors: Review a CJK or bilingual draft under X's documented weighting categories and shorten it without transliteration.
Guide only
Content preparation
Why does my Japanese, Chinese, or Korean X post run out of room before 280 characters?
For CJK and bilingual X authors: Review a CJK or bilingual draft under X's documented weighting categories and shorten it without transliteration.
Start here: CJK length worksheet
Guide
- Paste the original-language draft without transliterating it.
- Identify CJK spans that are treated differently from single-weight Latin characters under X's documented rules.
- Remove repetition or optional qualifiers while preserving names, figures, factual meaning, and the original language.
- Do not treat the TimeToPost character counter's Unicode code-point total as an X weighted total.
- Paste the shortened draft into the official X composer and use its displayed limit for final validation.
Try with your AI assistant
Review this original-language X draft locally: <DRAFT>. Identify CJK spans and suggest a shorter draft that preserves the language, names, figures, and factual claims. Do not report an exact weighted length, excess, remaining count, or validity. Require final validation in the official X composer. Do not save or publish.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: A paid plan can schedule the validated language variant on X.
Review pricingContent preparation
How many characters do my hashtags add to an X post?
For Social editors adding hashtags to X captions: Review how hashtags contribute to an X draft and remove optional tags when the official composer shows an overflow.
Guide only
Content preparation
How many characters do my hashtags add to an X post?
For Social editors adding hashtags to X captions: Review how hashtags contribute to an X draft and remove optional tags when the official composer shows an overflow.
Start here: Hashtag budget table
Guide
- Separate the core caption from the proposed hashtag list.
- Review each hashtag as typed, including its number sign and text, while remembering that the complete post is subject to X's weighted rules.
- Preserve the complete sentence before deciding which optional tags to remove.
- Use the official X composer to test the combined post and remove optional tags if its limit display shows an overflow.
- Return one composer-validated post and a separate unused-tag list without claiming an ideal hashtag count.
Try with your AI assistant
Review this caption and hashtag list locally. Caption: <CAPTION>. Hashtags: <HASHTAGS>. Return the caption, individually listed tags, a proposed final post, and an unused-tag list. Do not claim exact X weights, remaining characters, or validity. Require the official X composer for final validation. Do not save or publish.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: A paid plan can publish the fitting post on X, with any separate reply treated as another X post.
Review pricingContent preparation
Should I put hashtags in image alt text when they do not fit in the caption?
For Creators preparing accessible image posts: Separate visual description from discovery hashtags.
Guide only
Content preparation
Should I put hashtags in image alt text when they do not fit in the caption?
For Creators preparing accessible image posts: Separate visual description from discovery hashtags.
Start here: Alt text cleanup checklist
Guide
- Copy the visible caption, proposed alt text, and hashtag list into separate private fields.
- Remove hashtag tokens from the alt text while retaining details that describe the image.
- Produce cleaned alt text and a separate list of removed tags.
- Add only useful tags to the visible caption, then validate the completed post in the official X composer rather than relying on a simple character count.
- Keep remaining tags outside the alt field and do not claim that alt text supplies search reach.
Try with your AI assistant
Clean these fields locally. Caption: <CAPTION>. Alt text: <ALT_TEXT>. Return JSON with cleanedAltText, removedHashtags, revisedCaption, and unresolvedTags. Alt text must remain a visual description. Do not claim an exact X weighted length or validity; instruct the user to validate the caption in the official X composer. Do not save or publish.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: A paid plan can upload media and publish an X post after the author supplies and confirms the final caption and alt text.
Review pricingContent preparation
How can I move overflow hashtags into an X reply without breaking the main image caption?
For Creators whose image captions exceed 280 with hashtags: Prepare a valid main image post and a separate tag reply while explaining their different roles.
Guide only
Content preparation
How can I move overflow hashtags into an X reply without breaking the main image caption?
For Creators whose image captions exceed 280 with hashtags: Prepare a valid main image post and a separate tag reply while explaining their different roles.
Start here: Two-post caption template
Guide
- Provide the image caption and all proposed hashtags.
- Keep the complete message in the main post and move only optional overflow tags to a separate reply draft.
- Review the main post and reply separately, without treating a simple Unicode code-point count as X weighted validation.
- Do not start the reply with an account mention unless the author intentionally wrote one.
- Validate both drafts separately in the official X composer and describe the reply as separate distribution without promising identical reach.
Try with your AI assistant
Split this X content locally. Caption: <CAPTION>. Hashtags: <HASHTAGS>. Return JSON with mainPost and reply, each containing text and role, plus a visibilityCaution explaining that the reply is separate from the original post. Do not claim exact weighted lengths or validity. Require official X composer validation for each draft. Do not save or publish.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: A paid plan can schedule the main post and reply as separate public X posts.
Review pricingContent preparation
What is the image description limit on X, and does alt text need to stay under 125 characters?
For Editors writing X image descriptions: Use a simple Unicode code-point count as an editing aid for X image descriptions, with final field validation on X.
Available now
Content preparation
What is the image description limit on X, and does alt text need to stay under 125 characters?
For Editors writing X image descriptions: Use a simple Unicode code-point count as an editing aid for X image descriptions, with final field validation on X.
Start here: Alt text length checklist
Guide
- Paste only the image description, not the visible post caption, into the character counter.
- Read the displayed total as a simple Unicode code-point count. It is not a grapheme count and may differ for joined emoji or combining sequences.
- Use X's documented 1,000-character maximum as a review target, but do not treat the counter as a guarantee that the platform will accept the text.
- Treat 200 to 250 characters only as an optional succinctness review point, not a blocking platform limit.
- Retain essential visual information and confirm the final description in X's image-description field.
Try with your AI assistant
Review this X image description locally: <ALT_TEXT>. Return JSON with a simple Unicode code-point count, a note that grapheme and platform counting can differ, repeatedDetails, and an optional conciseRevision. Do not enforce a 125-character cap or guarantee acceptance under X's 1,000-character field limit. Require final validation in X's image-description field. Do not save or publish.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: A paid plan can attach confirmed alt text to uploaded media before an X post is published.
Review pricingContent preparation
Should X alt text start with photo of or image of?
For People writing descriptions for X images and screenshots: Remove redundant image prefixes while retaining useful media-type information.
Guide only
Content preparation
Should X alt text start with photo of or image of?
For People writing descriptions for X images and screenshots: Remove redundant image prefixes while retaining useful media-type information.
Start here: Alt text prefix linter guide
Guide
- Input: provide the draft description and identify whether the asset is a screenshot, illustration, painting, or photograph.
- Check: remove a generic opening such as photo of, image of, or picture of.
- Output: retain or add Screenshot of when the fact that it is a screenshot matters.
- Check: keep useful form details such as close-up, aerial view, black and white, or illustration.
- Output: return a full-sentence description within X's 1,000-character maximum.
Try with your AI assistant
Lint this X alt text locally: <ALT_TEXT>. Asset type: <ASSET_TYPE>. Return JSON with revisedAltText, removedPrefix, retainedTypeLabel, characterCount, and within1000. Preserve Screenshot of when appropriate. Do not save or publish.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: A paid plan can store the confirmed description with uploaded media for an X draft.
Review pricingContent preparation
If words are baked into an image, should I copy all of them into the alt text?
For People posting quote graphics, posters, and document images: Place essential image text in the description or summarize it when it exceeds X's field limit.
Guide only
Content preparation
If words are baked into an image, should I copy all of them into the alt text?
For People posting quote graphics, posters, and document images: Place essential image text in the description or summarize it when it exceeds X's field limit.
Start here: Image text placement worksheet
Guide
- Transcribe the text visible in the image and provide the visible caption separately.
- Compare the transcription with the caption to identify essential words not available elsewhere.
- Place missing essential text in the image description when it fits, using X's documented field maximum as a review target.
- If it does not fit, write a complete summary of the image's point rather than cutting the transcription mid-sentence.
- Put any public source URL in the visible post, account for X's documented URL treatment when planning, and validate the completed post in the official X composer.
Try with your AI assistant
Process these fields locally. Image text: <IMAGE_TEXT>. Caption: <CAPTION>. Optional source URL: <SOURCE_URL>. Return JSON with altText, summarized, captionAddition, sourceUrlPresent, and omittedDetails. Mention X's documented fixed URL treatment only as a planning rule. Do not claim an exact weighted post length or validity; require final checks in X's composer and image-description field. Do not save or publish.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: A paid plan can publish the prepared caption and confirmed image description with the media on X.
Review pricingContent preparation
Should alt text repeat a quote that is already in the post caption?
For Accessibility editors preparing text-based graphics: Remove unnecessary duplication while preserving visual facts absent from the caption.
Guide only
Content preparation
Should alt text repeat a quote that is already in the post caption?
For Accessibility editors preparing text-based graphics: Remove unnecessary duplication while preserving visual facts absent from the caption.
Start here: Caption and alt comparison guide
Guide
- Input: provide the visible caption, current alt text, and any image-only facts.
- Check: mark exact or near-exact sentences that appear in both fields.
- Output: when the caption already carries the message, keep only useful visual details in the alt text.
- Check: when the caption omits essential image text, retain that text in the description instead of deleting it.
- Output: verify that the revised description remains objective and within 1,000 characters.
Try with your AI assistant
Compare these fields locally. Caption: <CAPTION>. Alt text: <ALT_TEXT>. Image-only facts: <FACTS>. Return JSON with overlapSpans, captionCoversMessage, revisedAltText, retainedVisualFacts, and characterCount. Do not save or publish.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: A paid plan can attach the final description to media in an X draft.
Review pricingContent preparation
Should abbreviations such as Dr or Ave be expanded in X image descriptions?
For Editors describing titles, dates, addresses, and organizations: Expand author-written abbreviations while preserving text printed verbatim in the image.
Guide only
Content preparation
Should abbreviations such as Dr or Ave be expanded in X image descriptions?
For Editors describing titles, dates, addresses, and organizations: Expand author-written abbreviations while preserving text printed verbatim in the image.
Start here: Alt abbreviation review
Guide
- Input: provide the description and list any abbreviations visibly printed in the image.
- Check: find shortened titles, street terms, months, and organization names.
- Output: expand author-written forms such as Doctor, Avenue, or December where clarity improves.
- Check: preserve a printed abbreviation when accurately transcribing the image and capitalize acronyms appropriately.
- Output: recount the revised description and keep it within 1,000 characters.
Try with your AI assistant
Review this X image description locally: <ALT_TEXT>. Printed verbatim terms: <PRINTED_TERMS>. Return JSON with revisedAltText, edits containing from, to, and reason, preservedPrintedTerms, characterCount, and within1000. Do not save or publish.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: A paid plan can retain the confirmed description with an uploaded image for X publishing.
Review pricingContent preparation
How do I replace subjective phrases such as having fun in image alt text?
For People describing photographs of other people: Replace inferred emotions or actions with observable details.
Guide only
Content preparation
How do I replace subjective phrases such as having fun in image alt text?
For People describing photographs of other people: Replace inferred emotions or actions with observable details.
Start here: Objective alt text rewrite guide
Guide
- Input: paste the current description and separately list facts known directly by the photographer.
- Check: underline judgments or guesses such as having fun, upset, successful, or about to leave.
- Output: replace each guess with visible evidence such as smiling, raised hands, a packed suitcase, or objects in frame.
- Check: keep known intent only when the author can confirm it rather than inferring it from appearance.
- Output: produce full sentences under X's 1,000-character maximum.
Try with your AI assistant
Rewrite this image description locally using observable details: <ALT_TEXT>. Confirmed context: <KNOWN_CONTEXT>. Return JSON with revisedAltText, removedJudgments, observableReplacements, characterCount, and within1000. Do not invent visual details. Do not save or publish.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: A paid plan can use the confirmed description with media in an X draft.
Review pricingContent preparation
How do I describe a chart or map on X without copying the entire dataset?
For Researchers, journalists, and analysts: Write findings-focused alt text and keep source details in the visible post.
Guide only
Content preparation
How do I describe a chart or map on X without copying the entire dataset?
For Researchers, journalists, and analysts: Write findings-focused alt text and keep source details in the visible post.
Start here: Chart description template
Guide
- Provide the chart type, main takeaway, highest and lowest values, relevant labels, units, and source URL.
- Identify the finding a reader should retain rather than listing every plotted point.
- Write alt text containing the trend, important extremes, units, and necessary labels.
- Omit decorative interface controls and review the description against X's documented image-description maximum.
- Add the source URL to the visible post, account for X's documented URL treatment only as a planning rule, and validate the post in the official X composer.
Try with your AI assistant
Create a findings-focused X image description locally. Chart type: <TYPE>. Takeaway: <TAKEAWAY>. Extremes: <EXTREMES>. Labels: <LABELS>. Source URL: <URL>. Return JSON with altText, visiblePostSourceSentence, and omittedNonessentialDetails. Do not claim exact platform character counts or validity. Require final checks in X's composer and image-description field. Do not save or publish.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: A paid plan can publish the chart and confirmed description to a connected X account when the required connection and scopes are available. Analytics depend on the connected account and granted scopes.
Review pricingContent preparation
How should I rewrite an X post that starts with an @mention?
For X users mentioning another account: Move a leading mention after the opening point so the post is not treated like a conversation opener.
Guide only
Content preparation
How should I rewrite an X post that starts with an @mention?
For X users mentioning another account: Move a leading mention after the opening point so the post is not treated like a conversation opener.
Start here: Leading mention rewrite
Guide
- Paste the complete draft exactly as it would appear on X.
- Determine whether the first visible characters form an @username mention.
- Rewrite the opening so the main point comes first and the mention appears naturally later.
- Prepare a quote-post comment as an alternative when the goal is to discuss another post.
- Validate each selected option in the official X composer rather than using a simple code-point count as a weighted validator.
Try with your AI assistant
Rewrite this X draft locally: <DRAFT>. Return JSON with startsWithMention, reorderedPost, and quoteCommentAlternative. Preserve factual meaning. Do not claim exact weighted lengths or validity; require final validation in the official X composer. Do not save or publish.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: A paid plan can schedule the selected standard post or publish it to a connected X account.
Review pricingContent preparation
Do the account names automatically added to an X reply count toward 280?
For People composing X replies and developers previewing them: Distinguish auto-populated reply mentions from manually typed text and use the official X composer for final validation.
Guide only
Content preparation
Do the account names automatically added to an X reply count toward 280?
For People composing X replies and developers previewing them: Distinguish auto-populated reply mentions from manually typed text and use the official X composer for final validation.
Start here: Reply count worksheet
Guide
- Provide the reply text and separately list the handles that X added automatically.
- Identify which leading reply mentions are interface-provided and which mentions were manually typed into the reply body.
- Apply X's documented exception only to genuinely auto-populated reply mentions.
- Review URLs, emoji, CJK text, and manually typed mentions as categories that can affect weighted counting.
- Use the official X composer to confirm whether the completed reply fits before publishing.
Try with your AI assistant
Review this X reply locally. Visible text: <TEXT>. Auto-populated handles: <HANDLES>. Return JSON with countedTextForReview, suppliedAutomaticMentions, manualMentions, and itemsRequiringComposerValidation. Do not claim an exact weighted length, remaining count, or validity. Require final validation in the official X composer. Do not save or publish.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: A paid plan can publish a confirmed reply as a public X post.
Review pricingContent preparation
Can I schedule an X post longer than 280 characters, and which mentions get notified?
For Authors preparing longer X posts: Classify a long post, check first-280 mention placement, and create standard-post parts when scheduling the long form is unsuitable.
Guide only
Content preparation
Can I schedule an X post longer than 280 characters, and which mentions get notified?
For Authors preparing longer X posts: Classify a long post, check first-280 mention placement, and create standard-post parts when scheduling the long form is unsuitable.
Start here: Long post readiness checklist
Guide
- Paste the complete draft and state whether replies are limited to mentioned accounts.
- Treat text beyond the standard-post allowance as potentially requiring an X longer-post feature, and verify current eligibility and limits in the authenticated X interface.
- Review which mentions appear near the beginning separately from those appearing later when notification or reply settings matter.
- If longer-post scheduling is unavailable, divide the material into coherent standard-post drafts without using the TimeToPost character counter as a weighted validator.
- Validate every part in the official X composer and verify X's current longer-post and scheduling restrictions before proceeding.
Try with your AI assistant
Assess this X draft locally: <DRAFT>. Reply setting: <SETTING>. Return JSON with likelyFormClass, mentionsNearBeginning, mentionsLater, issuesToVerify, and optionalStandardPostParts. Do not assert a current longer-post maximum, scheduling support, exact weighted lengths, or validity. Require verification in the authenticated X interface and official composer. Do not save or publish.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: A paid plan can schedule the resulting standard X posts. It does not remove X's own restrictions on longer-post drafting or scheduling.
Review pricingContent preparation
How can I turn an article into X posts that each fit the standard limit?
For Content and SEO writers with an existing article: Create source-grounded X drafts with one claim per post and a final link-back.
Available now
Content preparation
How can I turn an article into X posts that each fit the standard limit?
For Content and SEO writers with an existing article: Create source-grounded X drafts with one claim per post and a final link-back.
Start here: Article-to-X drafting template
Guide
- Provide the article text or a public source URL and the desired number of posts.
- Extract only claims supported by the supplied source and remove article transitions that do not work as standalone posts.
- Draft an opening post around one specific claim without a leading mention or URL.
- Give each middle post one supported point and place the article URL in the final post, accounting for X's documented URL treatment only as a planning rule.
- Label unsupported claims for removal and validate every completed draft in the official X composer.
Try with your AI assistant
First call whoami, then get_capabilities. Show the authenticated organization and require explicit confirmation that <ORGANIZATION> is correct. Only if create_posts_from_source is reported as available and supports the supplied source type, use it to create X drafts from <PUBLIC_SOURCE_URL_OR_SUPPORTED_SOURCE>. Do not approve, schedule, publish, or autosend. Then use get_source_status if that capability is available. Return JSON with organization, sourceStatus, drafts containing text and sourceClaim, unsupportedClaims, and composerValidationRequired. Do not claim exact weighted lengths or validity; require final validation in the official X composer.
Tools: whoami, get_capabilities, create_posts_from_source, get_source_status
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: TimeToPost paid plans can retain generated drafts and schedule approved standard posts to X, subject to plan limits.
Review pricingContent preparation
How do I turn a set of X posts into a clean blog draft?
For Writers repurposing their own X posts: Remove thread-only language and organize the remaining ideas into a search-ready article brief.
Guide only
Content preparation
How do I turn a set of X posts into a clean blog draft?
For Writers repurposing their own X posts: Remove thread-only language and organize the remaining ideas into a search-ready article brief.
Start here: Posts-to-article brief
Guide
- Paste the posts in order and mark which hashtags are topical rather than reach-only.
- Remove thread markers, requests to repost, leading account mentions, and reach-only hashtags.
- Group the remaining supported claims under descriptive H2 headings without adding unsupported facts.
- Draft a concise title and meta description, treating 60 and 155 characters as editing guidelines rather than hard Google limits.
- Return the cleaned outline, removed-text log, title count, and meta-description count for human editorial review.
Try with your AI assistant
Work locally from <ORDERED_X_POSTS>. Remove thread-only language, group supported claims into a blog outline, and draft a concise title and meta description. Treat 60 title characters and 155 meta-description characters as editorial guidelines, not hard Google rules or ranking guarantees. Return JSON with title, titleCharacters, metaDescription, metaCharacters, sections, removedItems, and unsupportedClaims. Do not call AutoSEO, save, approve, publish, schedule, or autosend.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Growth can generate AutoSEO article drafts from a configured site's supported topic workflow. It does not import an arbitrary pasted X thread as the article source; a human can paste and edit the locally prepared outline.
Review pricingContent preparation
Why can two visually identical X drafts produce different technical character counts?
For Developers and editors copying text between applications: Compare raw and NFC-normalized Unicode text as a diagnostic, then validate the selected draft in the official X composer.
Guide only
Content preparation
Why can two visually identical X drafts produce different technical character counts?
For Developers and editors copying text between applications: Compare raw and NFC-normalized Unicode text as a diagnostic, then validate the selected draft in the official X composer.
Start here: Unicode normalization check
Guide
- Paste the exact draft copied from the source application.
- Compare its raw Unicode sequence with an NFC-normalized version, especially around accented letters and combining marks.
- List visually similar spans whose underlying code points change during normalization.
- Do not treat the TimeToPost character counter's code-point count as X weighted validation or assume that code points equal graphemes.
- Review the selected text in the official X composer for final limit validation before use.
Try with your AI assistant
Analyze this draft locally for Unicode normalization: <DRAFT>. Return JSON with normalizedText, normalizationChanges, rawCodePointCount, and normalizedCodePointCount. Explain that code-point counts are not grapheme counts or X weighted lengths. Do not claim remaining space or validity; require final validation in the official X composer. Do not save or publish.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: A paid plan can schedule the normalized, validated standard post to X.
Review pricingScheduling
How do I schedule for a named timezone without changing my computer clock?
For Remote social media operators: Convert a civil time in an event timezone into the operator's local time and UTC.
Guide only
Scheduling
How do I schedule for a named timezone without changing my computer clock?
For Remote social media operators: Convert a civil time in an event timezone into the operator's local time and UTC.
Start here: Timezone posting planner
Guide
- Record the event datetime and IANA zone, for example 2026-11-03 20:00 in America/New_York.
- Record the operator's IANA zone, for example Europe/Berlin.
- Use a date-aware timezone converter backed by current IANA timezone data to obtain the operator-local datetime and UTC instant, including the calendar date.
- Verify the dated offsets and abbreviations independently before entering the value into a device-clock scheduler.
Try with your AI assistant
Provide a manual conversion checklist for {event_datetime}, {event_iana_zone}, and {operator_iana_zone}. Do not calculate or claim an exact conversion unless a date-aware IANA timezone service is actually available. Require independent verification of the UTC instant, local dates, offsets, and abbreviations.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: A paid account can schedule the confirmed UTC instant as an X post, subject to its plan limits.
Review pricingScheduling
How do I schedule a discussion post one hour before an event in Eastern time?
For Live event moderators: Subtract a lead interval from an event time anchored to a named timezone.
Guide only
Scheduling
How do I schedule a discussion post one hour before an event in Eastern time?
For Live event moderators: Subtract a lead interval from an event time anchored to a named timezone.
Start here: Lead-time worksheet
Guide
- Write the event time with its zone, for example 2026-11-10 21:00 America/New_York.
- Subtract the required lead, for example 60 minutes, before doing any zone conversion.
- Convert the resulting 20:00 Eastern time to UTC and the operator's local zone.
- Check the event date and post date separately before entering the post time.
Try with your AI assistant
Provide a checklist for subtracting {lead_minutes} minutes from {event_datetime} in {event_iana_zone}, then verifying the result in {operator_iana_zone} with a date-aware IANA timezone converter. Do not claim an exact converted timestamp without such a service. Require checks of both event and posting dates.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: After human confirmation, the resulting UTC instant can be used to schedule one X post.
Review pricingScheduling
How do I schedule for the account's previous calendar date while traveling?
For Traveling account managers: Resolve a desired account-local date when the operator is already on another calendar day.
Guide only
Scheduling
How do I schedule for the account's previous calendar date while traveling?
For Traveling account managers: Resolve a desired account-local date when the operator is already on another calendar day.
Start here: Dual-date conversion card
Guide
- Enter the desired account-local value, for example 2026-10-21 18:00 America/Chicago.
- Enter the current operator zone, for example Asia/Tokyo.
- Record the UTC result and the operator-local value, which may be 2026-10-22.
- Check that the account-facing date remains October 21 before saving the slot.
Try with your AI assistant
Provide a checklist for converting {account_local_datetime} in {account_iana_zone} to {operator_iana_zone} using a date-aware IANA timezone converter. Require verification of the UTC instant and both calendar dates. Do not claim an exact result or that a specific scheduler ignores the device timezone.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
When you need more: A confirmed UTC value can be scheduled on X without relying on the operator's device date.
Review pricingScheduling
How do I convert an audience activity chart when its timezone differs from my scheduler?
For Social media managers using activity charts: Convert a chart hour into the separate timezone used by a scheduling control.
Guide only
Scheduling
How do I convert an audience activity chart when its timezone differs from my scheduler?
For Social media managers using activity charts: Convert a chart hour into the separate timezone used by a scheduling control.
Start here: Two-clock conversion worksheet
Guide
- Identify the chart zone from its label, for example America/Los_Angeles.
- Record the chart date and peak hour, for example 2026-10-06 at 09:00.
- Convert that instant into the scheduler zone, for example Australia/Sydney.
- Check for a next-day result before entering the converted time; do not treat the chart hour as a new recommendation.
Try with your AI assistant
Provide a checklist for interpreting {chart_date} {chart_hour} in {chart_iana_zone} and converting that instant to {scheduler_iana_zone} with a date-aware IANA timezone converter. Do not invent a best time or claim an exact conversion without such a service.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
When you need more: If account analytics are connected and the required scopes are available, a paid operator can compare account data and separately schedule a selected X time after verification.
Review pricingScheduling
How do I keep weekly posts anchored to US Eastern when daylight saving dates differ?
For Operators managing international event seasons: Build a weekly civil-time schedule and identify weeks when the cross-zone offset changes.
Guide only
Scheduling
How do I keep weekly posts anchored to US Eastern when daylight saving dates differ?
For Operators managing international event seasons: Build a weekly civil-time schedule and identify weeks when the cross-zone offset changes.
Start here: DST season table
Guide
- Choose the anchor zone and civil time, for example Thursday 20:00 America/New_York.
- List each event date for the season rather than adding fixed seven-day durations.
- Convert every dated occurrence to the operator zone and UTC.
- Flag any row whose zone gap differs from the prior week and manually verify that row.
Try with your AI assistant
Provide a manual procedure for listing each dated occurrence of {weekday} at {civil_time} in {anchor_iana_zone} from {start_date}, then converting every row separately with a date-aware IANA timezone service. Require verification of changed offsets and abbreviations. Do not generate exact timestamps without that service.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Confirmed occurrences can be added individually to an X schedule so each UTC instant is explicit.
Review pricingScheduling
How do I verify both the date and time when scheduling between Canada and Australia?
For Operators scheduling across large UTC offsets: Display one instant as two full local dates and times.
Guide only
Scheduling
How do I verify both the date and time when scheduling between Canada and Australia?
For Operators scheduling across large UTC offsets: Display one instant as two full local dates and times.
Start here: Dual-date card
Guide
- Enter the source value, for example 2026-10-21 21:00 America/Toronto.
- Convert it to Australia/Sydney and UTC.
- Write both results with weekday, date, time, and abbreviation rather than only clock hours.
- Check whether the destination is on October 22 before copying the schedule.
Try with your AI assistant
Provide a checklist for showing {source_datetime} in {source_iana_zone} and {destination_iana_zone} with a date-aware IANA timezone converter. Require full weekday, date, time, abbreviation, and UTC verification. Do not claim exact values without that service.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: The verified UTC instant can be scheduled as an X post after the operator confirms both date labels.
Review pricingScheduling
Is this London event time GMT or BST on the selected date?
For Creators publishing international event announcements: Determine whether a London-local datetime uses GMT or BST.
Guide only
Scheduling
Is this London event time GMT or BST on the selected date?
For Creators publishing international event announcements: Determine whether a London-local datetime uses GMT or BST.
Start here: Timezone abbreviation check
Guide
- Enter the London-local date and time, for example 2026-07-15 at 19:00.
- Resolve it with Europe/London rather than a fixed GMT offset.
- Use the returned abbreviation, which is BST for this example, and record 18:00 UTC.
- Check any announcement that says GMT and replace that label when it conflicts with the dated zone result.
Try with your AI assistant
Explain how to resolve {local_datetime} with Europe/London using a date-aware IANA timezone source and compare it with {typed_label}. Do not calculate or assert the abbreviation, offset, or UTC instant unless such a service is available. Require independent verification before correcting an announcement.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: A corrected announcement can be scheduled on X at the confirmed UTC instant.
Review pricingScheduling
How do I write one event announcement for US, European, and Japanese viewers?
For Global creators and event hosts: Render one confirmed instant in five audience-facing timezones.
Guide only
Scheduling
How do I write one event announcement for US, European, and Japanese viewers?
For Global creators and event hosts: Render one confirmed instant in five audience-facing timezones.
Start here: Five-zone announcement line
Guide
- Start from one UTC instant, for example 2026-11-07T17:00:00Z.
- Convert it to US Pacific, US Eastern, UTC, Central European, and Japan time.
- Include the correct dated abbreviations and mark Japan as the next date when applicable.
- Check every displayed time still maps back to the same UTC instant before publishing.
Try with your AI assistant
Provide a checklist for converting {utc_iso} into America/Los_Angeles, America/New_York, UTC, Europe/Berlin, and Asia/Tokyo with a date-aware IANA timezone service. Require full dates and verification that every displayed value maps to the same instant. Do not invent exact local values without that service.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: The completed line can be scheduled as an X post on a paid plan.
Review pricingScheduling
How can I detect that my browser timezone differs from the timezone I intend to schedule in?
For Users of browser-based schedulers: Compare the intended timezone with the device-detected timezone before saving.
Guide only
Scheduling
How can I detect that my browser timezone differs from the timezone I intend to schedule in?
For Users of browser-based schedulers: Compare the intended timezone with the device-detected timezone before saving.
Start here: Timezone preflight checklist
Guide
- Record the intended zone, for example America/New_York.
- Read the browser or operating-system zone, for example America/Los_Angeles.
- Convert the same civil time under both zones and compare the UTC results.
- If the results differ, select the intended instant explicitly rather than saving the unverified browser interpretation.
Try with your AI assistant
Provide a preflight checklist comparing {civil_datetime} in {intended_iana_zone} and {detected_iana_zone}. Explain how to use a date-aware IANA timezone converter to compare the resulting instants. Do not claim exact UTC values or a minute delta without that service.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
When you need more: Scheduling the confirmed UTC value on X avoids interpreting the time through a separate device-clock control.
Review pricingScheduling
How do I audit posts already scheduled across a daylight-saving change?
For Operators with an existing scheduled queue: Compare stored UTC instants with the intended local wall times after a DST transition.
Guide only
Scheduling
How do I audit posts already scheduled across a daylight-saving change?
For Operators with an existing scheduled queue: Compare stored UTC instants with the intended local wall times after a DST transition.
Start here: Manual queue audit template
Guide
- Export or copy each item as ID, stored UTC, intended IANA zone, and intended local datetime.
- Convert every intended local datetime independently to its correct dated UTC value.
- Mark a mismatch when the converted UTC differs from the stored UTC, for example by 60 minutes.
- Correct only verified rows and recheck their local date and abbreviation after editing.
Try with your AI assistant
First call whoami, then get_capabilities, show the authenticated organization, and require explicit confirmation before reading data. Only if list_posts and get_post are available with the required scopes, read {date_range}. Return a read-only JSON audit with post_id, stored_publish_time, intended_zone_placeholder, intended_local_placeholder, mismatch_status, and review_needed. Do not infer the intended timezone, edit, approve, publish, or reschedule anything.
Tools: whoami, get_capabilities, list_posts, get_post
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Paid scheduling provides a queue to review, but any time correction should remain a human-confirmed scheduling action.
Review pricingScheduling
How do I keep a recurring post at the same local time after daylight saving changes?
For Operators managing daily or weekly recurring posts: Create dated civil-time occurrences instead of adding fixed 24-hour or seven-day durations.
Guide only
Scheduling
How do I keep a recurring post at the same local time after daylight saving changes?
For Operators managing daily or weekly recurring posts: Create dated civil-time occurrences instead of adding fixed 24-hour or seven-day durations.
Start here: Recurrence expansion worksheet
Guide
- Define the recurrence as a local rule, for example 18:00 every day in Europe/London.
- Create each calendar date first, including dates on both sides of the clock change.
- Convert each dated 18:00 occurrence to UTC separately.
- Check that every local result remains 18:00 even where adjacent UTC gaps are 23 or 25 hours.
Try with your AI assistant
Expand {first_local_datetime}, zone {iana_zone}, interval {calendar_interval}, for {count} occurrences. Return JSON rows with local_datetime, abbreviation, utc_iso, previous_gap_hours, and dst_transition. Preserve civil time rather than a fixed-second interval.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
When you need more: The resulting UTC values can be scheduled as separate X posts after review.
Review pricingScheduling
What date and time will viewers in another timezone see on my post?
For Creators explaining global post times: Preview one publication instant in several viewer-local timezones.
Guide only
Scheduling
What date and time will viewers in another timezone see on my post?
For Creators explaining global post times: Preview one publication instant in several viewer-local timezones.
Start here: Viewer clock preview
Guide
- Enter the publisher's local datetime and IANA zone, for example 2026-10-02 19:00 Asia/Tokyo.
- Convert it once to UTC.
- Convert that UTC instant into each viewer zone, such as America/New_York and America/Los_Angeles.
- Check and display calendar-date changes; note that this changes timestamp display, not the publication instant.
Try with your AI assistant
Provide a checklist for converting {publisher_local_datetime} in {publisher_iana_zone} to UTC and then to {viewer_iana_zones} using a date-aware IANA timezone service. Require full-date display and verification. Do not claim exact viewer timestamps without that service.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: If a viewer-local target is selected, its confirmed UTC instant can then be scheduled on X.
Review pricingScheduling
What datetime format should I use in a bulk scheduling CSV?
For Spreadsheet-based content operators: Create an unambiguous schedule CSV using offset-bearing ISO-8601 timestamps.
Guide only
Scheduling
What datetime format should I use in a bulk scheduling CSV?
For Spreadsheet-based content operators: Create an unambiguous schedule CSV using offset-bearing ISO-8601 timestamps.
Start here: CSV datetime template
Guide
- Create columns body, publish_at, and network.
- Write publish_at as ISO-8601 with an offset or Z, for example 2026-10-06T09:00:00-04:00.
- Reject bare values such as 2026-10-06 09:00 because they do not identify an instant.
- Parse each accepted row back to UTC and check that it matches the intended local date before import or manual entry.
Try with your AI assistant
Validate CSV text {csv_text}. Require body, publish_at, and network. Return JSON with accepted_rows, rejected_rows containing row and error, and cleaned_csv. Accept only ISO-8601 timestamps with an explicit offset or Z. Mark networks other than x as manual_export.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: After capability and plan checks, confirmed X rows may be entered through an authenticated scheduling workflow. Other network rows remain manual exports unless the platform is publicly supported.
Review pricingScheduling
How do I turn 'tomorrow at 4pm' into an exact scheduled timestamp?
For Operators entering times in plain language: Resolve a relative phrase against a supplied reference time and named timezone.
Guide only
Scheduling
How do I turn 'tomorrow at 4pm' into an exact scheduled timestamp?
For Operators entering times in plain language: Resolve a relative phrase against a supplied reference time and named timezone.
Start here: Relative-time worksheet
Guide
- Record the exact reference time, for example now equals 2026-10-01T15:00:00Z.
- Supply the interpretation zone, for example America/New_York.
- Resolve 'tomorrow at 4pm' to 2026-10-02T16:00:00-04:00 and 2026-10-02T20:00:00Z.
- Confirm the written calendar date and reject phrases that omit either a clock time or timezone.
Try with your AI assistant
Resolve phrase {time_phrase} using reference instant {reference_utc_iso} and zone {iana_zone}. Return JSON with resolved_local_iso, utc_iso, calendar_date_text, ambiguity, and needs_confirmation. Do not guess if the time or zone is missing.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Only the confirmed absolute UTC value should be used for paid X scheduling.
Review pricingScheduling
How do I combine several channel schedules and find posts that collide?
For Creators managing multiple channels: Merge dated publishing rows into one chronological calendar and flag short gaps.
Guide only
Scheduling
How do I combine several channel schedules and find posts that collide?
For Creators managing multiple channels: Merge dated publishing rows into one chronological calendar and flag short gaps.
Start here: Weekly collision calendar
Guide
- Create rows containing channel label, title, and an offset-bearing publish_at value.
- Convert every row to UTC and sort the combined list chronologically.
- Choose a minimum gap, for example 60 minutes, and flag adjacent items closer than that.
- Export the checked list to a calendar file or use it as a manual native-publishing checklist.
Try with your AI assistant
Analyze schedule rows {rows_json} with minimum gap {gap_minutes}. Return JSON with chronological_rows, collisions containing item IDs and minutes_apart, and an ICS-compatible event list. Do not claim to publish video or non-X rows.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Optional X announcement rows can be scheduled on X; video and other network entries remain manual calendar items.
Review pricingScheduling
How do I prevent an unapproved post from reaching the schedule?
For Agencies and client content teams: Keep pending content in drafts and require explicit approval before scheduling.
Available now
Scheduling
How do I prevent an unapproved post from reaching the schedule?
For Agencies and client content teams: Keep pending content in drafts and require explicit approval before scheduling.
Start here: Approval gate checklist
Guide
- Create a draft with body, approver, approval deadline, and proposed publish time.
- Check that the approval deadline occurs before the proposed publish time.
- Keep the item blocked while its status is pending, rejected, or missing an approver.
- After explicit approval, recheck the final body and time before a separate scheduling action.
Try with your AI assistant
First call whoami, then get_capabilities, show the authenticated organization, and require explicit confirmation that {organization_name} is correct. Only if create_drafts, list_drafts, and list_approvals are reported as available and authorized, create draft-only records from {content_rows} and read their approval state. Return JSON with draft_id, approver when available, approve_by, proposed_publish_at, status, and blocking_reasons. Do not approve, schedule, publish, or autosend anything.
Tools: whoami, get_capabilities, create_drafts, list_drafts, list_approvals
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Paid workflows can retain drafts and approval records; scheduling remains a separate human-confirmed action after approval.
Review pricingScheduling
How do I prepare one scheduled X post and a manual version for another network?
For Operators reusing content across networks: Produce an X-ready variant and a clearly labeled manual copy block without claiming automatic cross-network publishing.
Available now
Scheduling
How do I prepare one scheduled X post and a manual version for another network?
For Operators reusing content across networks: Produce an X-ready variant and a clearly labeled manual copy block without claiming automatic cross-network publishing.
Start here: Two-slot posting pack
Guide
- Enter the source text, link, X publish time, and the second network's manual publish time.
- Use the character counter only for a simple Unicode code-point count of the X draft. It is not an X weighted validator and does not apply the 23-character URL rule.
- Create a separate manual version using the second network's current editorial requirements.
- Validate the X version in the official X composer, schedule only the X item, and add a separately zoned calendar reminder for the manual item.
Try with your AI assistant
Adapt source {source_text} and link {url} into JSON with x containing text and publish_at {x_publish_at}, plus manual containing text, label {manual_network_label}, and publish_at {manual_publish_at}. Keep claims unchanged. You may report simple Unicode code-point counts only, clearly labeled as non-weighted and non-validating. Require official X composer validation and never state that the manual item will be auto-published.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Starter includes up to 30 X posts per month, while the second network item remains a manual copy block.
Review pricingScheduling
Should I start with Eastern time when my X audience is spread across the United States?
For US-focused X account operators: Use a source-labeled public timing curve as a baseline and translate it across US timezones.
Available now
Scheduling
Should I start with Eastern time when my X audience is spread across the United States?
For US-focused X account operators: Use a source-labeled public timing curve as a baseline and translate it across US timezones.
Start here: Best Time to Post
Guide
- Open the public timing tool and keep its result labeled as a source-labeled public baseline rather than account analytics or a personalized optimum.
- Select a candidate window. If applying it to a particular future date, record that date explicitly.
- Use a separate date-aware IANA timezone converter to translate the dated instant across Central, Mountain, and Pacific time; the current planner code does not guarantee future-date DST conversion.
- Check whether the audience is known to skew west before manually recording the final window.
Try with your AI assistant
Use best_time_teaser for {platform} and {region_or_timezone}. Return JSON with source_label, candidate_windows, timezone, and limitations. Describe results as a public baseline, not this account's measured optimum. Do not schedule or publish.
Tools: best_time_teaser
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: When account analytics are connected and the required scopes are available, Pro can help an operator compare available account performance with the public baseline and schedule a chosen X time.
Review pricingScheduling
How do I rank posting hours using my own X performance data?
For X accounts with historical performance data: Compare hour-of-week performance while exposing sample counts and refusing thin conclusions.
Available now
Scheduling
How do I rank posting hours using my own X performance data?
For X accounts with historical performance data: Compare hour-of-week performance while exposing sample counts and refusing thin conclusions.
Start here: Own-data ranking guide
Guide
- Collect each post's publication timestamp and one consistent metric, such as impressions.
- Convert all timestamps to the audience timezone and group them by weekday and hour.
- For each group, calculate post count and median metric rather than ranking a single exceptional post.
- Exclude groups below a chosen sample threshold, then compare the remaining top three windows.
Try with your AI assistant
First call whoami, then get_capabilities, and confirm organization {organization_name}. Only if the authenticated account, required scopes, and both read tools are available, read {date_range} using get_engagement_summary and get_optimal_times. Return JSON with timezone, available ranked_windows, post_count_per_window when supplied by the tools, metric_basis, sample_limitations, and no_schedule_action. Do not infer unavailable analytics, draft, approve, schedule, or publish.
Tools: get_engagement_summary, get_optimal_times
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: If account analytics are connected with the required scopes, Pro can expose available account-derived timing information for review. Scheduling a selected X post remains a separate action.
Review pricingScheduling
What time should I type into a device-clock scheduler without changing my system timezone?
For Operators using schedulers tied to device time: Convert a desired zoned time into the wall time expected by the current device zone.
Guide only
Scheduling
What time should I type into a device-clock scheduler without changing my system timezone?
For Operators using schedulers tied to device time: Convert a desired zoned time into the wall time expected by the current device zone.
Start here: No-clock-change card
Guide
- Enter the desired value, for example 2026-10-08 20:00 America/New_York.
- Enter the unchanged device zone, for example America/Toronto.
- Copy the returned device-local datetime and UTC instant.
- Before saving, check the device zone still matches the entered zone and confirm the desired-zone date remains correct.
Try with your AI assistant
Provide a checklist for converting {desired_local_datetime} in {desired_iana_zone} to {device_iana_zone} with a date-aware IANA timezone service. Require verification of the UTC instant, both local dates, and the device's actual zone before saving. Do not claim an exact value without that service.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: A paid X schedule can use the verified UTC instant directly instead of a separate device-clock control.
Review pricingScheduling
How do I prepare several X posts as drafts before scheduling any of them?
For Teams preparing an X content queue: Create reviewable drafts while separating drafting from scheduling and publishing.
Available now
Scheduling
How do I prepare several X posts as drafts before scheduling any of them?
For Teams preparing an X content queue: Create reviewable drafts while separating drafting from scheduling and publishing.
Start here: Draft queue checklist
Guide
- Prepare each row with draft text, proposed UTC time, source note, and reviewer.
- Use the character counter only as a simple Unicode code-point editing aid, not as an X weighted validator, and verify proposed times with a date-aware IANA timezone source.
- Validate each final text in the official X composer before creating draft-only records.
- Create drafts only after confirming the authenticated organization and capabilities, then review their IDs, text, and proposed times as a batch.
- Leave scheduling as a later explicit action after organization, content, and time confirmation.
Try with your AI assistant
First call whoami, then get_capabilities, show the authenticated organization, and require explicit confirmation that {organization_name} is correct. Only if create_drafts and list_drafts are available and authorized, create draft-only X items from {rows_with_text_and_proposed_utc}, then verify them with list_drafts. Return JSON with draft_id, text, proposed_utc, validation_notes, and status. Do not claim X weighted validity, approve, schedule, publish, or autosend.
Tools: whoami, get_capabilities, create_drafts, list_drafts
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Starter supports up to 30 X posts per month; Pro provides unlimited scheduling, with scheduling still requiring a separate confirmed action.
Review pricingWebsite SEO
Why does Google say my description is unavailable because of robots.txt?
For CMS site owners whose titles or descriptions are missing from search results: Check whether robots.txt blocks a specific page and distinguish crawl access from search exclusion.
Guide only
Website SEO
Why does Google say my description is unavailable because of robots.txt?
For CMS site owners whose titles or descriptions are missing from search results: Check whether robots.txt blocks a specific page and distinguish crawl access from search exclusion.
Start here: Robots access checklist
Guide
- Input: paste the robots.txt text and affected URL, for example https://example.com/products/widget.
- Match the URL path against the relevant User-agent group and its Allow and Disallow rules. Output: allowed, blocked, or unclear, plus the matching rule.
- Open the page and view source. Check that one title element and one meta name="description" exist.
- If the page should appear with a snippet, remove only the rule blocking that path and verify the page remains publicly accessible.
- If the page should stay out of search, allow crawling and add meta name="robots" content="noindex" or an X-Robots-Tag noindex header. Check that no conflicting index directive remains.
Try with your AI assistant
Analyze this robots.txt and URL locally. Input: {"robots_txt":"<ROBOTS_TEXT>","url":"<PAGE_URL>","goal":"show_snippet|exclude"}. Return JSON only with urlAllowed, matchedRule, titleCheckInstructions, descriptionCheckInstructions, smallestRobotsChange, exclusionDirective, and cautions. Do not claim to crawl the URL.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: A paid TimeToPost plan can support related content drafting and scheduling workflows after the page issue is fixed, but it does not replace search-engine recrawling.
Review pricingWebsite SEO
Will disallowing tag and search URLs in robots.txt remove them from Google?
For Blog owners managing tag archives and internal search-result pages: Choose crawl and index controls separately for tag, category, and internal search URLs.
Guide only
Website SEO
Will disallowing tag and search URLs in robots.txt remove them from Google?
For Blog owners managing tag archives and internal search-result pages: Choose crawl and index controls separately for tag, category, and internal search URLs.
Start here: Index control decision sheet
Guide
- Input: list each path, whether visitors can click it, and its purpose, for example /tag/seo as a browsable archive and /?s=shoes as internal search.
- Keep useful visitor-facing archives crawlable when they provide distinct navigation or content.
- For URLs that should not appear in search, place a page-level noindex directive while leaving them crawlable long enough for the directive to be read.
- Treat Sitemap lines as discovery hints, not removal instructions. Multiple absolute Sitemap URLs may be declared.
- Output: a table with path, visitor value, crawl choice, index choice, exact directive, and a check that no robots.txt rule prevents reading noindex.
Try with your AI assistant
Create a crawl and indexing decision table from this input: {"robots_txt":"<ROBOTS_TEXT>","paths":[{"path":"<PATH>","linked_from_site":true,"purpose":"tag|search|other"}]}. Return JSON only with findings containing path, crawlChoice, indexChoice, directive, reason, and conflictCheck.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Paid TimeToPost content workflows can help create and schedule promotion for useful indexable hub pages after the site owner makes the technical changes.
Review pricingWebsite SEO
Does the Sitemap line have to be last in robots.txt?
For Site owners editing robots.txt and sitemap declarations: Validate Sitemap directive syntax and placement without treating it as an indexing guarantee.
Guide only
Website SEO
Does the Sitemap line have to be last in robots.txt?
For Site owners editing robots.txt and sitemap declarations: Validate Sitemap directive syntax and placement without treating it as an indexing guarantee.
Start here: Sitemap directive validator guide
Guide
- Input: paste the complete robots.txt file.
- Extract each line beginning with Sitemap: and check that its value is an absolute URL such as https://example.com/sitemap.xml.
- Keep valid Sitemap directives wherever they occur in the file. They do not need to be the final lines.
- Allow multiple Sitemap directives when the site has multiple sitemap files or indexes.
- Output: valid sitemap URLs, malformed lines, corrected lines, and a manual submission checklist for the search engine's sitemap interface.
Try with your AI assistant
Validate this robots.txt text locally: <ROBOTS_TEXT>. Return JSON only with sitemapUrls, placementValid, malformedLines, correctedLines, and submissionChecklist. Do not claim that sitemap inclusion guarantees indexing.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Paid TimeToPost features are not required for this robots.txt task. Paid plans can support separate content creation, scheduling, and analytics work.
Review pricingWebsite SEO
Why is Google's search title different from my title tag?
For Publishers whose search result title differs from the HTML title: Compare the title element with visible title signals and identify likely rewrite triggers.
Available now
Website SEO
Why is Google's search title different from my title tag?
For Publishers whose search result title differs from the HTML title: Compare the title element with visible title signals and identify likely rewrite triggers.
Start here: Title signal comparison
Guide
- Input: collect the title element, first visible H1, og:title, site name, page language, and first 200 words.
- Compare the fields for conflicting wording, vague labels such as Home, repeated keywords, duplicated site names, or language mismatches.
- Choose one descriptive page-specific phrase and use it consistently in the title, main heading, and social title where editorially appropriate.
- Output: issue list and one proposed title, for example Blue Widget Installation Guide | Example Site.
- Check that the title is unique on the site and wait for recrawling. Search results may still vary by query and device.
Try with your AI assistant
Run seo_audit with full=false for <PAGE_URL>. Then compare the returned page checks with these supplied fields: title=<TITLE>, h1=<H1>, og_title=<OG_TITLE>, site_name=<SITE_NAME>, language=<LANGUAGE>. Return JSON with issues, proposedTitle, supportingSignals, and manualChecks. Do not promise that a search engine will use the proposal.
Tools: seo_audit
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Paid plans can store related drafts and support content scheduling and analytics. Search-result title selection remains controlled by the search engine.
Review pricingWebsite SEO
How do I rewrite repetitive title tags so every page is distinguishable?
For Catalog and template-site editors with repetitive titles: Rewrite a batch of boilerplate titles using page-specific facts.
Guide only
Website SEO
How do I rewrite repetitive title tags so every page is distinguishable?
For Catalog and template-site editors with repetitive titles: Rewrite a batch of boilerplate titles using page-specific facts.
Start here: Title rewrite worksheet
Guide
- Input: prepare rows with URL, current title, H1, page type, and one unique fact such as product, city, category, or article subject.
- Group titles sharing the same long prefix or suffix and mark rows that differ by only one weak token.
- For each row, lead with the unique subject, remove repeated keyword lists, and add the site name once if useful.
- Output: URL, detected issue, proposed title, and needs_input when no unique fact exists.
- Check that no two proposed titles are identical and that each accurately describes its page.
Try with your AI assistant
Rewrite these titles locally: {"site_name":"<SITE_NAME>","pages":[{"url":"<URL>","current_title":"<TITLE>","h1":"<H1>","page_type":"<TYPE>","unique_fact":"<FACT>"}]}. Return JSON only with pages containing url, issues, proposedTitle, and status. Do not invent missing page facts.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Paid TimeToPost content workflows can create or store drafts related to revised pages, but they do not directly edit website title tags.
Review pricingWebsite SEO
What should I do when the title is in a different language from the page?
For Editors maintaining localized or multilingual pages: Align the title, main heading, and social title with the page's primary language and writing system.
Guide only
Website SEO
What should I do when the title is in a different language from the page?
For Editors maintaining localized or multilingual pages: Align the title, main heading, and social title with the page's primary language and writing system.
Start here: Localized title checklist
Guide
- Input: provide the current title, H1, og:title, a body sample, and the intended page language.
- Identify fields written in a different language or writing system from the main content.
- Draft a concise replacement title using only a translation or terminology supplied by the editor.
- Apply matching language to the H1 and og:title where those fields describe the same page subject.
- Output: mismatched fields, replacement title, fields to update, and needs_translation when verified wording was not supplied.
Try with your AI assistant
Review this localized title input: {"title":"<TITLE>","h1":"<H1>","og_title":"<OG_TITLE>","body_sample":"<BODY_SAMPLE>","page_language":"<LANGUAGE>","approved_terms":["<TERM>"]}. Return JSON with mismatch, fieldsToChange, proposedTitle or null, and blocker. Do not invent an authoritative translation.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
When you need more: Paid content workflows can store separate drafts for different audiences, but verified localization still requires editorial review.
Review pricingWebsite SEO
How can I create unique meta descriptions for a large catalog?
For Catalog, directory, local, and news-site editors: Generate factual, unique meta descriptions from structured page fields.
Guide only
Website SEO
How can I create unique meta descriptions for a large catalog?
For Catalog, directory, local, and news-site editors: Generate factual, unique meta descriptions from structured page fields.
Start here: Meta description template sheet
Guide
- Input: create rows with URL, page type, name, author or business, date, price, location, hours, and a one-sentence summary where available.
- Select only facts relevant to that page type and combine them into one readable description rather than a keyword list.
- Output one description per URL and mark missing_facts when the row lacks enough distinct information.
- Compare outputs and flag exact or near duplicates for revision.
- Check each description against the live page so every stated fact is visible and current. Search engines may still choose body text instead.
Try with your AI assistant
Create factual meta descriptions from: {"pages":[{"url":"<URL>","type":"article|product|local|other","fields":{"name":"<NAME>","author":"<AUTHOR>","date":"<DATE>","price":"<PRICE>","location":"<LOCATION>","hours":"<HOURS>","summary":"<SUMMARY>"}}]}. Return JSON with url, metaDescription, status, usedFacts, and duplicateGroup. Do not invent facts or measured SEO outcomes.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Growth includes AutoSEO drafts at one per week. Those drafts can support broader content work, while website metadata changes still require the site's publishing system.
Review pricingWebsite SEO
How do I limit, remove, or exclude part of a search snippet?
For Publishers controlling how page content may appear in search snippets: Map a snippet policy to robots directives or the data-nosnippet attribute.
Guide only
Website SEO
How do I limit, remove, or exclude part of a search snippet?
For Publishers controlling how page content may appear in search snippets: Map a snippet policy to robots directives or the data-nosnippet attribute.
Start here: Snippet directive builder
Guide
- Input: choose normal snippet, maximum character count, no snippet, or exclude one visible section.
- For a maximum, output meta name="robots" content="max-snippet:N" using the chosen integer.
- For no snippet, output meta name="robots" content="nosnippet" or the equivalent X-Robots-Tag header.
- For one excluded section, add data-nosnippet to the relevant HTML element rather than blocking the whole page.
- Check the head and response headers for duplicate directives. Output all conflicts and retain one intentional policy.
Try with your AI assistant
Build a snippet policy locally from {"mode":"default|max_snippet|nosnippet|exclude_selector","max_snippet":<NUMBER_OR_NULL>,"selector":"<SELECTOR_OR_NULL>","existing_meta":["<DIRECTIVE>"],"existing_header":"<HEADER_OR_NULL>"}. Return JSON with metaTag, httpHeader, htmlAttribute, conflicts, and verificationSteps.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Paid TimeToPost plans do not replace website template changes. They can support related drafting and distribution after the policy is implemented.
Review pricingWebsite SEO
How can I verify title, description, robots, and canonical tags on a CMS page?
For Hosted CMS users who configure SEO fields without editing templates: Check the rendered page head for essential tags and duplicates.
Available now
Website SEO
How can I verify title, description, robots, and canonical tags on a CMS page?
For Hosted CMS users who configure SEO fields without editing templates: Check the rendered page head for essential tags and duplicates.
Start here: Head tag verification checklist
Guide
- Input: open the live page, use View Source, and copy the head section.
- Count title elements and meta name="description" tags. Flag duplicate title elements, duplicate descriptions, or a missing title. A meta description is optional, but record when it is absent.
- List robots and crawler-specific meta tags, then flag conflicting index or snippet directives.
- List rel="canonical" values and verify that each observed value resolves to an absolute URL. Treat canonical tags as signals, not indexing guarantees.
- Output: findings for each field, the exact duplicate or conflicting tags, and a note to change them in the CMS search settings when raw HTML is unavailable.
Try with your AI assistant
Run seo_audit with full=false for <PAGE_URL>. Return JSON with titleFindings, descriptionFindings, robotsFindings, canonicalFindings, topThreeFixes, and manualSourceChecks. Treat this as a page check, not a full-site crawl.
Tools: seo_audit
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Paid plans can add content drafting, scheduling, and analytics workflows. They do not directly configure third-party CMS templates.
Review pricingWebsite SEO
How do I stop an XML sitemap from ranking instead of the real page?
For Site owners seeing an XML sitemap URL in search results: Reduce the sitemap file's search eligibility and verify the intended page's basic signals.
Guide only
Website SEO
How do I stop an XML sitemap from ranking instead of the real page?
For Site owners seeing an XML sitemap URL in search results: Reduce the sitemap file's search eligibility and verify the intended page's basic signals.
Start here: Sitemap result recovery checklist
Guide
- Input: record the sitemap URL, target content URL, current canonical, title, sitemap membership, and whether ordinary pages link to the XML file.
- Remove navigational or editorial links to the XML file while keeping legitimate sitemap submission methods.
- Configure the sitemap response with X-Robots-Tag: noindex and verify the header on the live response.
- Check that the target page returns normally, has a unique title, uses a self-referencing canonical, and is the preferred URL listed in the sitemap.
- Output: header change, links to remove, target-page failures, and a separate content-quality review because suppressing the XML file does not improve a weak page.
Try with your AI assistant
Review this user-supplied sitemap and target-page evidence locally: {"sitemap_url":"<SITEMAP_URL>","sitemap_response_headers":"<HEADERS>","internally_linked":true,"target_page_url":"<TARGET_PAGE_URL>","target_status":"<STATUS>","target_title":"<TITLE>","target_canonical":"<CANONICAL>","target_in_sitemap":true}. Return JSON with sitemapHeaderRecommendation, linksToRemove, targetPageChecks, topFixes, qualityReviewRequired, and manualChecks. Do not claim to crawl either URL or guarantee which URL a search engine will show.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: After the canonical page is corrected, paid scheduling can distribute an approved public X post linking to that page. It does not influence search ranking directly.
Review pricingWebsite SEO
How should I canonicalize duplicate home URLs such as / and /home?
For Developers managing duplicate homepage routes: Select one preferred homepage URL and align canonicals, sitemaps, and internal links.
Guide only
Website SEO
How should I canonicalize duplicate home URLs such as / and /home?
For Developers managing duplicate homepage routes: Select one preferred homepage URL and align canonicals, sitemaps, and internal links.
Start here: Canonical alignment worksheet
Guide
- Input: list each duplicate URL, current canonical, sitemap status, redirect status, and whether templates link to it.
- Choose one absolute HTTPS URL as the preferred homepage based on the site's existing public convention.
- Set every duplicate page's rel=canonical to that preferred URL, or redirect duplicates when that is appropriate for users and infrastructure.
- Keep only the preferred URL in the sitemap and retarget internal links to it.
- Output: preferred URL, canonical changes, sitemap removals, redirect candidates, and remaining signal conflicts.
Try with your AI assistant
Resolve this duplicate homepage cluster locally: {"preferred_url":"<PREFERRED_URL>","cluster":[{"url":"<URL>","canonical":"<CANONICAL>","in_sitemap":true,"internally_linked":true,"redirect_status":"<STATUS>"}]}. Return JSON with preferredUrl, canonicalChanges, sitemapKeep, sitemapRemove, linksToRetarget, redirectCandidates, and conflicts.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
- https://webmasters.stackexchange.com/questions/138488/semrush-says-sitemap-xml-contains-an-incorrect-page-due-to-non-canonical-url
- https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls
- https://support.google.com/webmasters/answer/139066
- https://support.google.com/webmasters/answer/183668
When you need more: Paid TimeToPost plans can support content and distribution around the corrected canonical URL, but canonical and redirect implementation stays in the website stack.
Review pricingWebsite SEO
Which 404 or noncanonical URLs should I remove from my sitemap?
For Site owners cleaning CMS-generated XML sitemaps: Classify sitemap URLs using supplied status codes, canonicals, and hosts.
Guide only
Website SEO
Which 404 or noncanonical URLs should I remove from my sitemap?
For Site owners cleaning CMS-generated XML sitemaps: Classify sitemap URLs using supplied status codes, canonicals, and hosts.
Start here: Sitemap cleanup spreadsheet
Guide
- Input: export sitemap URL, HTTP status, canonical URL, and host into a table.
- Keep rows that return 200 and identify themselves as the preferred canonical.
- Remove rows returning 404 or 410 and rows whose canonical points to a different URL.
- Flag URLs on a different host for separate review because sitemap host rules apply.
- Output: keep list, remove list, and reason codes of not_found, non_canonical, wrong_host, or missing_observation. Check removed URLs against internal links before regenerating the sitemap.
Try with your AI assistant
Classify this supplied sitemap export without crawling: {"sitemap_host":"<HOST>","rows":[{"url":"<URL>","status":200,"canonical":"<CANONICAL>","host":"<HOST>"}]}. Return JSON with keep, remove, review, and countsByReason. Do not infer missing HTTP data.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
- https://support.google.com/webmasters/answer/183668
- https://developers.google.com/search/docs/advanced/sitemaps/build-sitemap
- https://www.reddit.com/r/SEO/comments/1mhlyky/technical_seo_47_errors_i_found_in_50_sites_that/
- https://webmasters.stackexchange.com/questions/135779/what-to-do-when-you-have-sitemap-xml-and-canonical-url
When you need more: Paid TimeToPost plans do not provide a claimed full-site crawler. Related AutoSEO drafting is available on Growth, while sitemap regeneration remains a website operation.
Review pricingWebsite SEO
Should a syndicated copy with a cross-domain canonical be in its sitemap?
For Publishers syndicating articles across properties: Align cross-domain canonicals with each host's sitemap.
Guide only
Website SEO
Should a syndicated copy with a cross-domain canonical be in its sitemap?
For Publishers syndicating articles across properties: Align cross-domain canonicals with each host's sitemap.
Start here: Syndication canonical checklist
Guide
- Input: provide the copy URL, canonical URL, copy sitemap host, and canonical sitemap host.
- Confirm that the copy's rel=canonical uses the absolute preferred URL on the canonical host.
- Omit the copy URL from the syndicating host's sitemap when it declares another host's URL as canonical.
- Include the preferred URL only in a sitemap belonging to its own host.
- Output: include or omit decisions for both sitemaps, the exact canonical element, and a check for conflicting noindex or canonical directives.
Try with your AI assistant
Review this syndication pair: {"copy_url":"<COPY_URL>","canonical_url":"<CANONICAL_URL>","copy_sitemap_host":"<COPY_HOST>","canonical_sitemap_host":"<CANONICAL_HOST>","existing_robots_meta":"<META_OR_NULL>"}. Return JSON with copySitemapDecision, canonicalSitemapDecision, relCanonical, robotsConflict, and checks.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Paid scheduling can publish an approved public X post that links to the preferred canonical article. It does not alter cross-domain canonical processing.
Review pricingWebsite SEO
What happens when a page has both index and noindex robots tags?
For Framework developers with metadata emitted by multiple components: Find duplicate robots directives and reduce them to one intentional policy.
Guide only
Website SEO
What happens when a page has both index and noindex robots tags?
For Framework developers with metadata emitted by multiple components: Find duplicate robots directives and reduce them to one intentional policy.
Start here: Robots conflict parser guide
Guide
- Input: copy every robots and crawler-specific meta tag from the head plus any X-Robots-Tag response header.
- List each directive in source order and mark index versus noindex, follow versus nofollow, and snippet-control conflicts.
- If the page should be excluded, retain one noindex directive and remove code paths emitting index directives.
- If the page should be indexed, remove noindex and either retain one index,follow tag or rely on the documented default.
- Output: observed tags, conflict list, one final directive, likely template sources to inspect, and a check that sitemap changes alone will not repair duplicate metadata.
Try with your AI assistant
Parse these supplied directives: {"html_head":"<HEAD_HTML>","x_robots_tag":"<HEADER_OR_NULL>","intent":"index|noindex"}. Return JSON with observedTags, conflicts, finalDirective, directivesToRemove, and templateDebugChecklist. Do not claim to inspect the live framework.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Paid TimeToPost workflows can hold related content drafts, but resolving framework metadata requires a code or CMS change.
Review pricingWebsite SEO
Should related variant pages canonicalize to a hub or remain separate pages?
For Editors managing topic hubs and related article variants: Separate true duplicates from distinct pages and assign canonicals, descriptions, and hub links.
Guide only
Website SEO
Should related variant pages canonicalize to a hub or remain separate pages?
For Editors managing topic hubs and related article variants: Separate true duplicates from distinct pages and assign canonicals, descriptions, and hub links.
Start here: Variant consolidation worksheet
Guide
- Input: provide the hub URL and a short factual summary, current canonical, and current description for each variant.
- Compare summaries. Treat substantially equivalent pages as consolidation candidates and distinct questions as separate pages.
- For duplicates, choose one canonical and include only it in the sitemap.
- For distinct pages, use self-referencing canonicals, write unique factual descriptions, and link each support page to the hub with a descriptive anchor.
- Output: consolidate or separate decision, canonical map, description changes, internal links, and a check that the decision matches actual page content.
Try with your AI assistant
Analyze this supplied content set: {"hub":{"url":"<HUB_URL>","summary":"<SUMMARY>"},"pages":[{"url":"<URL>","summary":"<SUMMARY>","canonical":"<CANONICAL>","description":"<DESCRIPTION>"}]}. Return JSON with decision, reasoning, canonicals, descriptions, sitemapDecision, and internalLinks. Do not infer similarity from URLs alone.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Growth includes one AutoSEO draft per week, which can support an approved hub or support-page brief. Website canonical and linking changes still require implementation.
Review pricingWebsite SEO
Should a canonical URL include UTM tracking parameters?
For Developers whose templates copy request parameters into canonical URLs: Remove known tracking parameters from canonical and sitemap signals while preserving reviewed functional parameters.
Guide only
Website SEO
Should a canonical URL include UTM tracking parameters?
For Developers whose templates copy request parameters into canonical URLs: Remove known tracking parameters from canonical and sitemap signals while preserving reviewed functional parameters.
Start here: Canonical parameter cleaner
Guide
- Input: provide the current canonical URL, sitemap URL, and any parameters the application genuinely needs to preserve.
- Identify known tracking parameters such as utm_source, utm_medium, utm_campaign, gclid, and fbclid.
- Remove known tracking parameters from the preferred absolute canonical while retaining only explicitly approved functional parameters.
- Update the sitemap entry and internal links to the same cleaned URL.
- Output: cleaned canonical, removed parameters, retained parameters, unknown parameters requiring review, and conflicts between canonical and sitemap.
Try with your AI assistant
Clean this canonical locally: {"canonical_url":"<URL>","sitemap_urls":["<URL>"],"functional_parameters_to_keep":["<PARAM>"]}. Return JSON with cleanedCanonical, removedTrackingParameters, retainedParameters, unknownParameters, correctedSitemapUrls, and conflicts.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Paid plans can support associated content and promotion workflows, but URL normalization must be applied in the site's templates and linking system.
Review pricingWebsite SEO
Which existing pages should a new article link to?
For Bloggers and editors with an inventory of existing articles: Select a small set of relevant internal destinations and contextual anchors from a supplied draft and page inventory.
Guide only
Website SEO
Which existing pages should a new article link to?
For Bloggers and editors with an inventory of existing articles: Select a small set of relevant internal destinations and contextual anchors from a supplied draft and page inventory.
Start here: Internal link suggestion sheet
Guide
- Input: split the draft into numbered paragraphs and supply existing URL, title, and one-sentence summary rows.
- For each paragraph, identify pages whose supplied summary directly supports or expands the paragraph's topic.
- Choose no more than one destination per paragraph and apply a page-level cap, for example three links in a short article.
- Draft an anchor using natural words already present in the paragraph and vary anchors when the same topic recurs.
- Output: paragraph number, destination, anchor, relevance reason, and skipped candidates. Check every destination manually before editing the draft.
Try with your AI assistant
Suggest internal links from supplied text only: {"draft_paragraphs":["<PARAGRAPH>"],"inventory":[{"url":"<URL>","title":"<TITLE>","summary":"<SUMMARY>"}],"max_links":3}. Return JSON with links containing paragraphIndex, url, anchor, reason, plus skipped candidates and their reasons.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Growth AutoSEO drafts can support ongoing article creation. Pro includes unlimited scheduling and analytics for approved social promotion, but it does not imply automated website link insertion.
Review pricingWebsite SEO
Which pages should receive internal links first?
For Site owners prioritizing internal-link maintenance: Rank indexable pages by missing inbound links and excessive click depth.
Guide only
Website SEO
Which pages should receive internal links first?
For Site owners prioritizing internal-link maintenance: Rank indexable pages by missing inbound links and excessive click depth.
Start here: Internal link priority queue
Guide
- Input: prepare URL, indexable status, inbound internal-link count, and clicks from the homepage.
- Exclude pages intentionally marked noindex or removed from the content plan.
- Place pages with zero inbound internal links first, then pages at four or more clicks from the homepage.
- For each destination, select one topically related source page from a supplied list and draft a descriptive anchor.
- Output: ordered URL, priority reason, suggested source, anchor, and a check that the source is itself indexable and reachable.
Try with your AI assistant
Rank this supplied internal-link data: {"pages":[{"url":"<URL>","indexable":true,"inbound_internal_links":0,"depth_from_home":4}],"source_pages":[{"url":"<URL>","title":"<TITLE>","summary":"<SUMMARY>"}]}. Return JSON with queue containing url, priorityReason, suggestedSourceUrl, suggestedAnchor, and validationNotes.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Paid TimeToPost plans can support content drafting and social analytics after site owners implement the internal links. No automated site crawl is claimed.
Review pricingAI visibility
Is my llms.txt valid, or did I write it like robots.txt?
For Developers and technical editors: Validate llms.txt structure against the published markdown proposal and identify robots.txt directives that do not belong.
Guide only
AI visibility
Is my llms.txt valid, or did I write it like robots.txt?
For Developers and technical editors: Validate llms.txt structure against the published markdown proposal and identify robots.txt directives that do not belong.
Start here: llms.txt lint checklist
Guide
- Paste the complete file and number its lines. Raw llms.txt text # Acme Docs > Product documentation ## Guides - [Start](/start) A line-numbered copy The file has exactly one H1.
- Check the summary and section order. H1, optional blockquote, H2 sections and Optional section > Documentation for Acme API A list of missing or misplaced elements Optional is used only for links an agent may skip.
- Inspect every section row. Each item beneath an H2 - [Authentication](https://example.com/docs/auth): Token setup Valid markdown links with optional notes Every list item has a title and URL.
- Remove robots.txt syntax. Directive-like lines User-agent: * Disallow: /private A violation list with line numbers No User-agent, Allow, Disallow or Crawl-delay lines remain.
Try with your AI assistant
Review this llms.txt locally without calling an MCP tool: {{LLMS_TXT}}. Return JSON with valid, errors containing line and message, h1, summary, and sections containing heading and links. Apply the published markdown proposal only and flag robots.txt directives.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: No paid TimeToPost feature validates or monitors llms.txt. Growth includes AutoSEO drafts once per week, but that is a separate content workflow.
Review pricingAI visibility
Should llms.txt be at the site root or beside my docs?
For Documentation owners and web developers: Check whether an llms.txt file is published at the conventional site-root location and document any additional project-specific files without treating them as a hierarchical override system.
Guide only
AI visibility
Should llms.txt be at the site root or beside my docs?
For Documentation owners and web developers: Check whether an llms.txt file is published at the conventional site-root location and document any additional project-specific files without treating them as a hierarchical override system.
Start here: llms.txt path worksheet
Guide
- Write the site origin and the documentation page URL. One page URL https://example.com/docs/api/auth The origin and normalized page path Exclude the query string and fragment.
- Check the conventional root location. The site origin https://example.com/llms.txt HTTP status and content type for /llms.txt Do not treat an HTML error page as a valid llms.txt file.
- Record any additional llms.txt files intentionally published by the site owner. Known project or documentation paths https://example.com/docs/llms.txt A list of additional files and their stated scope Do not infer that the deepest file automatically overrides the root file.
- Review the selected file's links and stated scope. The root file and any documented project-specific file Links under a Docs section The file to use for the stated project and any out-of-scope links State that external client discovery and adoption may vary.
Try with your AI assistant
Given {{PAGE_URL}}, the manually collected status for the conventional root file, and any site-documented additional files in {{CANDIDATE_STATUSES}}, return JSON with rootFile, additionalFiles, documentedScope, recommendedFile, reasoning, outOfScopeLinks, and limitations. Do not apply a deepest-path override rule or claim that outside systems fetch any file.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: No paid TimeToPost feature resolves or maintains path-scoped llms.txt files.
Review pricingAI visibility
What clean markdown URL should an agent open for this HTML page?
For Documentation and marketing teams: Test proposed markdown alternate URL patterns without claiming they affect citations.
Guide only
AI visibility
What clean markdown URL should an agent open for this HTML page?
For Documentation and marketing teams: Test proposed markdown alternate URL patterns without claiming they affect citations.
Start here: markdown alternate probe sheet
Guide
- Normalize the page URL. Canonical HTML URL https://example.com/docs/setup A URL without query parameters Keep the original host and path.
- Create the proposal's alternate candidates. Normalized URL /docs/setup.md, /docs/setup/index.md, /docs/setup/index.html.md A candidate URL list Do not overwrite or publish anything.
- Open each candidate and record status and content type. Candidate list 200 text/markdown Status and content type table A 200 HTML shell is not a clean markdown response.
- Compare the successful body with the visible page. Markdown response and source page Both contain the Installation heading Preferred alternate or none Label citation impact as unknown.
Try with your AI assistant
Using the manually fetched results {{URL_RESULTS}}, return JSON with candidates containing url, status, contentType and textPresent, plus preferred and limitations. Do not claim markdown alternates improve ranking or citations.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Starter supports up to 30 X posts, so an approved documentation update can be shared on X separately. It does not generate or host markdown alternates.
Review pricingAI visibility
How can clients discover a page's markdown version and covering llms.txt?
For Server, CDN and template developers: Check documented HTML and HTTP link relations for markdown and llms.txt discovery.
Guide only
AI visibility
How can clients discover a page's markdown version and covering llms.txt?
For Server, CDN and template developers: Check documented HTML and HTTP link relations for markdown and llms.txt discovery.
Start here: link relation checklist
Guide
- Collect the raw response headers. One public page URL https://example.com/docs/start The complete Link header value Use the raw response rather than rendered developer tools markup.
- Inspect raw HTML link elements. HTML head source <link rel="alternate" type="text/markdown" href="/docs/start.md"> Alternate and describedby relations The markdown relation includes type text/markdown.
- Resolve relative targets. Every discovered href /llms.txt becomes https://example.com/llms.txt Absolute target URLs Targets resolve against the page URL.
- Open each target. Resolved targets 200 text/markdown Broken, redirected or successful status Do not infer client adoption from a valid relation.
Try with your AI assistant
Analyze these copied headers and raw HTML locally: {{HEADERS_AND_HTML}}. Return JSON with httpLink, htmlLinks, brokenTargets, and caveat that current client adoption is not established.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: No paid TimeToPost feature monitors HTTP Link headers or HTML discovery relations.
Review pricingAI visibility
Which llms.txt links are broken, redirected or unnecessarily large?
For Editors maintaining curated llms.txt indexes: Manually audit the destinations listed in llms.txt and keep the result distinct from citation tracking.
Guide only
AI visibility
Which llms.txt links are broken, redirected or unnecessarily large?
For Editors maintaining curated llms.txt indexes: Manually audit the destinations listed in llms.txt and keep the result distinct from citation tracking.
Start here: llms.txt link audit table
Guide
- Extract each markdown link and its section. llms.txt contents Guides | Setup | https://example.com/setup One row per link Mark whether the row is under Optional.
- Open each URL and record the final destination. Extracted URLs /old redirects to /new Initial URL, final URL and status Treat repeated redirects as an issue.
- Record response type and approximate size. Successful responses text/html, 420 KB Content type and byte estimate Flag unusually large files for editorial review, not as an automatic failure.
- Prioritize repairs. Audit table 404 required guide before large optional appendix Ordered repair list Required-section failures come before Optional-section issues.
Try with your AI assistant
Review the manually collected llms.txt link table {{LINK_TABLE}}. Return JSON with links containing sourceAnchor, finalUrl, status, approximateBytes and optional, followed by repairs in priority order. Do not claim any citation effect.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: No paid TimeToPost plan provides llms.txt link monitoring.
Review pricingAI visibility
If robots.txt blocks crawlers, can they still read my llms.txt?
For Site owners managing crawl and training controls: Separate Googlebot, Google-Extended and wildcard robots.txt rules for llms.txt and its linked pages.
Guide only
AI visibility
If robots.txt blocks crawlers, can they still read my llms.txt?
For Site owners managing crawl and training controls: Separate Googlebot, Google-Extended and wildcard robots.txt rules for llms.txt and its linked pages.
Start here: crawler access matrix
Guide
- Open the site's robots.txt. Site origin https://example.com/robots.txt Raw robots.txt text Confirm it is not an HTML error page.
- List paths to test. llms.txt and important linked pages /llms.txt, /docs/start.md A path checklist Include each path exactly as requested.
- Evaluate rules separately. Googlebot, Google-Extended and * groups Googlebot allowed; Google-Extended disallowed Token-by-path allow table Do not merge Googlebot and Google-Extended into one control.
- Document the limitation. Completed matrix User-triggered fetch behavior may differ A factual access summary Do not promise every assistant will obey the file.
Try with your AI assistant
Parse this copied robots.txt locally: {{ROBOTS_TXT}} for these paths {{PATHS}}. Return JSON with groups and a matrix for Googlebot, Google-Extended and wildcard. State that user-triggered assistants may behave differently and do not claim universal enforcement.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: No paid TimeToPost plan changes or monitors robots.txt access controls.
Review pricingAI visibility
Does a non-browser crawler receive my page or a firewall challenge?
For Site owners using bot protection or captcha services: Compare manually captured responses without bypassing access controls.
Guide only
AI visibility
Does a non-browser crawler receive my page or a firewall challenge?
For Site owners using bot protection or captcha services: Compare manually captured responses without bypassing access controls.
Start here: fetch comparison worksheet
Guide
- Request the page without JavaScript using a command-line client or server log. One public URL https://example.com/article Status, content type and body size Do not solve or bypass a challenge.
- Repeat with an ordinary browser user-agent. The same URL Mozilla-compatible user-agent A second status and size Keep all other request settings unchanged.
- Repeat with a crawler token you are authorized to test. User-supplied user-agent A clearly identified test crawler A third response summary Do not impersonate a crawler for access.
- Compare challenge indicators. Three response summaries 403 plus captcha text only for crawler token Likely accessible, blocked or inconclusive A 200 response can still contain a challenge or thin shell.
Try with your AI assistant
Compare these user-collected response summaries {{FETCH_RESULTS}}. Return JSON with results containing userAgent, status, bytes, textWords and challengeSuspected, plus conclusion and limitations. Do not recommend bypassing a firewall or captcha.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: No paid TimeToPost feature performs neutral-network crawler monitoring or bypasses access controls.
Review pricingAI visibility
What article text exists before JavaScript runs?
For Teams publishing client-rendered content: Compare raw response text with the rendered page and identify a thin application shell.
Guide only
AI visibility
What article text exists before JavaScript runs?
For Teams publishing client-rendered content: Compare raw response text with the rendered page and identify a thin application shell.
Start here: raw text comparison
Guide
- Save the initial HTML response without executing scripts. One page URL view-source:https://example.com/article Raw HTML Use the network response, not the rendered DOM.
- Extract the title, headings and readable body text. Raw HTML Title plus H1 and three paragraphs Outline and approximate word count Ignore scripts, styles and navigation boilerplate.
- Compare it with the browser-rendered article. Raw and rendered text Raw response has 40 words; rendered article has 900 Missing headings and passages Do not assign an unsupported minimum word threshold.
- Choose a remediation. Comparison result Server-render the main article text A specific engineering action The important content should be available as text.
Try with your AI assistant
Compare the user-supplied raw HTML and rendered-page text locally: {{RAW_AND_RENDERED_TEXT}}. Return JSON with rawTitle, rawHeadings, approximateRawWordCount, renderedHeadings, approximateRenderedWordCount, missingPassages, classification, remediationOptions, and limitations. Do not claim to fetch the URL, impose a minimum word threshold, or guarantee search or citation outcomes.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Growth includes AutoSEO drafts once per week. It does not guarantee server rendering or AI citations.
Review pricingAI visibility
Is my JSON-LD in the initial HTML or inserted after load?
For Teams using client-side widgets or tag managers: Check whether structured data is present in the raw response without asserting a citation benefit.
Guide only
AI visibility
Is my JSON-LD in the initial HTML or inserted after load?
For Teams using client-side widgets or tag managers: Check whether structured data is present in the raw response without asserting a citation benefit.
Start here: source schema probe
Guide
- Capture the raw HTML response. One public page URL https://example.com/service Unrendered source Do not use the post-JavaScript Elements panel.
- Search for application/ld+json scripts. Raw source <script type="application/ld+json"> All raw JSON-LD blocks Record an explicit none-found result.
- Parse each block. JSON-LD text "@type":"Organization" Types and top-level keys Flag invalid JSON rather than guessing its meaning.
- Compare with rendered markup. Raw blocks and rendered DOM blocks FAQPage appears only after load Initial, client-inserted or absent classification Do not claim server-side placement improves citations.
Try with your AI assistant
Compare the user-supplied raw HTML and rendered DOM excerpts locally: {{RAW_AND_RENDERED_HTML}}. Return JSON with rawJsonLdBlocks, renderedJsonLdBlocks, parseErrors, types, placementClassification, and limitations. Use unknown when the supplied evidence is insufficient, and do not claim that placement changes citation outcomes.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Growth provides weekly AutoSEO drafts, but it does not install or move JSON-LD into server-rendered HTML.
Review pricingAI visibility
Which structured-data claims are missing from the visible page?
For Publishers generating structured data from templates: Compare important JSON-LD strings with visible source text and detect unresolved placeholders.
Guide only
AI visibility
Which structured-data claims are missing from the visible page?
For Publishers generating structured data from templates: Compare important JSON-LD strings with visible source text and detect unresolved placeholders.
Start here: schema consistency table
Guide
- Extract JSON-LD from the raw response. Raw page HTML headline, name and description fields Field paths and string values Skip non-text values.
- Extract visible text from the same response. Raw HTML Page heading and article body Normalized visible text Use the same response version for both sides.
- Compare each structured-data string. JSON-LD values and visible text JSON-LD price is absent from the page Matched and unmatched fields Allow minor whitespace differences but not changed facts.
- Search for template tokens. JSON-LD text {{product_name}} or ${price} Unresolved placeholder list Review every flagged value before publishing.
Try with your AI assistant
Compare the user-supplied raw HTML, extracted visible text, and JSON-LD locally: {{SCHEMA_AND_VISIBLE_TEXT}}. Return JSON with fields containing path, value, visibleMatch and notes, plus unresolvedPlaceholders, manualReview, and limitations. Do not fetch the page, invent missing facts, or claim ranking or citation effects.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Growth includes AutoSEO drafts once per week. Technical schema corrections remain a site implementation task.
Review pricingAI visibility
Should this page use FAQPage or QAPage markup?
For Help-center and public-information editors: Choose the appropriate markup shape and verify that accepted answers are visible.
Guide only
AI visibility
Should this page use FAQPage or QAPage markup?
For Help-center and public-information editors: Choose the appropriate markup shape and verify that accepted answers are visible.
Start here: FAQ markup decision guide
Guide
- Classify how answers are created. Page editorial model Publisher supplies one answer per question Single-answer or community-answer classification Confirm whether users can submit alternative answers.
- Select the candidate type. Classification Single publisher answer maps to FAQPage FAQPage or QAPage recommendation Use QAPage when users can submit competing answers.
- List every question and accepted answer. Visible page text How do refunds work? Refunds take five business days. Question-answer pairs Each accepted answer is visible on the page.
- State eligibility limits. Site type and chosen markup Not a government or health site A caution about rich-result expectations Do not present markup as an AI citation feature.
Try with your AI assistant
Analyze this page description and copied question-answer text locally: {{PAGE_CONTENT}}. Return JSON with recommendedType, rationale, visibleQA, jsonLdOnlyAnswers, and limitations. Do not claim rich-result or AI citation eligibility.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Growth can create weekly AutoSEO drafts, but it does not guarantee FAQ rich results or AI citations.
Review pricingAI visibility
What does this URL need to be eligible as a supporting link in search AI features?
For Site owners evaluating public search eligibility: Review ordinary crawl, index and snippet signals without requiring a special AI file.
Guide only
AI visibility
What does this URL need to be eligible as a supporting link in search AI features?
For Site owners evaluating public search eligibility: Review ordinary crawl, index and snippet signals without requiring a special AI file.
Start here: AI search eligibility checklist
Guide
- Run the free single-page SEO audit. Public page URL https://example.com/guide A 0 to 100 score and top three fixes Treat it as a page check, not a full crawl or ranking report.
- Verify Googlebot access. robots.txt and page path Googlebot is not disallowed Allowed, blocked or ambiguous Do not substitute Google-Extended for Googlebot.
- Inspect index and snippet controls. Raw HTML and response headers No noindex and no page-wide nosnippet Control inventory A canonical to another host requires review.
- Confirm meaningful text is present. Raw response body The article heading and core answer appear in source Text-present or thin-shell result State that passing does not guarantee appearance.
Try with your AI assistant
Review the user-supplied single-page audit output, robots.txt rules, raw HTML, and response headers locally: {{PAGE_EVIDENCE}}. Return JSON with auditFindings, googlebotAccess, indexControls, snippetControls, canonicalReview, meaningfulTextPresent, manualChecks, and limitations. Do not request a gated report, measured rankings, or keyword gaps. State that passing these checks does not guarantee indexing or an AI-feature supporting link.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Growth includes weekly AutoSEO drafts. Paid plans do not guarantee indexing, rankings or supporting-link placement.
Review pricingAI visibility
How can I exclude one section from snippets without removing the page from search?
For Publishers controlling search previews: Distinguish page-wide and section-level snippet controls.
Guide only
AI visibility
How can I exclude one section from snippets without removing the page from search?
For Publishers controlling search previews: Distinguish page-wide and section-level snippet controls.
Start here: snippet control decoder
Guide
- State the intended scope. Content to restrict Hide one pricing note but keep the article indexed Section-level or page-level requirement Do not use noindex for a section-only goal.
- Inspect meta tags and headers. Raw HTML head and HTTP headers meta robots content="nosnippet" Page-wide controls Record noindex, nosnippet and max-snippet separately.
- Inspect the target element. Raw HTML around the sensitive text <span data-nosnippet>Internal note</span> Section-level control status The attribute surrounds the exact text to exclude.
- Explain the consequence. Detected controls data-nosnippet limits that region; noindex removes eligibility Plain-language effect by control Do not generalize behavior to every answer engine.
Try with your AI assistant
Review the copied raw HTML and headers {{HTML_AND_HEADERS}} locally. Return JSON with controls containing kind, scope and value, recommendedControl for {{INTENDED_SCOPE}}, and limitations. Do not claim universal support outside the documented search system.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
When you need more: No paid TimeToPost feature edits or deploys snippet-control markup.
Review pricingAI visibility
Why is old text still showing after I added a snippet control?
For Site owners debugging recently changed preview controls: Verify the current raw response and follow the documented recrawl troubleshooting order.
Guide only
AI visibility
Why is old text still showing after I added a snippet control?
For Site owners debugging recently changed preview controls: Verify the current raw response and follow the documented recrawl troubleshooting order.
Start here: snippet update debug sheet
Guide
- Fetch the current raw HTML. Affected page URL https://example.com/pricing Current response body and headers Confirm the intended control is actually present.
- Check the control's scope and syntax. Current markup data-nosnippet wraps the old price Correct, misplaced or absent A page-wide meta directive cannot be inferred from rendered styling.
- Record cache information and deployment time. Cache headers and publish timestamp Updated today; CDN age 12 hours Possible stale-delivery factors Do not claim which version the crawler stored.
- Request recrawl in the owner's search account. Verified live URL Use URL Inspection A user-completed recrawl request Allow recrawl time and avoid promising an update date.
Try with your AI assistant
Using the user-collected current HTML, headers and deployment time {{DEBUG_INPUT}}, return JSON with controlInRawHtml, syntaxAssessment, cacheFactors, orderedNextChecks and limitations. Do not claim access to Search Console or crawler cache.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
When you need more: No paid TimeToPost plan accesses Search Console or requests recrawls.
Review pricingAI visibility
How can I tell whether search AI features sent traffic instead of ordinary web results?
For Marketers and founders measuring discovery: Explain the documented reporting limit and avoid presenting llms.txt fetches as citations.
Guide only
AI visibility
How can I tell whether search AI features sent traffic instead of ordinary web results?
For Marketers and founders measuring discovery: Explain the documented reporting limit and avoid presenting llms.txt fetches as citations.
Start here: AI traffic interpretation guide
Guide
- Open the Web search performance report in the site owner's account. A user-controlled search performance account Performance filtered to Web Clicks and impressions included in Web reporting Do not assume a separate AI-feature dimension exists.
- Export the relevant date and page range. Page filter and dates /guide from August 1 to August 31 A user-provided aggregate table Label it as combined Web performance.
- Inspect direct referral and server logs separately. Analytics export or access-log excerpt Requests to /llms.txt by user-agent Referral totals and file-fetch counts A file fetch is not evidence of a citation.
- Write the measurement conclusion. Combined search data and logs AI-feature traffic cannot be isolated from this report Known, unknown and proxy signals Do not estimate an unsupported AI traffic share.
Try with your AI assistant
Analyze only the user-provided aggregate export and log counts {{MEASUREMENT_DATA}}. Return JSON with webPerformance, directReferrals, llmsTxtFetches, known, unknown and caveats. Do not claim Search Console access, separate AI-feature attribution or that a fetch equals a citation.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Pro includes analytics, but no provided TimeToPost tool isolates search AI-feature traffic or accesses Search Console.
Review pricingAI agents and MCP
How do I connect my assistant to the TimeToPost MCP server?
For Marketers using an MCP-compatible assistant: Connect the authenticated remote MCP endpoint and verify its available tools.
Available now
AI agents and MCP
How do I connect my assistant to the TimeToPost MCP server?
For Marketers using an MCP-compatible assistant: Connect the authenticated remote MCP endpoint and verify its available tools.
Start here: MCP connection checklist
Guide
- Add https://api.timetopost.co/mcp as a remote MCP server in the client. Input example: the exact HTTPS URL. Output: a saved server entry.
- Complete the browser OAuth flow when prompted. Check: do not paste an API key or access token into chat.
- Call whoami. Output check: an authenticated account and organization context are returned.
- Call get_capabilities. Output check: use only the tool names returned for the authenticated account.
- Run list_free_tools as a read-only test. Check: a structured free-tool catalog is returned without attempting a mutation.
Try with your AI assistant
Connect to https://api.timetopost.co/mcp using the client's browser OAuth flow. Call whoami, then get_capabilities, then list_free_tools. Return JSON only as {account:{label,organization}, capabilities:[string], freeTools:[{name,slug}]}. Do not call any mutation, scheduling, approval, or publishing tool.
Tools: whoami, get_capabilities, list_free_tools
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Paid scheduling and analytics capabilities depend on the authenticated account and the capabilities returned by get_capabilities. Confirm backend plan eligibility before any paid action.
Review pricingAI agents and MCP
What should I check when my MCP client says OAuth discovery failed?
For Users unable to start the TimeToPost MCP login: Separate an incorrect endpoint from a client or OAuth discovery failure.
Guide only
AI agents and MCP
What should I check when my MCP client says OAuth discovery failed?
For Users unable to start the TimeToPost MCP login: Separate an incorrect endpoint from a client or OAuth discovery failure.
Start here: OAuth discovery triage card
Guide
- Confirm the configured endpoint is exactly https://api.timetopost.co/mcp. Check for missing HTTPS, copied punctuation, or an extra path.
- Reconnect and watch for a browser authorization prompt. Output check: a browser flow should open rather than asking for a token in chat.
- If discovery still fails, remove the saved server entry and add the endpoint again to clear stale metadata.
- Confirm the client supports authenticated remote HTTP MCP servers, not only local command-based servers.
- Record the client name, timestamp, endpoint, and exact error text for support. Do not include access tokens or authorization codes.
Try with your AI assistant
Help me diagnose an OAuth discovery failure for the endpoint https://api.timetopost.co/mcp. Input: <client name and exact error text with secrets removed>. Return JSON as {endpointChecks:[string], clientChecks:[string], safeRetrySteps:[string], supportDetails:[string]}. Do not request or expose tokens, authorization codes, passwords, or API keys.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: OAuth troubleshooting applies to the authenticated MCP connection regardless of subscription. A paid plan does not replace the need for a compatible MCP client and successful OAuth authorization.
Review pricingAI agents and MCP
Why did MCP login fail with invalid_grant after I approved it?
For Users whose browser consent completed but token exchange failed: Recover from a failed OAuth authorization-code exchange without sharing credentials.
Guide only
AI agents and MCP
Why did MCP login fail with invalid_grant after I approved it?
For Users whose browser consent completed but token exchange failed: Recover from a failed OAuth authorization-code exchange without sharing credentials.
Start here: Invalid grant recovery guide
Guide
- Start a completely new connection attempt instead of reusing the prior authorization code. Check: old codes are not copied into chat.
- Complete browser consent promptly because authorization codes are short-lived.
- Keep the same client and redirect flow throughout the attempt. A changed redirect URI or client identity can invalidate the exchange.
- If the client opened multiple login tabs, close them and retry with one clean authorization flow.
- If failure continues, report the client name and sanitized error. Output example: invalid_grant after browser consent, with no code, verifier, or token attached.
Try with your AI assistant
Create a safe recovery checklist for this sanitized MCP OAuth error: <exact error without codes or tokens>. Return JSON as {likelyChecks:[string], freshLoginSteps:[string], secretsNeverToShare:[string], escalationSummary:string}. Do not ask for an authorization code, PKCE verifier, access token, refresh token, password, or API key.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
When you need more: This is an authentication recovery task, not a paid feature. After connection succeeds, paid capabilities depend on the account's plan and the result of get_capabilities.
Review pricingAI agents and MCP
I'm logged in, so why is an MCP tool still forbidden?
For Authenticated users receiving a permission error: Distinguish successful authentication from missing capability or organization access.
Available now
AI agents and MCP
I'm logged in, so why is an MCP tool still forbidden?
For Authenticated users receiving a permission error: Distinguish successful authentication from missing capability or organization access.
Start here: MCP permission checklist
Guide
- Call whoami to identify the current account and organization. Check: it is the organization the user intended to access.
- Call get_capabilities before retrying the blocked action. Output: the capabilities currently available to that account.
- Compare the requested tool with the returned capabilities instead of assuming every listed server tool is authorized.
- Treat 401 as missing or invalid authentication and 403 as insufficient permission or scope.
- If the organization is wrong, stop and reconnect with the intended account rather than attempting the write in another workspace.
Try with your AI assistant
Call whoami and then get_capabilities. Input: the blocked tool name <tool_name> and intended organization <organization_name>. Return JSON as {authenticated:boolean, currentOrganization:string, organizationMatches:boolean, requestedTool:string, capabilityVisible:boolean, safeNextAction:string}. Do not call the blocked tool or any mutation.
Tools: whoami, get_capabilities
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: If the required capability is paid, confirm backend plan eligibility and organization authorization. Upgrading does not override organization permissions.
Review pricingAI agents and MCP
How can I see the real MCP tool names instead of asking the model to guess?
For People writing reliable prompts for TimeToPost: Discover authenticated capabilities and use only actual TimeToPost tool names.
Available now
AI agents and MCP
How can I see the real MCP tool names instead of asking the model to guess?
For People writing reliable prompts for TimeToPost: Discover authenticated capabilities and use only actual TimeToPost tool names.
Start here: Verified tool catalog worksheet
Guide
- Call whoami to establish the authenticated account and organization.
- Call get_capabilities and preserve the returned tool or capability names exactly.
- Use list_free_tools for the public-tool subset and list_integrations for available connection types.
- Copy exact names such as seo_audit or list_drafts into prompts. Do not translate them into invented names.
- If a desired name is absent, classify the workflow as manual or guide-only rather than repeatedly calling a guessed tool.
Try with your AI assistant
Call whoami, get_capabilities, list_free_tools, and list_integrations. Return JSON as {organization:string, capabilities:[string], freeTools:[string], integrations:[string]}. Preserve exact returned names. Do not infer, rename, or invent tools and do not call mutations.
Tools: whoami, get_capabilities, list_free_tools, list_integrations
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Paid functionality is account-specific. Use get_capabilities and the backend plan check to determine which scheduling, AI, or analytics actions are available.
Review pricingAI agents and MCP
How do I keep an MCP marketing workflow from loading or calling unnecessary tools?
For Operators using assistants with many connected tools: Select a minimal set of TimeToPost tools for one clearly bounded job.
Available now
AI agents and MCP
How do I keep an MCP marketing workflow from loading or calling unnecessary tools?
For Operators using assistants with many connected tools: Select a minimal set of TimeToPost tools for one clearly bounded job.
Start here: Minimal tool profile worksheet
Guide
- Write one bounded job sentence, such as auditing one page and returning three fixes.
- Call whoami, then get_capabilities, and select only the returned tools directly required for that job.
- Separate read-only work from mutations. Do not include scheduling or publishing tools in a research profile.
- Write the expected output fields and stop conditions before making any task-specific call.
- After the run, verify that the assistant called only the selected tools and did not substitute similarly named tools.
Try with your AI assistant
Call whoami and then get_capabilities for this job: <one concrete marketing job>. Return JSON as {organization:string, job:string, availableCapabilities:[string], minimalTools:[string], excludedMutationTools:[string], suggestedPrompt:string, outputContract:object}. Build the suggested prompt locally from the returned capabilities. Do not execute the suggested workflow or call any mutation.
Tools: whoami, get_capabilities
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Paid capabilities remain account-specific. Confirm them with get_capabilities and the backend plan check while continuing to expose only the smallest relevant tool set.
Review pricingAI agents and MCP
Can my assistant audit one page for basic SEO and GEO issues?
For Content marketers checking a specific public page: Run the existing deterministic page audit and prioritize the top three fixes.
Available now
AI agents and MCP
Can my assistant audit one page for basic SEO and GEO issues?
For Content marketers checking a specific public page: Run the existing deterministic page audit and prioritize the top three fixes.
Start here: SEO and GEO audit
Guide
- Provide one publicly reachable page URL. Input example: https://example.com/article.
- Run the free audit with the full or gated report disabled. Output: deterministic checks and a score from 0 to 100.
- Extract the top three reported issues and preserve the audit's wording rather than claiming a full-site crawl.
- For each issue, map the result to one page edit, such as changing a title or adding a missing description.
- Recheck the page after deployment and compare the same deterministic checks. Check: do not describe this as measured live rankings.
Try with your AI assistant
Use seo_audit on <public_page_url> with the free result only and full=false if supported. Return JSON as {url:string, score:number, checks:[{name,status,evidence}], topFixes:[{issue,action,verification}]}. State that this is a single-page technical audit, not a full crawl or measured ranking report.
Tools: seo_audit
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Use the available single-page audit for its deterministic checks only. It does not crawl a site or provide measured rankings, search volume, or keyword-gap data. Growth may generate configured-topic articles through AutoSEO after backend capability confirmation.
Review pricingAI agents and MCP
Can my assistant give me directional keyword ideas without claiming exact search volume?
For Writers choosing a topic or phrase: Retrieve free directional keyword ideas with estimated bands and redacted exact metrics.
Available now
AI agents and MCP
Can my assistant give me directional keyword ideas without claiming exact search volume?
For Writers choosing a topic or phrase: Retrieve free directional keyword ideas with estimated bands and redacted exact metrics.
Start here: Keyword Snapshot
Guide
- Enter one seed phrase. Input example: remote team content calendar.
- Run the free snapshot with full=false. Output: directional ideas and estimated bands, not measured exact volume.
- Group returned ideas by apparent intent using only the supplied wording and fields.
- Choose one primary phrase and two supporting phrases based on relevance to the intended page.
- Add a note to the brief that exact volume, difficulty, CPC, and trend data were not included in the free result.
Try with your AI assistant
Use keyword_snapshot for the seed phrase <seed_keyword> with the free result and full=false if supported. Return JSON as {seed:string, ideas:[{keyword,estimatedBand,intent}], selected:{primary:string,supporting:[string]}, limitation:string}. The limitation must say the free output is directional and does not provide measured exact search volume.
Tools: keyword_snapshot
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Treat the snapshot as directional only. Do not promise measured live search volume, difficulty, CPC, or trends. Use keyword_research or keyword_add_to_plan only if get_capabilities returns those exact tools and the backend confirms access.
Review pricingAI agents and MCP
Can my assistant check whether one AI model mentions my brand?
For Brand and content teams checking answer-engine visibility: Run one source-labeled AI model probe and report whether the brand appeared.
Available now
AI agents and MCP
Can my assistant check whether one AI model mentions my brand?
For Brand and content teams checking answer-engine visibility: Run one source-labeled AI model probe and report whether the brand appeared.
Start here: GEO Visibility Check
Guide
- Provide the exact brand name and one natural-language prompt. Input example: Which services help with <problem>?
- Run one free model probe. Output: whether the supplied brand appeared in that response.
- Record the model or source label returned by the tool and the exact prompt used.
- Classify the result only as appeared or did not appear for this probe. Do not convert it into a citation rank or market share.
- Repeat later with the same prompt if monitoring manually, and keep each probe separate rather than claiming statistical coverage.
Try with your AI assistant
Use geo_visibility_check with brand <exact_brand_name> and prompt <exact_question>. Return JSON as {brand:string, prompt:string, sourceLabel:string, appeared:boolean, evidence:string, limitation:string}. The limitation must state that this is one model probe, not citation ranking, repeated visibility measurement, or competitor analysis.
Tools: geo_visibility_check
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: The gated report adds multiple prompts, repeated mentions, and competitor comparisons. It should not be represented as part of the free single-probe result.
Review pricingAI agents and MCP
What is a reasonable public best time to post before I have account analytics?
For Marketers without enough account-specific engagement history: Retrieve a source-labeled public timing curve as a starting point.
Available now
AI agents and MCP
What is a reasonable public best time to post before I have account analytics?
For Marketers without enough account-specific engagement history: Retrieve a source-labeled public timing curve as a starting point.
Start here: Best Time to Post calculator
Guide
- Choose the supported platform context and an IANA timezone.
- Run the public timing calculation. Treat the result as a source-labeled aggregate baseline, not account-specific analytics.
- Select two candidate windows from the returned curve. For future dates, convert them with a date-aware IANA timezone converter and verify daylight-saving behavior manually; the current calculator uses a current-date UTC offset and is not reliable for arbitrary future-date conversion.
- Place the verified windows into a manual test plan with comparable post types.
- After several posts, compare actual account engagement and stop treating the public curve as personalized advice.
Try with your AI assistant
Use best_time_teaser for <platform_context> and <timezone>. Return JSON as {sourceLabel:string, timezone:string, candidateWindows:[{day,start,end}], personalization:false, conversionCaveat:string, testPlan:[string]}. State that future dates require date-aware IANA timezone conversion and manual DST verification. Do not claim these times come from the user's account analytics.
Tools: best_time_teaser
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: A downloadable calendar may be available through the gated flow, but future event times must be verified with date-aware IANA timezone conversion because the current calculator uses a current-date offset. Account analytics require the relevant connection, scopes, data, and capability.
Review pricingAI agents and MCP
Can my assistant find posting times from my connected account data?
For Authenticated customers with connected account analytics: Retrieve account-specific optimal times and separate them from public timing benchmarks.
Guide only
AI agents and MCP
Can my assistant find posting times from my connected account data?
For Authenticated customers with connected account analytics: Retrieve account-specific optimal times and separate them from public timing benchmarks.
Start here: Optimal-time review template
Guide
- Call whoami and confirm the intended organization before requesting account analytics.
- Call get_capabilities and verify that get_optimal_times is returned for the account.
- Confirm that the requested account is connected, the required scopes are present, and sufficient analytics data is available. If any condition is missing, stop without promising personalized results.
- If supported, request the account and timezone and preserve the tool's returned provenance and limitations.
- Build a test calendar manually. Do not schedule or publish, and verify future dates with a date-aware IANA timezone conversion.
Try with your AI assistant
Call whoami, then get_capabilities. Confirm the organization equals <organization_name>. Only if get_optimal_times is returned and the requested account is connected with required scopes and data, call it for <account_or_channel> and <timezone>. Return JSON as {organization:string, account:string, timezone:string, windows:[object], provenance:string, prerequisitesMet:boolean, limitations:[string], nextTest:[string]}. Do not promise results when prerequisites are missing, and do not schedule, approve, or publish anything.
Tools: whoami, get_capabilities, get_optimal_times
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Account-specific timing is conditional on the connected account, required scopes, sufficient data, get_capabilities, and backend plan eligibility. Scheduling is a separate user-confirmed action.
Review pricingAI agents and MCP
How can I compare recent engagement with the previous period using my connected data?
For Social teams reviewing account performance: Retrieve engagement summaries for two periods and calculate transparent differences.
Guide only
AI agents and MCP
How can I compare recent engagement with the previous period using my connected data?
For Social teams reviewing account performance: Retrieve engagement summaries for two periods and calculate transparent differences.
Start here: Period comparison worksheet
Guide
- Define two equal date ranges. Input example: the last seven complete days and the preceding seven days.
- Call whoami and get_capabilities, then confirm the intended organization and read access.
- Call get_engagement_summary separately for each period using the same account and dimensions.
- Calculate current minus previous for fields actually returned. Output check: absent metrics remain null rather than being invented.
- Flag possible outliers for human review, but do not claim causation from a summary alone.
Try with your AI assistant
Call whoami, then get_capabilities, and confirm organization <organization_name>. If confirmed, use get_engagement_summary for <account_id>, current range <current_start/current_end>, and previous range <previous_start/previous_end>. Return JSON as {account:string, current:object, previous:object, deltas:object, missingMetrics:[string], possibleOutliers:[object], causalClaims:false}. Do not mutate, schedule, approve, or publish.
Tools: whoami, get_capabilities, get_engagement_summary
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Connected-account comparison is conditional on the account connection, required scopes and metrics, get_capabilities, and backend plan eligibility. Keep the workflow read-only.
Review pricingAI agents and MCP
Which of my posts performed best without relying on generic advice?
For Creators and marketers with connected post analytics: Read actual post metrics and rank posts using a user-selected metric.
Guide only
AI agents and MCP
Which of my posts performed best without relying on generic advice?
For Creators and marketers with connected post analytics: Read actual post metrics and rank posts using a user-selected metric.
Start here: Post-metric analysis template
Guide
- Choose a date range and one primary metric from the metrics the account actually exposes.
- Call whoami and get_capabilities, then confirm the organization before reading post data.
- Use list_posts to identify posts in the range and get_post_metrics for the selected posts.
- Rank only on the selected metric and show raw values. Check: do not combine unlike metrics into an unexplained score.
- Read the top posts with get_post and note repeated topics or formats as hypotheses to test, not proven causes.
Try with your AI assistant
Call whoami, then get_capabilities, and confirm organization <organization_name>. Read posts for <account_id> in <date_range>, retrieve available metrics, and rank by <one_metric>. Return JSON as {metric:string, ranked:[{postId,value,textExcerpt}], unavailableMetrics:[string], repeatedPatterns:[string], caveat:string}. Do not create, edit, schedule, approve, or publish anything.
Tools: whoami, get_capabilities, list_posts, get_post_metrics, get_post
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Connected post analysis is conditional on the account connection, required scopes and returned metrics, get_capabilities, and backend plan eligibility. Analysis does not queue a post.
Review pricingAI agents and MCP
Can my assistant create social drafts without scheduling or publishing them?
For Editors who want assistance writing but retain publication control: Create draft records for a confirmed organization and leave them unapproved and unscheduled.
Guide only
AI agents and MCP
Can my assistant create social drafts without scheduling or publishing them?
For Editors who want assistance writing but retain publication control: Create draft records for a confirmed organization and leave them unapproved and unscheduled.
Start here: Draft-only workflow card
Guide
- Prepare a brief with topic, audience, factual inputs, prohibited claims, and desired length. Input example: a 240-character X post about a published article.
- Call whoami and get_capabilities, then show the organization and ask the user to confirm it before creating anything.
- Use create_drafts only after confirmation. Output: draft IDs and text, with no schedule time or publication action.
- Use list_drafts to verify the new records exist and remain drafts.
- Return the drafts for human editing. Check: do not call approve_draft, schedule_post, publish_post, or publish_thread.
Try with your AI assistant
First call whoami, then get_capabilities. Show the organization and require explicit confirmation that it equals <organization_name>. After confirmation, use create_drafts with brief {topic:<topic>, audience:<audience>, facts:<verified_facts>, prohibitedClaims:<claims>, channel:'X', count:<count>}. Then call list_drafts to verify them. Return JSON as {organization:string, drafts:[{id,text,status}], scheduled:false, approved:false, published:false}. Do not call approve_draft, reject_draft, schedule_post, publish_post, or publish_thread.
Tools: whoami, get_capabilities, create_drafts, list_drafts
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Draft creation requires the returned capability and backend plan eligibility. Keep drafts unapproved, unscheduled, and unpublished until a separate human-confirmed action. Public publishing support is X only.
Review pricingAI agents and MCP
How can I review pending drafts without letting the assistant approve them?
For Editors responsible for reviewing generated content: List draft records and produce a human review sheet without changing statuses.
Available now
AI agents and MCP
How can I review pending drafts without letting the assistant approve them?
For Editors responsible for reviewing generated content: List draft records and produce a human review sheet without changing statuses.
Start here: Draft review rubric
Guide
- Call whoami and confirm the intended organization before reading drafts.
- Call get_capabilities and verify list_drafts is available.
- List the relevant drafts and retrieve individual details with get_post when a record is linked to a post object.
- Score each draft manually for factual support, audience fit, prohibited claims, length, and required edits.
- Return a review recommendation only. Check: no approve_draft, reject_draft, scheduling, or publishing call is made.
Try with your AI assistant
Call whoami, then get_capabilities, and confirm organization <organization_name>. Use list_drafts for <status_or_filter>. Read details only as needed. Return JSON as {drafts:[{id,text,status,checks:{facts,audience,claims,length},recommendedEdits:[string],recommendation:'review'|'revise'}]}. Do not approve, reject, schedule, publish, or otherwise mutate any record.
Tools: whoami, get_capabilities, list_drafts, get_post
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Paid plans can support subsequent X scheduling, but approval and scheduling should remain separate explicit actions after the reviewer edits the draft.
Review pricingAI agents and MCP
Can my assistant turn one source URL into drafts while keeping them unpublished?
For Content teams repurposing an existing article or source: Create draft records from a source and verify processing status without publishing.
Guide only
AI agents and MCP
Can my assistant turn one source URL into drafts while keeping them unpublished?
For Content teams repurposing an existing article or source: Create draft records from a source and verify processing status without publishing.
Start here: Source-to-draft brief
Guide
- Provide one source URL and a brief containing audience, channel, factual constraints, and number of drafts.
- Call whoami and get_capabilities, show the organization, and require explicit confirmation before creating records.
- Use create_posts_from_source after confirmation, with output constrained to drafts.
- Use get_source_status until the source reports a terminal state, then use list_drafts to inspect the resulting drafts.
- Check each draft against the source and return unsupported statements for removal. Do not approve, schedule, or publish.
Try with your AI assistant
Call whoami and get_capabilities. Show the organization and require confirmation that it equals <organization_name>. Then use create_posts_from_source with {sourceUrl:<url>, audience:<audience>, channel:'X', count:<count>, outputMode:'draft'}. Check get_source_status and list_drafts. Return JSON as {source:string, status:string, drafts:[{id,text,sourceSupported:boolean,unsupportedClaims:[string]}], approved:false, scheduled:false, published:false}. Do not approve, schedule, or publish.
Tools: whoami, get_capabilities, create_posts_from_source, get_source_status, list_drafts
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Source-based draft creation requires the exact returned capabilities and backend plan eligibility. Keep outputs as X drafts for human source checking; approval, scheduling, and publishing are separate actions.
Review pricingAI agents and MCP
How do I prepare an X scheduling receipt before anything is queued?
For Teams that want a final check before scheduling an X post: Assemble a read-only receipt containing the intended account, final text, media, and time.
Available now
AI agents and MCP
How do I prepare an X scheduling receipt before anything is queued?
For Teams that want a final check before scheduling an X post: Assemble a read-only receipt containing the intended account, final text, media, and time.
Start here: X scheduling receipt
Guide
- Call whoami and get_capabilities, then confirm the organization and that X scheduling is available.
- Use list_drafts and get_post to read the selected draft without changing it.
- If media is referenced, record the existing media identifiers and expected attachment order without uploading new media.
- Build a receipt with organization, account, final text, media IDs, timezone, and scheduled timestamp.
- Compare the receipt with the original instruction. Stop on an account, audience, channel, text, or date mismatch. Do not call schedule_post.
Try with your AI assistant
Call whoami, then get_capabilities, and confirm organization <organization_name>. Read draft <draft_id> and scheduler_status for the intended X account <account_id>. Return JSON as {organization:string, account:string, network:'X', draftId:string, finalText:string, mediaIds:[string], scheduledAt:<ISO8601>, timezone:string, mismatches:[string], readyForHumanDecision:boolean}. Do not upload, approve, schedule, publish, or mutate anything.
Tools: whoami, get_capabilities, list_drafts, get_post, scheduler_status
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Starter at $12 per month supports up to 30 X posts, and Pro at $49.99 per month includes unlimited scheduling. The actual schedule_post call must remain a separate explicit action after reviewing the receipt.
Review pricingAI agents and MCP
How do I avoid duplicate X posts after a scheduling or publishing error?
For Operators handling an uncertain X scheduling result: Read scheduler and post state before deciding whether any retry is necessary.
Available now
AI agents and MCP
How do I avoid duplicate X posts after a scheduling or publishing error?
For Operators handling an uncertain X scheduling result: Read scheduler and post state before deciding whether any retry is necessary.
Start here: No-duplicate retry checklist
Guide
- Stop automatic retries when a schedule or publish result is uncertain.
- Call whoami and get_capabilities, then confirm the intended organization.
- Use scheduler_status and list_posts to look for the job, matching text, account, and time window.
- If a matching queued or published post exists, record it and do not retry.
- If no match exists, return the evidence and require a fresh human decision. Do not call schedule_post or publish_post in the diagnostic workflow.
Try with your AI assistant
Call whoami, then get_capabilities, and confirm organization <organization_name>. Check scheduler_status and list_posts for account <account_id>, text fingerprint <text_or_hash>, and window <start/end>. Return JSON as {matchingJobs:[object], matchingPosts:[object], state:'queued'|'published'|'failed'|'not_found'|'uncertain', retryRecommended:false, humanDecisionRequired:boolean}. Do not retry, schedule, cancel, approve, or publish.
Tools: whoami, get_capabilities, scheduler_status, list_posts, get_post
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Scheduling is available on paid plans, including up to 30 X posts on Starter and unlimited scheduling on Pro. A retry should be a separate human-confirmed action only after the read-back shows no duplicate.
Review pricingAnalytics and conversion
One post went viral. How do I calculate the engagement rate of a typical post?
For Creators preparing a media kit or responding to a sponsor: Calculate per-post and median engagement rates from user-supplied metrics using one consistent denominator basis.
Available now
Analytics and conversion
One post went viral. How do I calculate the engagement rate of a typical post?
For Creators preparing a media kit or responding to a sponsor: Calculate per-post and median engagement rates from user-supplied metrics using one consistent denominator basis.
Start here: Median engagement calculator
Guide
- Choose one basis for the entire batch: followers, impressions, or reach. The calculator does not retrieve platform data.
- Prepare at least five posts. For each post, enter any available likes, comments, shares, and saves, plus its denominator. Use the same basis for every post.
- Example follower-based input: 420 likes, 35 comments, denominator 12500, basis followers. With omitted metrics treated as zero, the rate is 3.64 percent.
- In the web UI, calculate one post at a time. For up to 100 posts, use the MCP batch tool and review the complete input before approving calculation.
- Read perPost rate for each row, medianRate for the typical post, and aggregateRate for total supplied engagements divided by total supplied denominators.
- Disclose the selected basis and confirm denominator consistency. Do not present a universal good or bad benchmark.
Try with your AI assistant
After I approve the complete user-supplied posts array, call calculate_engagement with {"posts":{{posts_json}}}. Each row must contain denominator and one shared basis of followers, impressions, or reach, with optional likes, comments, shares, and saves. Return the tool's perPost, medianRate, and aggregateRate results, state the basis and metric definition, and note that no platform data was retrieved. Do not post, publish, or add universal benchmarks.
Tools: calculate_engagement
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Pro includes connected-account analytics and post metrics that can support recurring X performance reviews.
Review pricingAnalytics and conversion
What sponsorship quote should I calculate from my followers and my own price per thousand?
For Creators preparing a quote for one sponsored post: Calculate a base quote and an engagement-adjusted quote using only user-supplied pricing assumptions.
Guide only
Analytics and conversion
What sponsorship quote should I calculate from my followers and my own price per thousand?
For Creators preparing a quote for one sponsored post: Calculate a base quote and an engagement-adjusted quote using only user-supplied pricing assumptions.
Start here: Sponsor quote formula sheet
Guide
- Enter followers and your own price per 1,000 followers. Example: 18000 followers and $20 per 1,000.
- Calculate the base as followers divided by 1,000 times the supplied price. The example base is $360.
- Calculate engagement as (likes + comments + shares) divided by followers times 100.
- Define your own editable uplift bands before calculating. Example: 0 to 2 percent adds 0 percent, 2 to 4 adds 10 percent, and above 4 adds 20 percent.
- Multiply the base by 1 plus the selected uplift. Output base, engagement rate, matched band, uplift, and adjusted quote.
- Check that the result labels all bands as user assumptions and does not present them as market rates.
Try with your AI assistant
Calculate a sponsor quote from {{followers}}, {{price_per_thousand}}, {{likes}}, {{comments}}, {{shares}}, and editable bands {{bands_json}}. Return JSON with base_quote, engagement_rate, matched_band, uplift_percent, adjusted_quote, currency, and assumption_notice. Do not invent pricing bands or market benchmarks.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
When you need more: If the backend confirms eligibility, an approved X announcement may be scheduled separately. This worksheet does not establish market pricing or recommend a sponsorship rate.
Review pricingAnalytics and conversion
Which of two creators has the stronger engagement rate using the same formula?
For Small businesses comparing two creator proposals: Compare two user-supplied creator metric summaries with one transparent engagement formula and denominator basis.
Available now
Analytics and conversion
Which of two creators has the stronger engagement rate using the same formula?
For Small businesses comparing two creator proposals: Compare two user-supplied creator metric summaries with one transparent engagement formula and denominator basis.
Start here: Creator comparison calculator
Guide
- Collect a comparable metric summary for each creator. The calculator does not retrieve or scrape creator data.
- For each creator, enter likes, comments, shares, and saves as available, plus a denominator and one shared basis such as followers.
- Submit the two rows together through MCP. The web UI supports only one row per calculation, so its separate results must be compared manually.
- Review each perPost rate. The higher value indicates the stronger rate only under the supplied metrics, denominator basis, and sampling method.
- Use aggregateRate only as the combined engagements divided by combined denominators. It is not an average creator score.
- Report both inputs, both rates, the shared basis, and sample limitations. Do not infer pricing or apply a universal benchmark.
Try with your AI assistant
After I approve the two user-supplied creator rows, call calculate_engagement with {"posts":{{creators_json}}}. Both rows must use the same basis and comparable supplied metrics. Return perPost, medianRate, and aggregateRate, then identify the higher perPost rate by input order. State that the tool did not retrieve profile data. Do not scrape, estimate fees, post, or add benchmarks.
Tools: calculate_engagement
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Pro analytics can be used for connected X account performance analysis, while external creator figures still need to be supplied by the user.
Review pricingAnalytics and conversion
Should I calculate engagement separately for still posts and short videos?
For Creators publishing both still posts and short videos: Calculate median and aggregate engagement separately for user-labeled format groups using a consistent basis.
Available now
Analytics and conversion
Should I calculate engagement separately for still posts and short videos?
For Creators publishing both still posts and short videos: Calculate median and aggregate engagement separately for user-labeled format groups using a consistent basis.
Start here: Format engagement calculator
Guide
- Label each user-supplied post with a format such as still or short-video. The calculator does not retrieve posts or infer formats.
- Choose one denominator basis for all compared groups: followers, impressions, or reach. Enter optional engagement metrics and the applicable denominator for every post.
- Create one batch per format and keep labels consistent. Each MCP call can calculate up to 100 posts; the web UI accepts one post at a time.
- Run calculate_engagement separately for each format group. Do not combine reel and short-video unless you intentionally normalize those labels first.
- Compare medianRate and aggregateRate across groups while reporting each group's row count and shared basis.
- Treat small samples cautiously, disclose missing metrics, and do not use a universal format benchmark.
Try with your AI assistant
After I approve the user-supplied posts grouped by format, call calculate_engagement once per format with each group's posts array. All compared groups must use the same basis and metric definition. Return each format's perPost, medianRate, aggregateRate, and row count. State that formats and metrics were supplied by the user and no platform data was retrieved. Do not post or add benchmarks.
Tools: calculate_engagement
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Pro analytics can support analysis of connected X post metrics, with format labels supplied or maintained by the user.
Review pricingAnalytics and conversion
Which engagement rate should I report when I have followers and impressions?
For Creators and sponsors comparing different engagement formulas: Calculate and label follower-based and impression-based rates from user-supplied metrics without selecting a universal benchmark.
Available now
Analytics and conversion
Which engagement rate should I report when I have followers and impressions?
For Creators and sponsors comparing different engagement formulas: Calculate and label follower-based and impression-based rates from user-supplied metrics without selecting a universal benchmark.
Start here: Engagement definition calculator
Guide
- Supply the engagement metrics yourself because the calculator does not retrieve platform data. Decide whether likes, comments, shares, and saves are available consistently.
- Create one followers batch with each row's follower denominator and basis followers.
- Create a separate impressions batch with the same engagement metrics, each row's impression denominator, and basis impressions. Do not mix bases in one call.
- Use MCP for batches of up to 100 posts. The web UI calculates only one post at a time.
- Compare the returned perPost, medianRate, and aggregateRate values, clearly labeling the numerator metrics and denominator basis for each result.
- Do not choose a preferred formula solely because it is larger, and do not describe any percentage as universally good or bad.
Try with your AI assistant
After I approve both user-supplied arrays, call calculate_engagement separately with {"posts":{{followers_posts_json}}} and {"posts":{{impressions_posts_json}}}. The first array must use basis followers and the second basis impressions, with the same disclosed engagement metrics where possible. Return and label each call's perPost, medianRate, and aggregateRate. State that no platform data was retrieved. Do not post, select a universal formula, or add benchmarks.
Tools: calculate_engagement
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Pro analytics and get_post_metrics can support a consistent connected-X reporting workflow when the account exposes the required fields.
Review pricingAnalytics and conversion
How do I create tagged links for the same campaign across several sites?
For Small businesses and indie launches sharing one offer across channels: Create one campaign URL per user-supplied source while keeping campaign and medium consistent.
Available now
Analytics and conversion
How do I create tagged links for the same campaign across several sites?
For Small businesses and indie launches sharing one offer across channels: Create one campaign URL per user-supplied source while keeping campaign and medium consistent.
Start here: Batch campaign URL builder
Guide
- Prepare up to 20 records. For each record, enter an HTTP or HTTPS landing URL, source, medium, and campaign, with optional term and content.
- Repeat the approved medium and campaign across records while changing source as needed, such as x, newsletter, or community.
- Review exact spelling and capitalization before building. The tool does not automatically require lowercase values.
- Run the batch. The builder preserves existing non-conflicting query parameters and URL fragments, performs no network fetch, and refuses URLs containing credentials or using non-HTTP protocols.
- Copy the returned tagged URLs and verify that each record contains the intended campaign values.
- Destination availability is not checked locally, so test the final links separately before distribution.
Try with your AI assistant
After I approve the complete records array, call build_campaign_urls with {"records":{{records_json}}}. Each of up to 20 records must contain url, source, medium, and campaign, with optional term and content. Return the generated URLs and any validation refusal. Preserve user-approved capitalization. Explain that existing query parameters and fragments are preserved, no destination was fetched, and nothing was posted or scheduled.
Tools: build_campaign_urls
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: After confirming the organization and draft, Starter can schedule an approved X post containing the X-specific tagged URL.
Review pricingAnalytics and conversion
Can I check campaign links for inconsistent source names and capitalization?
For Founders and freelancers tagging links manually: Lint pasted campaign URLs for missing fields, mixed case, spaces, and user-defined naming inconsistencies.
Guide only
Analytics and conversion
Can I check campaign links for inconsistent source names and capitalization?
For Founders and freelancers tagging links manually: Lint pasted campaign URLs for missing fields, mixed case, spaces, and user-defined naming inconsistencies.
Start here: UTM lint checklist
Guide
- Paste the URLs and define your allowed source and medium values, such as x and organic_social.
- Parse every URL and check for utm_source, utm_medium, and utm_campaign.
- Flag uppercase characters and unencoded spaces because values are case-sensitive and spaces require encoding.
- Compare values against your allowed list and flag near-duplicates, such as two names you use for the same source.
- Output each issue with its URL, issue code, current value, and proposed corrected URL.
- Review every proposed replacement so the destination path and non-UTM query parameters remain unchanged.
Try with your AI assistant
Lint URLs {{urls_json}} against allowed_sources {{allowed_sources_json}} and allowed_mediums {{allowed_mediums_json}}. Return JSON issues with url, code, parameter, current_value, suggested_value, and corrected_url. Preserve destination paths and non-UTM parameters. Do not publish.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: For an X draft, an authenticated MCP workflow can call whoami, get_capabilities, confirm the organization, create a draft, and leave it unapproved for review.
Review pricingAnalytics and conversion
Which campaign parameters are missing from my tagged link?
For People creating their first campaign link: Check which documented campaign parameters are present and identify missing core tags.
Guide only
Analytics and conversion
Which campaign parameters are missing from my tagged link?
For People creating their first campaign link: Check which documented campaign parameters are present and identify missing core tags.
Start here: Required UTM checker
Guide
- Paste the final URL you intend to use, including its query string.
- Parse and list utm_source, utm_medium, utm_campaign, utm_id, and utm_source_platform as present or missing.
- Treat source, medium, and campaign as the core set for this checklist and explain that partial tagging can contribute to not-set reporting.
- Create an example URL with placeholders only for missing core values, such as YOUR_MEDIUM.
- Output the present list, missing list, placeholder URL, and a note that parameter order does not matter.
- Replace every placeholder and test the final link before publishing.
Try with your AI assistant
Inspect URL {{url}} for utm_source, utm_medium, utm_campaign, utm_id, and utm_source_platform. Return JSON with present, missing, missing_core, and placeholder_url. Preserve existing parameters and do not invent campaign values.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: An authenticated X drafting workflow can validate the link before creating a draft, after whoami, get_capabilities, and organization confirmation.
Review pricingAnalytics and conversion
Should separate social posts share one campaign and use content tags for each post?
For Operators whose acquisition report has become one campaign row per post: Keep one promotion campaign while differentiating individual posts with content parameters.
Available now
Analytics and conversion
Should separate social posts share one campaign and use content tags for each post?
For Operators whose acquisition report has become one campaign row per post: Keep one promotion campaign while differentiating individual posts with content parameters.
Start here: Post content campaign URL builder
Guide
- Enter up to 20 HTTP or HTTPS destination records with the same approved source, medium, and campaign.
- Assign each planned post a unique content value, such as launch-hook-a or launch-hook-b.
- Review the records for duplicate content values before calculation. The builder creates URLs but does not decide whether identifiers are semantically unique.
- Run the builder. It preserves existing query parameters and fragments, refuses credential-bearing or non-HTTP URLs, and performs no fetch.
- Output a mapping of your post IDs to the returned URLs. Keep the post ID separately if it differs from the content value.
- Review every URL before use. The tool does not publish, schedule, or verify the destination.
Try with your AI assistant
After I approve the complete post records, call build_campaign_urls with {"records":{{records_json}}}. Each record must contain the approved url, source, medium, shared campaign, and unique content value. Return the generated URLs in input order and separately report any duplicate content values found in the approved input. State that no destination was fetched and nothing was posted or scheduled.
Tools: build_campaign_urls
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: After whoami, get_capabilities, and organization confirmation, create_drafts can save X copy with planned tagged URLs as drafts only.
Review pricingAnalytics and conversion
Which campaign parameters disappeared after my link redirected?
For People checking links opened through shorteners or in-app browsers: Compare a planned URL with the final address copied after a real click.
Guide only
Analytics and conversion
Which campaign parameters disappeared after my link redirected?
For People checking links opened through shorteners or in-app browsers: Compare a planned URL with the final address copied after a real click.
Start here: UTM redirect diff sheet
Guide
- Copy the exact planned URL from the post or message before clicking it.
- Open the link in the target environment, wait for redirects to finish, and copy the final address-bar URL.
- Parse UTM parameters from both URLs and classify each as kept, lost, added, or changed.
- Example: planned utm_source=x and landed with no utm_source should be reported as lost, not blank success.
- Output kept names, lost names, changed values, and a corrected planned URL for another test.
- Repeat the click after correction because this comparison cannot guarantee that a platform or redirector will preserve tags.
Try with your AI assistant
Compare planned URL {{planned_url}} with landed URL {{landed_url}}. Return JSON with kept, lost, added, changed entries containing name, planned_value, and landed_value, plus corrected_planned_url. Do not claim that any platform preserves parameters.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: For connected X content, get_post can retrieve the saved post record for review, while redirect testing still requires the user's final clicked URL.
Review pricingAnalytics and conversion
How do I distinguish two links in the same message when both go to one page?
For Newsletter writers and social publishers using repeated destinations: Create two URLs that share a destination and campaign values but use different content identifiers.
Available now
Analytics and conversion
How do I distinguish two links in the same message when both go to one page?
For Newsletter writers and social publishers using repeated destinations: Create two URLs that share a destination and campaign values but use different content identifiers.
Start here: Two-link campaign URL builder
Guide
- Enter the same HTTP or HTTPS destination twice with the same source, medium, and campaign.
- Choose two distinct content labels that identify placement or creative, such as top-button and footer-text.
- Review the exact labels before calculation. If your naming rules normalize case or punctuation, confirm they remain distinct after that manual normalization.
- Submit the two records. The builder preserves other query parameters and fragments, refuses credential-bearing or non-HTTP URLs, and performs no fetch.
- Compare the returned URLs and confirm that the intended difference is the content value.
- Place each reviewed URL in the correct message location and test the rendered message separately. The tool does not publish or verify destinations.
Try with your AI assistant
After I approve the two records and confirm their content labels are distinct under my naming rules, call build_campaign_urls with {"records":{{records_json}}}. Both records must share the approved url, source, medium, and campaign while using different content values. Return both generated URLs and any validation refusal. State that no destination was fetched and nothing was posted.
Tools: build_campaign_urls
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: If the backend confirms eligibility, an approved X post may be scheduled with the reviewed tagged links. Confirm that the final X composition is appropriate before scheduling.
Review pricingAnalytics and conversion
How should I order a crowded profile link page around one main goal?
For Creators and local businesses with crowded profile link lists: Choose one primary destination and organize remaining links as secondary or overflow.
Guide only
Analytics and conversion
How should I order a crowded profile link page around one main goal?
For Creators and local businesses with crowded profile link lists: Choose one primary destination and organize remaining links as secondary or overflow.
Start here: Profile link priority sheet
Guide
- State one current goal using a verb, such as buy, book, join, or read.
- List every link with its label, URL, and how directly it supports that goal.
- Select the single link with the shortest path to the stated goal as primary.
- Choose no more than three secondary links and move all remaining links into overflow.
- Write one profile sentence naming the primary action, for example Book a 20-minute consultation.
- Output primary, secondary, overflow, and the profile sentence, then check that similarly important styling is not assigned to every link.
Try with your AI assistant
Given goal {{goal}} and links {{links_json}}, organize them into one primary, up to three secondary, and overflow. Return JSON with primary, secondary, overflow, rationale_per_link, and a profile_sentence under 160 characters. Do not claim to host or edit a profile page.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: If the backend confirms eligibility, an approved X post may point to the selected primary URL. TimeToPost does not host or edit the external profile page.
Review pricingAnalytics and conversion
How can I compare a product pin with an email signup pin fairly?
For Sellers rotating the top destination on an existing profile page: Compare two periods using the same profile-click, pin-click, order, and signup fields.
Guide only
Analytics and conversion
How can I compare a product pin with an email signup pin fairly?
For Sellers rotating the top destination on an existing profile page: Compare two periods using the same profile-click, pin-click, order, and signup fields.
Start here: Profile pin experiment sheet
Guide
- Choose two non-overlapping periods and record their start date, end date, and pin type.
- For each period, enter profile clicks, pin clicks, orders, and signups from your own records.
- Calculate pin click share as pin clicks divided by profile clicks.
- Calculate orders per profile click and signups per profile click separately.
- Set a minimum profile-click threshold before reviewing results. If either period is below it, label the comparison insufficient.
- Output both period rows and metric differences without declaring that product or signup pins win generally.
Try with your AI assistant
Compare periods {{periods_json}} using minimum profile clicks {{min_clicks}}. Return JSON rows with pin_click_share, orders_per_profile_click, signups_per_profile_click, sufficient_sample, and differences. Do not generalize beyond the supplied periods.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Tagged X posts can be scheduled on Starter to support a controlled traffic period, but TimeToPost does not rotate external profile links.
Review pricingAnalytics and conversion
How do I compare a profile-link call to action with a comment-keyword call to action?
For Creators testing two response paths with their own posts: Calculate profile-click and keyword-comment response rates from user-supplied counts.
Guide only
Analytics and conversion
How do I compare a profile-link call to action with a comment-keyword call to action?
For Creators testing two response paths with their own posts: Calculate profile-click and keyword-comment response rates from user-supplied counts.
Start here: CTA path comparison sheet
Guide
- List each tested post with impressions, profile clicks, keyword comments, messages sent, landing arrivals, and optional sales.
- Calculate profile clicks per 100 impressions and keyword comments per 100 impressions.
- Calculate landing arrivals per 100 impressions as a separate downstream measure.
- Only calculate sales rates when sales were entered; otherwise leave them blank.
- Output aggregate rates, per-post rates, and the number of posts in each path.
- Check that results use your own counts and do not reuse conversion percentages reported by other accounts.
Try with your AI assistant
Analyze CTA test rows {{posts_json}}. Return JSON with profile_clicks_per_100, keyword_comments_per_100, landing_arrivals_per_100, optional sales_per_100, per_post rows, and post_count. Leave unavailable rates null and add no external benchmarks.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: TimeToPost has create_dm_funnel and related authenticated workflow tools; any mutation must begin with whoami, get_capabilities, organization confirmation, and creation as a draft only without activation or sending.
Review pricingAnalytics and conversion
What should I change my profile link to while one post is getting attention?
For Sellers with one outbound profile URL and a currently active post: Prepare a temporary tagged destination, short profile text, and manual revert date.
Guide only
Analytics and conversion
What should I change my profile link to while one post is getting attention?
For Sellers with one outbound profile URL and a currently active post: Prepare a temporary tagged destination, short profile text, and manual revert date.
Start here: Spike link swap checklist
Guide
- Enter the usual URL, spike-specific URL, traffic source, post ID, and number of days for the temporary change.
- Keep utm_campaign tied to the offer and set utm_content to the post ID followed by -spike.
- Generate the tagged spike URL without altering required non-UTM query parameters.
- Write profile text under 160 characters that names the immediate destination and action.
- Calculate the revert date from the start date and selected duration.
- Output the tagged URL, profile text, revert date, and manual restore checklist; do not claim the profile can be edited automatically.
Try with your AI assistant
Prepare a temporary profile-link plan using usual_url {{usual_url}}, spike_url {{spike_url}}, source {{source}}, campaign {{campaign}}, post_id {{post_id}}, start_date {{start_date}}, and days {{days}}. Return JSON with tagged_url, profile_text under 160 characters, revert_on, and restore_steps. Do not edit any profile.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Starter can schedule an approved X follow-up using the spike-specific tagged URL; editing profiles on other networks is not an available publishing capability.
Review pricingAnalytics and conversion
Can you turn my article into an X thread, caption, pull quote, and email teaser?
For Founders and creators repurposing an existing long-form article: Create distinct derivative drafts and count characters for every X post.
Guide only
Analytics and conversion
Can you turn my article into an X thread, caption, pull quote, and email teaser?
For Founders and creators repurposing an existing long-form article: Create distinct derivative drafts and count characters for every X post.
Start here: Article derivative prompt
Guide
- Paste the article text or provide a source URL, then specify the desired X thread length.
- Extract the central claim, three supporting points, one quotable sentence, and one email takeaway before drafting locally.
- Write the X thread so each post advances the argument, then draft a separate caption, pull quote, and email teaser.
- Use the basic character counter only as a Unicode code-point count. It is not X-weighted, URLs are not fixed at 23 characters, and emoji grapheme clusters may count differently.
- Paste every X post into the official X composer for final validation. Keep longer text clearly labeled rather than silently cutting it, and remove claims unsupported by the source.
Try with your AI assistant
Using source text or URL {{source}}, draft locally an X thread of {{x_post_count}} posts plus a caption, pull_quote, and email_teaser. Return JSON with x items containing text and basic_codepoint_count, plus caption, pull_quote, email_teaser, source_claim_checks, and validation_notice. The validation_notice must say the count is not X-weighted, URL weighting is not implemented, emoji graphemes can differ from code points, and every post must be checked in the official X composer. Do not create records, approve, schedule, publish, or send.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
- https://www.reddit.com/r/n8n/comments/1rx58p0/i_built_a_workflow_that_turns_any_blog_post_into/
- https://www.reddit.com/r/SaaS/comments/1s8jzsf/how_we_automated_content_repurposing_1_blog_post/
- https://www.reddit.com/r/indiehackers/comments/1n4x3xj/how_are_you_all_turning_longform_blogs_into_short/
- https://docs.x.com/x-api/posts/post-lookup-by-post-id
When you need more: After human review, eligible X drafts may be created or scheduled only through capabilities returned by get_capabilities and a successful backend plan check. TimeToPost does not import arbitrary pasted article text through AutoSEO; AutoSEO generates configured-topic articles from site configuration.
Review pricingAnalytics and conversion
Which past posts are worth rewriting, and which spike was a one-off?
For Creators choosing which past posts to repurpose: Rank user-supplied posts by link-click rate and separately flag engagement outliers.
Guide only
Analytics and conversion
Which past posts are worth rewriting, and which spike was a one-off?
For Creators choosing which past posts to repurpose: Rank user-supplied posts by link-click rate and separately flag engagement outliers.
Start here: Repurpose ranking worksheet
Guide
- Prepare rows with post ID, impressions, likes, replies, reposts, and link clicks.
- Set a minimum impression threshold before ranking, such as 500 impressions.
- Calculate click rate as link clicks divided by impressions and engagement rate as likes plus replies plus reposts divided by impressions.
- Calculate the median engagement rate across eligible rows and flag posts above twice that median as outliers.
- Rank eligible posts by click rate, but label rows with no recorded click data as unranked rather than zero-performing.
- Output ranked rows, outlier flags, threshold, formulas, and excluded IDs, then review outliers separately from repeatable click performers.
Try with your AI assistant
First call whoami, then get_capabilities, and confirm the organization before reading connected X data. For post IDs {{post_ids}} and minimum impressions {{min_impressions}}, use only fields actually returned by get_post_metrics and get_engagement_summary. Return JSON with available_fields, ranked rows containing post_id, click_rate if available, engagement_rate, outlier, excluded_reason, plus formulas and median_engagement. Do not invent missing click metrics and do not create, schedule, approve, or publish anything.
Tools: whoami, get_capabilities, get_post_metrics, get_engagement_summary
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Connected X performance review is conditional on account connection, scopes, returned metrics, get_capabilities, and backend plan eligibility. Any rewrite should be created later as a separate reviewed draft.
Review pricingAnalytics and conversion
What are my CPM, CPC, CPA, and CTR from spend, impressions, clicks, and conversions?
For Small businesses calculating basic promotion economics: Calculate four standard rates from user-supplied campaign totals.
Guide only
Analytics and conversion
What are my CPM, CPC, CPA, and CTR from spend, impressions, clicks, and conversions?
For Small businesses calculating basic promotion economics: Calculate four standard rates from user-supplied campaign totals.
Start here: Campaign cost formula card
Guide
- Enter spend, currency, impressions, clicks, and conversions. Example: $500, 100000 impressions, 2000 clicks, and 50 conversions.
- Calculate CPM as spend divided by impressions times 1,000. The example CPM is $5.
- Calculate CPC as spend divided by clicks and CPA as spend divided by conversions. The example values are $0.25 and $10.
- Calculate CTR as clicks divided by impressions times 100. The example CTR is 2 percent.
- Return null with a denominator-zero explanation whenever impressions, clicks, or conversions are zero.
- Output the four values and formulas without adding industry benchmarks or performance labels.
Try with your AI assistant
Using spend {{spend}}, currency {{currency}}, impressions {{impressions}}, clicks {{clicks}}, and conversions {{conversions}}, return JSON with cpm, cpc, cpa, ctr_percent, formulas, and null_reasons. Use null for zero denominators. Do not add benchmarks.
Ask the agent to call get_capabilities before any mutation and keep human review where the workflow requires it.
Further reading
When you need more: Connected X performance may be reviewed alongside these manually calculated rates only when the account, scopes, returned metrics, capabilities, and backend plan eligibility support it.
Review pricing