huudis.account.created.v1
Fires when a new workspace (also known as an account — see Workspaces for the terminology overlap) is created.
Subscribe if you want to react to new workspaces opting into your product, or to populate an internal CRM with workspace-level fields.
Not yet emitted in v1. Audit log carries
account.workspace_createdentries.
When it fires
When POST /v1/account/workspaces succeeds. This happens during signup (a brand-new Huudis user gets a default workspace) and during multi-workspace creation (an existing user adds another workspace).
Workspace deletion is not a thing — workspaces persist for audit. There is no account.deleted event.
Payload
{
"id": "evt_01KPG…",
"type": "huudis.account.created.v1",
"createdAt": "2026-05-12T22:55:00.000Z",
"data": {
"id": "acc_01KPG40…",
"name": "Cafe Sumur",
"slug": "cafe-sumur",
"createdAt": "2026-05-12T22:55:00.000Z",
"createdByUserId": "usr_01KPG…",
"isForjioInternal": false
}
}
isForjioInternal: true flags Huudis's own operational workspaces. Subscribers usually want to filter these out — they're not a customer-facing acquisition signal.
Handler examples
// Node — populate internal CRM with new workspaces
if (event.type === 'huudis.account.created.v1' && !event.data.isForjioInternal) {
const a = event.data;
await crm.workspaces.upsert({
huudisId: a.id,
name: a.name,
createdAt: a.createdAt,
createdByUserId: a.createdByUserId,
});
}
# Python — track new workspaces in analytics
if event["type"] == "huudis.account.created.v1":
a = event["data"]
if a.get("isForjioInternal"):
return
analytics.track("workspace_created", workspace_id=a["id"], name=a["name"])
What to do
- Provision your own workspace-scoped state, keyed by
id. - Tie the workspace to its creator (
createdByUserId) so you can email them about onboarding. - For products that have per-workspace billing (Plugipay, Storlaunch), this is the right moment to pre-provision a customer record — you'll need it before any payment activity.
Avoid:
- Sending the workspace creator a welcome email if Huudis is configured to already. Double-emailing is annoying.
- Treating workspace-created as "they're using your product." Workspace creation is a Huudis-level action; product opt-in is
huudis.account.service_enabled.v1and is the better trigger for product-side onboarding.
Common pitfalls
- One user, many workspaces. A user creates 3 workspaces, you'll get 3 events. Don't deduplicate by
createdByUserId. - Workspace ID is stable, slug is stable, name can rename. Use
idas your primary key.
Related events
huudis.account.member_added.v1— the creator is added asownerin the same transaction; member-added fires for them as well.huudis.account.service_enabled.v1— the workspace opts into a product.
Next
- Workspaces resource — the parent API.
- Services — per-product opt-in.