Version

listing

What the marketplace shows — category, tagline, overview, screenshots, links, dates — plus the words the marketing site borrows, the button the member portal shows and the copy that makes the connector's page a search landing page.

The listing block is required. It is everything a connector says about itself to people who have not installed it: the marketplace card, the connector's public page, the in-app directory, GET /connectors and the MCP catalogue all read it, and nothing on those surfaces is typed by hand. What a connector cannot say about itself (whether it is official, available, new or trending) the registry stamps.

"listing": {
    "category": "messaging",
    "tagline": "Sell access to Telegram channels, groups and supergroups through your own bot.",
    "overview": "Connect a bot you created with @BotFather and Subscriby runs your membership on Telegram: …",
    "screenshots": [],
    "links": {
        "documentation": "https://docs.subscriby.net/connectors/telegram",
        "support": "mailto:support@subscriby.net",
        "privacy": "https://telegram.org/privacy",
        "terms": "https://telegram.org/tos",
        "homepage": "https://telegram.org"
    },
    "added_at": "2025-04-21",
    "changelog_url": "https://www.subscriby.net/blog",
    "sign_in_required": false,
    "portal_cta": { "label": "Open Telegram Bot" },
    "marketing": {
        "audience": "Telegram communities",
        "place": "channel",
        "places": "channels, groups and supergroups",
        "installation": "bot",
        "identity": "Telegram account",
        "native_payment": "Telegram Stars"
    }
}

The fields

FieldRequiredMeaning
category✅Where the marketplace shelves the connector: messaging, community, payments or productivity. The Category filter and the connector page's side column read it.
tagline✅One line under the name, at most 80 characters; the card shows it whole and the hero chip's hover card quotes it.
overview✅The Overview tab, in Markdown. Say what the connector does for a creator and for a member. The capability matrix, the resource kinds and the command coverage under it are generated from the manifest, so do not repeat them.
screenshotsImage URLs shown on the Overview tab. Empty is fine.
linksThe More info column: documentation, support, privacy, terms, homepage. Each https:// or mailto:. See below for what each should point at.
added_at✅The date the connector was first published, YYYY-MM-DD. Shown under Added and drives the New chip for sixty days.
changelog_urlWhere releases are announced; the Changelog link.
sign_in_requiredWhether a creator has to sign in to the platform to install (an OAuth connector says true; a paste-a-token connector says false). Default true. Shown as Sign-in on the connector page.
marketingThe words the marketing site borrows for this platform. Optional; see below.
portal_ctaThe button the member portal shows to open the connector. Optional; see below.
seoThe copy that turns the connector's public page into a search landing page that leads with the platform's name. Optional; see below.
  • documentation: your own guide for creators using the connector (how to install it, what members experience), not this SDK reference.
  • support: where a creator writes when the connector misbehaves; a mailto: is fine.
  • privacy and terms: the platform's policies, not yours. The marketing site's legal pages link the available connectors' privacy for members' reference, so it must be the document a member's data on that platform is governed by.
  • homepage: the platform's site.

marketing

The public site never spells a platform. Its copy carries tokens that are filled from the connectors available on that installation of Subscriby, so a sentence written once names Telegram today and whichever connector is available tomorrow. Your marketing block supplies the words:

WordTokenMeaning and Telegram's value
audience:audienceWho the connector serves: "Telegram communities".
place:placeOne gated place, lower case: "channel".
places:placesThe gated places as a list: "channels, groups and supergroups".
installation:installationWhat a project installs, lower case: "bot".
identity:identityA person's account on the platform: "Telegram account".
native_payment:native_paymentThe platform's own payment method, when it has one: "Telegram Stars". Leave it out when there is none.

The first five are required inside the block; native_payment is optional. The connector's name fills :platform, and every available connector together fills :platforms; the connectors being built fill :next and the roadmap fills :planned on the home page. A sentence built on a word your block does not supply is dropped rather than rendered half-empty: a comparison row about native payments disappears when no available connector declares one. Write the words in lower case except the platform's own proper nouns, and as they would read mid-sentence ("your :place", "a :platform :installation"). A connector that lends no words leaves the block out; every connector still gets its own marketplace page from the rest of the listing.

