RegistersCreators
Creating a creator account from inside the platform — where the sign-up starts, the conversation the connector runs, and the Core API call that creates the email-first account.
Subscriby\Connector\Contracts\Ports\RegistersCreators. Bound by creator_registration.
Creator accounts are email-first: an address, a password or a passkey, and connectors add linked identities. A connector with this port may still start an account from inside the platform (a visitor talking to Subscriby's bot creates their account without leaving the chat) by running its own sign-up conversation on the shared installation and handing the completed form to the core.
The method
public function signupEntry(InstallationRef $platform): string;Given the platform-scope installation that hosts the sign-up, return the link that starts the conversation: usually InstallationLifecycle::startLink($platform) with nothing to open on. The core's registration page calls it for every available connector that binds this port and whose platformInstallation() answers, and offers Sign up inside … instead under the sign-in buttons; an empty string leaves the connector out rather than offering a dead button. The sign-in button itself is the connector's creator_login_method slot.
The conversation
Everything between the entry link and the account is the connector's: ask for the name, the address and a password in the platform's idiom, validate as the platform allows, and when the form is complete call the Core API:
$creator = $this->creators->register(new CreatorRegistration(
name: $name,
email: $email,
password: $password,
identity: $identityRecord, // the account you are talking to, as adopt() would file it
));Core\Creators::register() creates the email-first account, links the vouching account as the creator's primary identity on your connector, sends the verification mail, and answers a CreatorRef. It throws RegistrationRefused when the address already has an account or the core would not adopt the account (it already belongs to another creator); tell the visitor to sign in instead, or to link the account from Linked accounts after signing in on the web.
The connector never sees the user beyond the ref. From here the creator's alerts arrive through the identity you linked, and their first project is created through your ManagementSurface or the dashboard.
How Telegram does it
The platform bot's plain /start shows a visitor without an account the sign-up pitch and its button; the conversation behind it validates the form and hands it to Creators::register(). So the entry is the bot's start link with nothing to open on.
What the kit checks
Nothing beyond ports.required_bound's capability agreement: a connector that declares creator_registration must bind the port. Review reads the conversation for what it collects and how it stores nothing of its own.
Sign-in is a different port
An existing creator signing in with their platform account goes through the creator_login_method slot and a creator-link handshake, not through this port. This port only creates accounts.
How is this guide?
PortalLoginMethod
Signing a member into the portal through the platform — the button, the handshake the core mints, how the connector completes it from its inbound side, and what the member sees.
ManagementSurface
The creator's in-chat admin surface over the core's command catalogue — declaring the commands, handling events, rendering command buttons, and calling the same actions the dashboard calls.