- Brand
- Unknown
- Category
- Pending
- Primary Subcategory
- Pending
Integration details
Description
Pressmaster is a content marketing platform for founders, teams and agencies. This plugin lets you manage your content library, draft and publish posts, articles and newsletters, and review content performance and leads. Content library: browse the board (Queue, Draft, Review, Scheduled, Published), read and edit article, post, newsletter and video-script bodies, create drafts in your brand voice, attach channels and media, move items between stages, and schedule or publish when you decide. Performance: growth and content scores against the Pressmaster benchmark, channel performance, follower trends, top posts, content breakdowns, format mix and posting cadence, plus the brand narrative that reads your positioning from what you have published. Leads: how many people engaged with your LinkedIn posts, how many match your ideal customer profile, pipeline value and breakdowns by industry, seniority, company size and region. Contact details stay in the Pressmaster web app. Ideas, interviews and your Digital Twin round it out: save ideas, start a content interview, and ask your Twin questions in your own voice. Creating drafts never publishes them; publishing and scheduling are separate, explicit actions. The plugin never sells plans or credits.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Category
- Pending
- Primary Subcategory
- Pending
- Secondary Subcategories
- None listed
- Brand
- Unknown
- Access
- Account required
- First tracked
- 2026-10-15
- Tool count
- 66
- Geography
- US
The broad Category that contains the Primary Subcategory.
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Your score is coming
ChatGPT now suggests Plugins on its own when they match a user's request.Your Plugin Discovery Score measures how often yours appears, and it will show here as soon as it’s ready.
What discovery looks like