portal_cta

"portal_cta": { "label": "Open Telegram Bot", "icon": "paper-airplane" }

The member portal's header shows one button per installed connector that has somewhere to open: label (a translation key) and an optional icon, a key from Subscriby's connector icon set; when it is omitted the connector's own icon is drawn, which is almost always right. The core addresses the button through InstallationLifecycle::startLink(), so the connector never builds the URL here. Omit the block when the platform has nothing a member opens (a role gate shows itself). The same block is returned in GET /connectors so the creator apps render it identically.

seo

"seo": {
    "title": "Telegram Membership Bot for Paid Channels and Groups — :app",
    "description": "Run a paid Telegram channel or group with your own bot: members pay by card, crypto or Stars, get in the moment they pay and leave when access ends.",
    "h1": "The Telegram Membership Bot for Paid Channels and Groups",
    "h1_sub": "Your own bot, your own payment accounts, and every join and removal handled for you.",
    "sections": [
        { "heading": "How a paid Telegram channel works with :app", "body": "You create a bot with @BotFather and paste its token…\n\nNobody copies links around and nobody checks who has paid." }
    ],
    "faq": [
        { "q": "Do I need my own Telegram bot?", "a": "Yes. You create it with @BotFather in a minute and paste the token into :app…" }
    ]
}

The marketing site's own copy never spells a platform, so the one page that may lead with "Telegram membership bot" is the connector's page under /connectors/<key>, and the words have to come from the connector. A manifest that carries seo replaces that page's <title>, meta description and headline with its own, shows h1_sub under the headline in place of the tagline, adds one card per entry of sections between the overview and the capability matrix, and closes the page with the faq entries as cards described to search engines as a FAQPage. A connector without the block keeps the generic page built from the rest of its listing.

FieldRequiredMeaning
title✅The page title, at most 70 characters, the search phrase first.
description✅The meta description, at most 160 characters.
h1✅The page's one headline.
h1_subThe line under the headline; the tagline when omitted.
sectionsProse sections in order, each a heading and a body of one or more paragraphs separated by blank lines.
faqQuestions and answers in order, each a q and an a; answers should stand on their own in a sentence or three.

Every string may carry the tokens the marketing site fills at render time: :app (the product name), :gateways (how many payment methods the site offers), :webhook_events, :api_resources and :mcp_tools (the catalogue counts). Use them for any figure that would otherwise go stale inside a published manifest. The title, description, headline, subline, headings and questions are looked up by their English text in your package's lang/*.json like the tagline, so ship their translations; a section body is looked up the same way and reads English until you translate it. The loader refuses a title or description over its limit and any key the block does not know, so keep editor validation on.

What the registry stamps

These are never in the manifest, so a package cannot claim them:

StampSet from
OfficialSubscriby's configuration names its own connectors; every other package is Community.
Lane / statusAvailable Now (enabled), Experimental (enabled and flagged beta), Paused (disabled during an incident), Under Development (registered but not enabled), Coming Soon (a roadmap stub with no package).
Newadded_at within the last 60 days.
TrendingThe most installed connector over the last 30 days.
Installed onHow many projects run it (public) and, in the app, how many of the signed-in creator's own.
Made byThe manifest's vendor; for a roadmap stub, Subscriby.

What the kit checks

manifest.listing_links: every link present, including changelog_url, is an absolute https:// URL or a mailto: address. The loader refuses a category outside the four, an added_at that is not a date, an unknown key, a marketing block missing any of its five required words, and a seo title over 70 or description over 160 characters; the eighty-character tagline limit is the schema's, so keep editor validation on and expect review to hold you to it. Listing and Review has the checklist a reviewer reads the block against.

How is this guide?

Last updated on

Version

On this page

Subscriby is a product
designed by you — for you.
No boardroom full of executives deciding what we ships next. Our roadmap always shaped by you with your feedback.

Share feedback or a request

For AI agents: llms.txt · llms-full.txt