Skip to main content

Workspace setup

Conversational workspace onboarding and settings editing — read the current customization, fetch the canonical taxonomy, patch settings axis by axis, then finish onboarding to build the feeds. The workspace is always resolved from your sign-in; no tool takes a workspace ID.


get_workspace_settings​

Read this workspace's current customization settings.

Parameters​

None. The workspace is resolved from your sign-in.

Returns​

{ workspaceId, name, settings } where settings is the whitelisted projection: description, socials, industries, subSectors, excludedSubSectors, countries / states / cities + geographyMode, sources, audience, targetMarkets, brandSize, excludedSponsors, sponsorWhitelist, sportsBusinessFilters, entity, onboardingComplete, trial.

entity is the LOCKED read-only seed entity (the club/brand this workspace is built around) — it cannot be changed here. Use get_entity(entity.id) to list its known sponsors when building the excluded-sponsors step.

Example prompt​

"Show me my workspace's current targeting settings"


get_onboarding_taxonomy​

The canonical onboarding taxonomy — call this first before writing settings with update_workspace_settings.

Parameters​

None. The workspace is resolved from your sign-in.

Returns​

  • industries: ordered industry taxonomy with their sub-sectors and FR labels
  • brandSize: canonical revenue buckets (ordered 0–50M → 10B+)
  • audience: canonical axes — ageRanges, incomeTiers, origins, genders
  • geography: continents, groups, countries ({name, iso2, continent}), popularCountries

Only canonical tokens are stored — a non-canonical token sent to update_workspace_settings is DROPPED (not stored) and reported in the PATCH response's dropped map. Age ranges use an EN-DASH (e.g. "18–24"), not a hyphen.

Example prompt​

"What industries and sub-sectors can I target?"


update_workspace_settings​

Update this workspace's customization settings (partial update). An omitted parameter leaves the stored value untouched; a provided list REPLACES the stored one entirely (send the full new list, not a delta). List order = ranking (first item weighs most).

Parameters​

NameTypeRequiredDescription
descriptionstringNoWorkspace description
socialsstring[]NoSocial profile URLs
industriesstring[]NoIndustry scope (canonical tokens)
sub_sectorsstring[]NoTHE matcher gate — drives the recommendations and hot-brands feed. Canonical tokens from get_onboarding_taxonomy.
excluded_sub_sectorsstring[]NoSub-sectors to exclude
countriesstring[]NoTarget countries
countries_allbooleanNotrue targets every country
statesstring[]NoTarget states/regions
citiesstring[]NoTarget cities
geography_modestringNo"local" or "national"
sourcesobject[]NoSignal-source toggle list: {id, label, url, preset, enabled}
audienceobject[]NoAudience portions: {percentage, ageRanges, incomeTiers, origins, genders}; age ranges use an EN-DASH (e.g. "18–24")
target_marketsarrayNoRanked b2b/b2c target-market entries (at most 2)
brand_sizestring[]NoCanonical revenue buckets
excluded_sponsorsstring[]NoBrand DISPLAY NAMES to silence (e.g. the entity's current sponsors) — they disappear from feeds and recommendations
sponsor_whiteliststring[]NoBrand names OR ids; names are resolved to KG Brand ids server-side
sports_business_filtersobjectNoDeal-scan filters: {sports, continents, countries, dealTypes}

Returns​

{ ok, updated, dropped, settings } — dropped lists any non-canonical tokens that were rejected per field. If it is non-empty, self-correct using the exact tokens from get_onboarding_taxonomy and PATCH again. Prefer updating one axis at a time so a drop is easy to attribute.

Example prompt​

"Target luxury and automotive sub-sectors in France and Monaco"


finish_onboarding​

Mark onboarding complete and start the personalize pipeline: feeds, morning recap, contacts, and recommendations (~2–6 min). Idempotent — safe to call again. Also call this after MAJOR settings changes (e.g. new sub-sectors or geography) to rebuild the feeds.

Parameters​

None. The workspace is resolved from your sign-in.

Returns​

{ ok, onboardingComplete, personalize: { mode }, warnings } — mode is queued / inline / already-running / failed-to-start; warnings surfaces soft preflight holes (e.g. empty matcher gate, no target geography) without blocking.

Example prompt​

"We're done setting up — build my feeds"


get_personalize_status​

Status of this workspace's personalize pipeline. Poll after finish_onboarding to see whether the feeds, recap, contacts and recommendations build has completed (or failed) per step.

Parameters​

None. The workspace is resolved from your sign-in.

Returns​

{ state, stages, error, startedAt, updatedAt }, or { state: "none" } when no run was ever started for this workspace.

Example prompt​

"Is my workspace build finished yet?"


get_sources_presets​

List the curated scraper source presets available when configuring the workspace's sources setting.

Returns​

List of { id, label, url } presets.

Example prompt​

"What news sources can I track for deals?"