Skip to content
Agentic Control Plane

Genspark custom agent API endpoint and webhook: what exists

David Crowe David Crowe · · Updated · 10 min read
genspark agents api webhooks reference
Share X HN LinkedIn

Genspark does not publish a REST API endpoint or an outbound webhook for calling a custom agent. As of November 7, 2026, its help center describes custom agents as something you build, share and invoke inside Genspark, and the only documented programmatic route to one is the gsk command-line tool, which runs a custom_super_agent task with your API key and lets you poll for the result (Custom Agent help, @genspark/cli README).

The webhook URLs you may have seen are inbound URLs for Slack and LINE when you publish an agent to those channels. They let Slack or LINE deliver messages to Genspark. They are not an endpoint your own code can call with a prompt.

Everything below is from Genspark’s own pages. What they don’t document is marked.

What a Genspark custom agent is

Genspark’s help center calls Custom Agent a “one-prompt AI agent creation platform.” You describe the job, Genspark writes the agent’s instructions, and you test it in a preview window (Custom Agent help). Every documented way to use one is inside the product:

  • Type @ in a Super Agent conversation to invoke a custom agent, and combine several in one task.
  • Share it as “Only me”, “Anyone with the link” or to the “Custom Agent Store”. Organization and Group sharing “need a Team or Enterprise plan”.
  • Bookmark it so it shows up in a Hub’s agent picker.

That page does not mention an API, an API key, a webhook, a schedule or MCP.

The documented programmatic path: the gsk CLI

Genspark publishes a CLI on npm as @genspark/cli. Its README describes gsk as the command-line interface for the Genspark platform (README).

Install and sign in:

npm install -g @genspark/cli   # Node.js 18 or later
gsk login                       # browser sign-in; saves the API key and base URL
gsk me                          # shows the signed-in account and credit balance

For a server or CI job, pass the key without the browser step:

export GSK_API_KEY="gsk_..."
# optional overrides
export GSK_BASE_URL="https://www.genspark.ai"

Precedence, per the README, is command-line options, then environment variables (GSK_API_KEY, GSK_BASE_URL, GSK_PROJECT_ID), then the config file that gsk login writes.

Running a custom agent as a task

The README lists custom_super_agent among the task types and describes it as “a user-created custom agent; requires agent_config_id”. The general task commands are:

gsk task create <type> --task_name "..." --query "..." --instructions "..."
gsk task status <run_id>
gsk task info <project_id>
gsk task ask <project_id> -m "follow-up message"
gsk task stop <run_id>

task create also takes --follow and --wait true to stay attached until the run ends, and --file to attach input.

What the README does not show: a worked custom_super_agent example, the flag that carries agent_config_id, or where in the Genspark UI to copy that ID. Check the CLI’s own help output for the current flag before scripting against it.

Scheduling

The README’s capability map lists “One-shot and recurring agent runs” under gsk cron, gsk workflow and gsk schedule, with no syntax. The commands exist, but the README doesn’t explain them.

The HTTP calls underneath

The CLI talks to Genspark over HTTPS with an X-Api-Key header. The README documents a small contract under <base_url>/api/tool_cli. It covers hosted projects (create, preflight checks, upload a source ZIP, deploy), not agent runs:

POST /developer/projects          {kind, name}
GET  /developer/projects/{id}
GET  /developer/preflight?kind=...&operation=...&project_id=...
POST /hosted/source               application/zip, X-Project-ID header

It also names an OpenAI-compatible model endpoint at /api/llm_proxy/v1/chat/completions that accepts a gsk key. That reaches models, not your custom agent’s instructions and tools.

The request and response shape for creating a custom_super_agent run over raw HTTP is not published. Calling it directly means reverse-engineering the CLI, which can change without notice.

The webhook URLs: Slack and LINE publishing

Genspark’s Slack setup guide (Slack bot registration; page blocks automated fetches, steps as indexed 2026-11-07) describes publishing from the custom agent’s Develop page:

  1. Click Publish, find the Slack channel and click Configure.
  2. Enter your Slack app’s Bot Token and Signing Secret, then Save.
  3. Select Slack and click Publish. A popup shows “Configuration Successful” with webhook URLs.
  4. In the Slack app settings, open Event Subscriptions, turn on Enable Events and paste the Event Request URL.

After that, people mention the bot in Slack to talk to the agent. The direction matters: Slack sends events to Genspark at those URLs, signed with your Slack signing secret. Genspark’s LINE guide works the same way, setting the webhook URL when you publish and asking you to turn on “Use webhook” in the LINE Developers Console (LINE bot registration; page blocks automated fetches, steps as indexed 2026-11-07).

So if you control a Slack app, a Slack message is a documented way for another system to reach a custom agent. It is chat-shaped, not a request and response API.

Workflows: schedule and email triggers

