Agent Signup: Let Your Agent Open Your DiscoLike Account
Your agent can open your DiscoLike account without a browser. It sends one request to POST https://api.discolike.com/v1/public/signup with your work email and name. You get a confirmation email, log in at app.discolike.com, pick a plan, and issue API keys or authorize the MCP server. The agent never receives a credential.
Endpoint reference: Signup API. Free-mail and disposable domains are rejected; 409 means the account already exists.
By agent
Section titled “By agent”No prompt needed: the CLI and the Python SDK both sign up directly, and neither needs a login first.
uvx --from discolike-cli discolike signup --email jane@acme.com --first-name Jane --last-name Doefrom discolike import signup
result = signup(email="jane@acme.com", first_name="Jane", last_name="Doe", agent="my-agent")print(result.next_step)Full options: discolike signup and signup().
Paste the prompt above into the Claude Code session. Claude Code runs the request with its built-in curl or WebFetch tooling and relays next_step.
Once the account exists, connect the MCP server: MCP setup.
Paste the prompt above. Codex executes the curl call in its sandbox; approve the network request if prompted.
Paste the prompt above. Claude uses its web tools to make the request. If the environment cannot reach the network, ask it to hand you the curl command instead and run it yourself.
Paste the prompt above into Agent mode. Cursor runs the curl in the integrated terminal; approve the command.
Paste the prompt above. In agent mode ChatGPT can make the request directly. In plain chat it will produce the curl command for you to run:
curl -X POST "https://api.discolike.com/v1/public/signup" \ -H "Content-Type: application/json" \ -d '{"email": "jane@acme.com", "first_name": "Jane", "last_name": "Doe", "agent": "chatgpt"}'A plain Python function becomes an ADK tool. The endpoint is also in the OpenAPI spec if you prefer OpenAPIToolset.
import httpxfrom google.adk.agents import LlmAgent
SIGNUP_URL = "https://api.discolike.com/v1/public/signup"
def signup_discolike(email: str, first_name: str, last_name: str) -> dict: """Create a DiscoLike account for the user. Returns next_step text to relay to them.""" response = httpx.post( SIGNUP_URL, json={"email": email, "first_name": first_name, "last_name": last_name, "agent": "google-adk"}, ) response.raise_for_status() return response.json()
agent = LlmAgent( model="gemini-3.6-flash", name="discolike_onboarding", instruction="When the user wants a DiscoLike account, collect their work email and name, call signup_discolike, and relay next_step.", tools=[signup_discolike],)import httpxfrom agents import Agent, function_tool
SIGNUP_URL = "https://api.discolike.com/v1/public/signup"
@function_tooldef signup_discolike(email: str, first_name: str, last_name: str) -> dict: """Create a DiscoLike account for the user. Returns next_step text to relay to them.""" response = httpx.post( SIGNUP_URL, json={"email": email, "first_name": first_name, "last_name": last_name, "agent": "openai-agents"}, ) response.raise_for_status() return response.json()
agent = Agent( name="DiscoLike onboarding", instructions="Collect the user's work email and name, call signup_discolike, relay next_step.", tools=[signup_discolike],)import httpxfrom langchain_core.tools import tool
SIGNUP_URL = "https://api.discolike.com/v1/public/signup"
@tooldef signup_discolike(email: str, first_name: str, last_name: str) -> dict: """Create a DiscoLike account for the user. Returns next_step text to relay to them.""" response = httpx.post( SIGNUP_URL, json={"email": email, "first_name": first_name, "last_name": last_name, "agent": "langchain"}, ) response.raise_for_status() return response.json()Bind it with llm.bind_tools([signup_discolike]) or add it to your agent’s tool list.
import httpxfrom crewai.tools import tool
SIGNUP_URL = "https://api.discolike.com/v1/public/signup"
@tool("signup_discolike")def signup_discolike(email: str, first_name: str, last_name: str) -> dict: """Create a DiscoLike account for the user. Returns next_step text to relay to them.""" response = httpx.post( SIGNUP_URL, json={"email": email, "first_name": first_name, "last_name": last_name, "agent": "crewai"}, ) response.raise_for_status() return response.json()Add an HTTP Request node:
- Method:
POST - URL:
https://api.discolike.com/v1/public/signup - Body content type: JSON
- Body:
{"email": "{{ $json.email }}", "first_name": "{{ $json.first_name }}", "last_name": "{{ $json.last_name }}", "agent": "n8n"} - No authentication.
Read next_step from the response and forward it to the person (email, Slack, or chat node).
pip install discolike-clidiscolike signup --email jane@acme.com --first-name Jane --last-name Doefrom discolike import signup
result = signup(email="jane@acme.com", first_name="Jane", last_name="Doe")print(result.next_step)curl -X POST "https://api.discolike.com/v1/public/signup" \ -H "Content-Type: application/json" \ -d '{"email": "jane@acme.com", "first_name": "Jane", "last_name": "Doe", "agent": "curl"}'After signup
Section titled “After signup”- Open the confirmation email, or sign in with Google or Microsoft using the same address.
- Accept the terms and complete your profile.
- Pick a plan, then create an API key at app.discolike.com/account/management/keys or authorize the MCP server from your agent.