Get alerts for Pressmaster
Get updates when Pressmaster’s Discoverability Score or category rank changes.
Competitive lineup
66 tools agents can invoke
Add bounded text to the Twin graph. It costs no credits. The operation is additive, non-cancellable after provider start, may complete after the response deadline, and may truthfully finish partial. Same-id calls never start replacement work while the journal is retained. No correction, delete, or purge effect is available.
twin_ingest_text
Append one exact attachable Images Gallery static image or MP4/MOV video to one exact visible, current channel resource on a workspace-owned NEW social post. Source authority is always the galleryId/fileId pair: bare FileEntity ids, URLs, uploads, generated media, and other content media are not accepted. The source stays in the gallery; Pressmaster validates bounded stored bytes, makes a physical storage copy preserving MIME, and links only the copy. Existing media and filesOrder are preserved. Static images and video may use the first publish-effective empty explicit X/Threads/Bluesky thread media slot; the copied URL is stored in that thread’s images array while publishers recover image/video type from the matching FileEntity MIME. Attachment fails when every effective thread slot is occupied. Twitter long posts and resources without explicit thread parts use ordinary resource media. Video codec, duration, transcoding, thumbnails, and provider acceptance are not evaluated. Repeated and concurrent calls converge to already_attached, recover a validated detached deterministic copy, and repair a missing filesOrder entry. It never calls a provider, generates media, spends credits, schedules, publishes, queues, sends, or changes post copy/revision.
content_library_attach_post_media
Add only connected, visible, credentialed platform channels to an existing workspace-owned NEW social post. It never removes or replaces channels, creates integration stubs, schedules, publishes, queues, emails, or calls a provider. Ineligible channels are a successful structured result in channelsSkipped; video-first platforms (youtube, tiktok) attach like any other channel and are refused at schedule or publish time until a video is attached to their resource. Repeated and concurrent calls converge: channels committed by an earlier call are returned in channelsAlreadyAttached. X, Threads, and Bluesky attachments use the normalized current body as one source thread when original <thread> markers were lost; call content_library_update_post_body afterward to apply tailored thread markers.
content_library_attach_post_channels
Browse a bounded page of workspace content metadata, optionally filtered by stage or status. Article bodies are excluded.
content_library_list_items
Confirm a completed presigned video upload and create one durable workspace-owned Images Gallery asset from it. A multipart mint is confirmed with its uploadId and the ETag of every part (the parts are assembled first). Pressmaster reads only the stored object's metadata and its ISO BMFF box headers through bounded ranged reads to require an MP4/QuickTime container with a video track; the payload never transits the API. Codec, duration, transcoding, thumbnails, and provider acceptance are not evaluated: a platform that rejects the file reports it at publish time with the provider's own reason. A malformed object is deleted so the same requestId can be re-uploaded (re-mint the URL, it expires after 60 minutes) and confirmed again; a missing object returns an actionable error. Same-id retries replay the durable asset as already_imported. It accepts no post, channel, URL, bytes, or base64, and never attaches, schedules, or publishes.
content_library_confirm_video_upload
Open the Pressmaster content tray beside this conversation: a compact view of the content library for picking, reviewing, moving, scheduling and publishing items while chatting. Optional query or stageId focus the first view.
pressmaster_tray
Create one configured DIY Company Voice under the workspace plan cap. It performs no scraping, model call, interview, email, or channel-default mutation.
brand_create_voice
Create or replay one complete local ARTICLE draft: exactly one Content Library row plus one linked article with title, body, and optional SEO fields. It creates no social post, newsletter, video script, destination, schedule, publication, email, or external synchronization; those content types have their own create tools. requestId is mandatory and durably bound to the OAuth registration, workspace, and normalized payload; same-payload retries return the original draft while changed payloads conflict.
content_library_create_draft
Create or replay one complete local NEWSLETTER draft: one Content Library row plus one newsletter with title and body, stored in the same form the Pressmaster editor writes. Pressmaster has no external newsletter delivery pipeline, so this creates nothing to send: no destination, schedule, publication, or email is created and none can be. requestId is durably bound to the OAuth registration, workspace, and normalized payload.
content_library_create_newsletter
Create or replay one complete local SOCIAL POST draft: one Content Library row, one post, and one channel resource per connected, visible, credentialed platform. Omit channels to attach every such platform. Video-first platforms (youtube, tiktok) attach like any other connected channel; scheduling or publishing them is refused until a video is attached to their resource with content_library_attach_post_media (upload one with content_library_create_video_upload), and YouTube also needs its visibility set with content_library_set_channel_options and a 3-100 character title. It sends, schedules, queues, and emails nothing — publishing requires content_library_publish_post_now or content_library_schedule_post. Attaching zero channels is not an error: the post is still captured and channelsSkipped explains each platform that could not be attached. After the user connects a skipped platform, call content_library_attach_post_channels with this postId before scheduling or publishing. requestId is durably bound to the OAuth registration, workspace, and normalized payload; same-payload retries return the original draft while changed payloads conflict.
content_library_create_post
Create or replay one complete local VIDEO SCRIPT draft: one Content Library row plus one video script with title and body. This content type has no external delivery pipeline, so this creates nothing to send: no destination, schedule, publication, or email is created and none can be. That statement is scoped to VIDEO SCRIPTS only: a video FILE is uploaded with content_library_create_video_upload and content_library_confirm_video_upload, then attached to a social post with content_library_attach_post_media and published from there. requestId is durably bound to the OAuth registration, workspace, and normalized payload.
content_library_create_video_script
Mint a short-lived presigned PUT URL for uploading one MP4 or MOV video straight to Pressmaster storage — or, with multipartParts, a resumable multipart upload whose parts are PUT and retried independently (use it for files over roughly 500 MiB; collect the ETag each part PUT returns for confirm). The bytes never pass through the Pressmaster API, so files up to 5 GiB are accepted. The caller PUTs the raw file to uploadUrl with exactly the returned headers (the Content-Type the ticket names) before expiresAt, then calls content_library_confirm_video_upload with the same requestId, fileName, and mimetype to validate the object and create the gallery asset. Nothing is stored until confirm succeeds; a re-mint with the same requestId re-signs the same destination, and a requestId whose upload was already confirmed replays the durable asset as already_imported instead of minting a new URL. This is the preferred video path; content_library_import_media_from_url and content_library_import_media_from_file exist for clients that cannot issue an HTTP PUT and carry a 150 MiB cap. It accepts no post, channel, URL, bytes, or base64, and never attaches, schedules, or publishes.
content_library_create_video_upload
Create or replay one metadata-only Queue shell. It creates no article, post, newsletter, email, schedule, or publication. To create actual content use content_library_create_draft (article), content_library_create_post, content_library_create_newsletter, or content_library_create_video_script. The same requestId and same fields return the original row; changed fields conflict.
content_library_create
Import one ChatGPT-provided host file through OpenAI’s documented file parameter; this is the video path for clients that cannot issue an HTTP PUT, otherwise prefer content_library_create_video_upload. Pressmaster fetches only file.download_url through the same SSRF-safe, redirect-revalidated HTTPS downloader as URL import and accepts fully decoded static JPEG/PNG/WebP up to 15 MiB or structurally validated MP4/MOV up to 150 MiB. HTTP Content-Type and file.mime_type are checked when they assert one of those supported types; generic or unknown values are ignored and actual bytes decide the type. Video validation checks the ISO BMFF container and requires a video track; it does not inspect codec or duration, transcode, create thumbnails, or guarantee provider acceptance. file.file_id is used only through a one-way identity hash; the temporary download URL is excluded from replay identity so a refreshed URL can retry failed work. It accepts no post, attachment, provider, channel, delivery, generation, scheduling, publishing, headers, cookies, base64, filesystem path, or inline bytes, and it never attaches or delivers the media.
content_library_import_media_from_file
Fallback for clients that cannot issue an HTTP PUT; for video prefer content_library_create_video_upload, which skips the 150 MiB cap below. Fetch one user-supplied public or signed HTTPS URL through Pressmaster’s SSRF-safe, redirect-revalidated downloader and save one durable workspace-owned Images Gallery asset. Accepted bytes are fully decoded static JPEG/PNG/WebP up to 15 MiB or structurally validated MP4/MOV with a video track up to 150 MiB. A supported HTTP Content-Type must match actual bytes; generic or unknown response types are ignored. Video validation checks the ISO BMFF container and video handler only; it does not inspect codec or duration, transcode, create thumbnails, or guarantee provider acceptance. It returns only Pressmaster gallery/file ids and a Pressmaster CDN URL. It accepts no post, resource, channel, provider, delivery, generation, scheduling, publishing, file object, base64, cookies, authorization, or custom headers, and it never attaches or delivers the media.
content_library_import_media_from_url
List a bounded page of sanitized tone and avoid-rule presets for the granted workspace. Raw interview transcripts and templates are excluded.
brand_list_voices
List a bounded page of visible workspace stages that this connection may safely target: QUEUE, NEW, REVIEW, and custom non-publishing stages. SCHEDULED, PUBLISHED, hidden, and Interview-only stages are excluded. Read-only: a board the workspace has never opened in Pressmaster answers an empty list rather than being initialized. Counts reflect unfiltered current board placement.
content_library_list_stages
Browse a bounded, flattened inventory of static JPEG/PNG/WebP images and MP4/MOV videos from the current workspace Images Gallery plus globally shared gallery rows. Optional category filters only the two normal gallery categories. For images and video alike, attachable is a cheap listing preflight only (matching stored MIME, a present S3 object within the size bound — 15 MiB images, 5 GiB video — and, for video, matching trusted import metadata when present). content_library_attach_post_media always fully re-validates before copying (bounded image decode; MP4/MOV container through bounded ranged reads), so attach can still reject a changed or malformed preflight-passing object. Video codec, duration, transcoding, thumbnails, and provider acceptance are not evaluated. Results expose public preview metadata only and never return storage keys, credentials, user ids, signed URLs, or unattached FileEntity rows.
content_library_list_media
App-only; never call from the conversation. One page of the web Leads table for the granted workspace: professional profile facts (name, headline, profile link, role, company, industry, seniority, location), engagement counts, pipeline stage and ICP score. Filters mirror the web table (search over name and company, stage, ICP band, seniority, country, optional engagement date range) with the same sort orders; page is 1-based and take is at most 25. Rows never carry contact details, notes or the engagement timeline. A workspace that never opened Leads answers an empty page without being initialised.
leads_list
List every platform Pressmaster can publish to and, per visible workspace profile, the channels a social post can be attached to right now (connected, visible, credentialed) with the account each posts as, plus platforms whose connection exists but cannot be used here (hidden or missing credentials). The platforms enum is the app's full channel list, not a promise every value is connected. youtube and tiktok attach like any other connected channel and publish only once a video is attached to their resource. Use the profile id as profileId and the provider names as channels when creating a post or attaching channels. A platform absent from both lists is not connected on that profile. The first call may idempotently initialize the workspace default profile.
content_library_list_channels
List a bounded page of source documents already ingested into the granted workspace’s Twin. This read-only projection excludes source entity ids, graph internals, document contents, and training/chat operations.
twin_list_documents
Load bounded full content for up to 20 exact Saved Idea ids. Returns stable input order and explicit notFound ids; children, files, authors, and relations are excluded.
ideas_load
Move one workspace-owned Content Library row only between editable lifecycle states. The source must currently be QUEUE, NEW, or REVIEW; SCHEDULED, PUBLISHED, COMPLETED, CANCELED, and Interview-only content are rejected. The target must be QUEUE, NEW, REVIEW, or a visible custom non-publishing stage returned by content_library_list_stages; SCHEDULED, PUBLISHED, hidden, and Interview-only targets are rejected. This never publishes, schedules, unschedules, or regresses terminal content; a SCHEDULED social post is released with content_library_unschedule_post instead. Re-read the row before retrying an ambiguous result because a later concurrent move must not be overwritten.
content_library_move_to_stage
Mint a one-time link that opens Pressmaster signed in as the connected user: a Content Library item in the editor (contentId) or an app page (destination). App-only; never call from the conversation.
pressmaster_open_in_app
Open the Pressmaster content library as an app. The user can browse content by stage, read post, article, newsletter and video-script drafts, move items between editable stages, schedule or publish social posts on attached channels, and hand an item to the conversation. Use it when the user wants to see or work through their Pressmaster content visually; optional query or stageId focus the first view.
pressmaster_studio
Publish only a currently SCHEDULED Content Series with exactly one ARTICLE child. The caller must echo the exact scheduled NEWSROOM/EXTERNAL_SITE destinations and pass earlyPublishIntent="publish_scheduled_content_now_and_replace_schedule"; this explicit intent replaces the future schedule but is not a Pressmaster confirmation token. OAuth consent, the current grant, and live Pressmaster permissions are the authorization boundary. Social, newsletter, video, mixed-child, magazine, unscheduled, destination-drifted, and stale-revision requests are rejected under an item lock before enqueue; social posts use content_library_schedule_post and content_library_publish_post_now instead. External-site enqueue uses a deterministic job id and results are reported per destination as published, publishing, failed, or indeterminate. Redis loss, provider ambiguity, or cross-store failure leaves an accepted bounded duplicate/indeterminate risk; never auto-retry, never mint a replacement requestId, and never claim live unless the returned destination outcome says published.
content_library_publish_now
Send a workspace-owned social post to the named connected platforms now. The id argument must be the exact contentSeriesId returned by content_library_get_post_body, never postId. The channels array must echo the exact intended destinations and every one must already be attached; after connecting a missing platform, call content_library_attach_post_channels first. This is an external, irreversible publication: it cannot be undone through this connection. A confirmation-read failure is reported as publishing, never failed, because the send is already enqueued and a retry would double-post. Same-id calls replay through the retained operation journal; after an ambiguous (publishing/indeterminate) result reuse only the same requestId and never mint a replacement. A recorded outcome whose channels are all failed is terminal for that requestId and replays forever: after fixing the cause, retry with a NEW requestId naming ONLY the failed channels, and never include a channel already published or publishing.
content_library_publish_post_now
Diagnose stale or empty analytics using bounded sync timestamps, connection counts, and a derived freshness state. Call this whenever analytics return all zeros: `not_connected` means the workspace has no connected social account and the zeros are not a measurement, while `never_synced` means accounts are connected but have not completed a sync yet. connectedAccountCount counts analytics-sync account connections, NOT publishable channels; connectedChannelCount is the channel inventory create_post/attach_post_channels operate on, and the two legitimately differ. Provider account identities are excluded.
analytics_get_sync_status
Read the daily time series behind the Performance charts for the granted workspace and a required ISO-8601 range of at most 366 days: per-platform running totals of impressions, likes, comments, clicks, shares, views, saves, reach and engagement (one point per calendar day), and per-platform follower levels with the daily change. Use it to draw trends; use analytics_get_social_stats for period totals with deltas. The response embeds the same sibling meta freshness block as the other analytics reads; with freshness not_connected or never_synced the points are not measurements.
analytics_get_timeseries
Read one workspace-owned article as plain text plus a bounded publication projection. The response includes the Content Series id, current scheduled destinations, and up to 100 live workspace-owned NEWSROOM/EXTERNAL_SITE destinations needed by schedule/publish. It defaults to 30,000 body characters and is capped at 100,000. expectedRevision is the opaque snapshot token used by draft update, schedule, and publish.
content_library_get_article_body
Read the sanitized Brand Guide summary and authoritative readiness state for the granted workspace.
brand_get_guide
Read the stored brand narrative for the granted workspace: the positioning reading of the last published posts (10 to 60), as the Narrative tab renders it. The snapshot is rebuilt nightly or on publish and is never rebuilt by this call; it reads the stored row and spends nothing. It carries the maturity level, the post count against `postsRequired`, a 0-100 progress score, the window dates, the positions the author stands for and opposes (each with post count, share, cohesion, contradiction count and trend), and the identity, archetype, expertise ranking, reader emotions, intellectual-signature axes, signature sentence and positioning strength. `maturity: "forming"` means fewer than `postsRequired` posts were available and every reading field is null or empty; that is a workspace not yet read, not a reading of nothing.
analytics_get_narrative
Read one sanitized Brand Voice by id within the granted workspace.
brand_get_voice
Read the bounded status and result of one workspace-owned content interview: state, topic, timing, summary, and up to five key insights. Join tokens, URLs, transcripts, prompts, and participants are excluded. Only interviews started by interview_start_content are addressable: Twin knowledge interviews are read through twin_get, and planning or other in-app interview types are not exposed here.
interview_get_content
Read bounded top-line performance aggregates for the granted workspace and a required ISO-8601 range of at most 366 days. Every response embeds a sibling meta block beside result carrying freshness, connectedAccountCount (analytics-sync accounts, not publishable channels), lastSyncAt, and nextSyncAt. Zero values are not self-describing: with freshness not_connected or never_synced they are not measurements at all, and must never be reported as measured performance. analytics_get_sync_status returns the same projection on its own as a cheap standalone diagnostic.
analytics_get_general_analytics
Read the share of leads by one dimension (country, industry, seniority or companySize) for the granted workspace over a required ISO-8601 range of at most 366 days: the total and one segment per value with its count and 0-100 share; "Unknown" groups leads not yet enriched. Aggregates only; it returns no lead rows and no contact details. A workspace that never opened Leads answers a total of zero and no segments without being initialised.
leads_get_breakdown
Read the Leads capture status for the granted workspace as the web Leads tab shows it: whether capture is on, whether the plan includes Leads, whether the enrichment provider is configured, whether the acting user may change stages, the scan cadence, the ICP threshold, the contract value and currency behind pipeline value, the last and next scan times and the number of tracked posts. Read-only: a workspace that never opened Leads answers the defaults (capture off) rather than being initialised. Returns no lead rows and no contact details.
leads_get_settings
Read the three Leads KPIs for the granted workspace over a required ISO-8601 range of at most 366 days: new leads, ICP leads and pipeline value, each with the percentage change against the previous period of the same length (null when there is no baseline), plus the ICP threshold in force. Pipeline value is null with isConfigured false until a contract value and currency are set. Counts only; it returns no lead rows and no contact details. A workspace that never opened Leads answers zeros without being initialised.
leads_get_stats
Read new leads per calendar day in the workspace time zone for the granted workspace over a required ISO-8601 range of at most 366 days, gap-filled, with the ICP subset and a running total since the window start. Counts only; it returns no lead rows and no contact details. A workspace that never opened Leads answers an empty points array without being initialised.
leads_get_timeseries
Read one workspace-owned newsletter body through a pure bounded projection. This performs no lazy voice/default persistence.
content_library_get_newsletter_body
Read the Performance surface for the granted workspace: benchmark growth and content scores with a Top N% rank (view "scores", the default), the classified post table (view "content"), share of posts per dimension (view "breakdown"), engagement rate per format against peers (view "format_mix"), engagement by posts-per-week (view "cadence"), or the latest narrative snapshot (view "narrative"). The score views read a fixed trailing 30 days; the others honour the supplied range. Two things must not be misreported: a signal whose status is "unavailable" was never measured and is not a zero, and the `benchmark.caveat` field states when the comparison is against a neighbouring follower cohort rather than the workspace's own — carry that qualification into any claim about how the workspace ranks. This never triggers a narrative rebuild.
analytics_get_performance
Read one workspace-owned social post body and its attached channels through a bounded projection. Returns postId for content_library_update_post_body, contentSeriesId for content_library_schedule_post and content_library_publish_post_now, the current status, editable derived from that status, and the postRevision required by update, schedule, and publish. If a required connected channel is absent, call content_library_attach_post_channels before scheduling or publishing.
content_library_get_post_body
Read reach, impressions, engagement, follower totals, and period deltas for the granted workspace and a required ISO-8601 range of at most 366 days. Every response embeds a sibling meta block beside result carrying freshness, connectedAccountCount (analytics-sync accounts, not publishable channels), lastSyncAt, and nextSyncAt. Zero values are not self-describing: with freshness not_connected or never_synced they are not measurements at all, and must never be reported as measured performance. analytics_get_sync_status returns the same projection on its own as a cheap standalone diagnostic.
analytics_get_social_stats
Read up to 25 top-performing published social posts for a required ISO-8601 range of at most 366 days. Returns a strict performance projection; generation transcripts, integration records, and internal fields are excluded.
analytics_get_top_posts
Read the bounded Twin settings and IQ projection without creating Twin data. Opt in to a fixed seven-topic Knowledge-training state aggregate; URLs, tokens, transcripts, prompts, participants, and credentials are excluded.
twin_get
Read one workspace-owned video script body through a pure bounded projection. Segment timing metadata and internal fields are excluded.
content_library_get_video_script_body
App-only; never call from the conversation. The Pressmaster app's content board in one read: every column (the editable stages, the custom ones, Scheduled and Published) with its first page of items and its count, exactly as content_library_list_stages with includePublishing and content_library_list_items per stage would answer. Article bodies are excluded. A column that could not be read is absent from columns with the reason under errors, keyed by stage id.
content_library_board
App-only; never call from the conversation. Everything the Pressmaster app's Leads tab renders, in one read: the capture settings, the three KPIs, the daily series, one page of the table and the country, industry and seniority breakdowns, over whole UTC days (the last 30 ending today unless dates are given). Rows never carry contact details, notes or the engagement timeline. A workspace whose plan does not include Leads is refused as a whole, like every other Leads read. A section that failed is null with the reason under errors.
leads_get_screen
App-only; never call from the conversation. Everything the Pressmaster app's Performance tab renders, in one read: sync status, social statistics with deltas, general totals, the daily time series, the top posts, the benchmark scores, the classified post table, one breakdown dimension, the format mix, the posting cadence and the brand narrative. Measured in whole UTC days: the default window is the last 30 days ending today, the period the Performance page opens on; explicit dates are widened to the edges of their days. A section this connection cannot see, or that failed, is null with the reason under errors; the rest still answers.
analytics_get_performance_screen
Runs one bounded Digital Twin model request using Twin credits. Internally it uses a fixed set of read-only knowledge-graph retrieval tools; there is no per-request retrieval budget, so do not ration questions on that basis. It cannot store, correct, or change anything — a request to remember something will not be saved. Same-id calls replay, report in-progress, or remain indeterminate through the retained operation journal. Work may complete and settle after the 90-second response deadline; never mint a replacement requestId.
twin_chat
Pressmaster ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve Pressmaster's ChatGPT Plugin discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.