Genspark Workflows can run a custom agent as a step: the integrations list includes “Custom Agents: Connect any Custom Agent you’ve built in Genspark” (Workflows help).

The documented triggers are two:

  • Schedule: daily, weekly, monthly or a custom interval such as every 30 minutes.
  • Email: a new message in Gmail or Outlook.

“Each workflow currently supports one trigger.” No webhook or HTTP trigger is documented. A Test Run “is a real run”: it sends email, changes data and spends credits.

An email trigger is the nearest documented thing to an inbound webhook: a system that can send mail to a connected inbox can start a workflow that runs your agent.

Auth, keys and audit

  • Key format and storage. gsk login writes the key and base URL to a local config file; GSK_API_KEY overrides it.
  • Team controls. On Team and Enterprise plans, the admin dashboard has an API Keys page to “View and revoke API keys created by team members”, and the audit log records changes to “API access, publishing, and connectors” (Team and Enterprise help).
  • Audit API. Audit data is available through the Organization Audit & Analytics API with “an API key with the gsk:org-audit scope”, with 400 days of history by default.
  • Connectors. Admins choose which third-party connectors members can use, org-wide or per group, not per person. From the CLI, gsk connector list, gsk connector tools <identifier> and gsk connector call <identifier> -t <tool> -a '<json>' reach connectors; the README says the connector flow also covers MCP servers you add yourself.

Limits and cost

Runs spend Genspark credits; gsk me shows the balance. The README states a default CLI timeout of 1,800,000 ms (30 minutes) and that signed download URLs expire one to two hours after the call. It gives no request rate limit, and the help pages state none for custom agents.

What is not documented

As of this writing, none of Genspark’s help center, its Slack and LINE guides or the CLI README document:

  • A REST endpoint that takes a prompt and a custom agent ID and returns a result.
  • An outbound webhook or callback when a custom agent run finishes.
  • A webhook or HTTP trigger for Workflows.
  • Signing, retry or delivery guarantees for anything Genspark would send to you.
  • Rate limits for agent runs.

Third-party pages that mention a “Genspark API key or webhook URL” usually mean the Slack and LINE inbound URLs above, or unofficial cookie-based proxies around the web app. Neither is a supported API.

What to build if you need a webhook today

The supported shape is a small job you own:

#!/usr/bin/env bash
# Runs on your server or CI with GSK_API_KEY set.
# 1. Start the custom agent run with gsk task create custom_super_agent
#    (pass agent_config_id with the flag shown by the CLI's help output).
# 2. Poll gsk task status <run_id>, or create with --follow --wait true.
# 3. When it finishes, POST the result to your own endpoint.

Your endpoint is the webhook and the CLI is the client. If Genspark publishes a run API later, swap step 1 for it.

If that job calls tools on your side, put a policy check and a log in front of those tools. MCP server controls shows how ACP does that for MCP tool traffic.

Frequently asked questions

Does Genspark have an API endpoint for a custom agent?

Not a documented REST endpoint. The documented programmatic path is Genspark’s own CLI, gsk, whose task types include custom_super_agent (“a user-created custom agent; requires agent_config_id”), authenticated with a gsk_ API key (@genspark/cli README). The HTTP calls the CLI makes for tasks are not published as an API reference.

Can a Genspark custom agent call a webhook when it finishes?

Genspark documents no outbound completion webhook or callback for custom agent runs. The CLI documents polling instead: gsk task status <run_id>, or --follow and --wait on create. If your system needs a callback, run the CLI from your own job and post to your endpoint when the status comes back.

What are the webhook URLs Genspark shows when I publish a custom agent?

They are inbound URLs for a messaging channel. When you publish a custom agent to Slack, Genspark asks for your Slack app’s Bot Token and Signing Secret and then shows webhook URLs you paste into the Slack app’s Event Subscriptions. Slack calls Genspark; they are not a general API for your own code. LINE publishing works the same way with LINE’s webhook setting.

How do I get a Genspark API key?

Install the CLI and run gsk login, which opens a browser and saves the key; you can also set GSK_API_KEY. On Team and Enterprise plans, admins can view and revoke members’ keys on the API Keys page, and a key with the gsk:org-audit scope reads the Organization Audit & Analytics API (Genspark help).

Where to read more

Running coding agents? ACP records each tool call its hook sees and makes the dangerous shell commands (a force-push, destructive SQL, curl | sh) wait for you. One command, free up to 5 agents:

macOS · Linux · WSL
curl -fsSL https://agenticcontrolplane.com/install.sh | bash
Windows · PowerShell
irm https://agenticcontrolplane.com/install.ps1 | iex

What the installer writes  ·  Getting started

Share X HN LinkedIn
Get the next data drop
What agents actually cost, new tool-surface captures, and the occasional incident post-mortem — sent when we publish something worth your inbox, not on a schedule. Unsubscribe anytime.
Share: Twitter LinkedIn
Related posts

← back to blog