data_sources

Plan data source filters

Turn a description of who to find into a wire-ready filter set without creating anything: the step before create_data_source when the user should see or edit what will be searched. Paid: the AI parse costs one credit per call. It reads the words into facets (location, industry, current and past company, school, seniority, job function, company headcount, titles as free text) and the platform pool resolves every id-bearing term; a term with no id lands in result.unresolved, never faked. Facets are ANDed and the values inside one facet ORed; there are no exclusion filters, so describe who to find, never who to leave out. A facet keeps at most 10 values: the first ten stay, the dropped terms are named in result.warnings.

Hand the answer to create_data_source as is: type and object_type from the result, name = suggested_name, payload = {filters, prompt: <the description>} (find_people adds payload.company_sids). create_data_source with payload.prompt alone plans the same way at its first collect step, so call this only when the plan must be seen first.

Refusals: 422 on prompt when nothing usable was read (ai_parse_failed or ai_empty_filter: rephrase with roles, places or industries); a busy pool answers 503 service_unavailable (context.reason infrastructure_unavailable or search_in_flight) or 429 rate_limited (pool_rate_limited), each with context.retry_after: wait until then, or create the source with the prompt alone and let its collector plan at the pool's pace.

Contract:

  • MCP tool plan_data_source_filters, registry package mcp.playtables/data_sources, mount playtables.sources.
  • Operation action, response envelope action.
  • Flags: none.
post/api/data-sources/ai-plan

Request

  • Base URL
    https://beta.getsales.io/playtables/v1
  • Auth
    HTTP bearer and API key in header Team-SID

Request body

promptstring required

Who to find, in the user's words ("CMOs at fintech companies in DACH", "heads of growth").

vertical'people' | 'company'

people (default) | company - what the search brings back.

company_scopedboolean

Default false. true = a find_people plan: who to find inside companies selected in a grid; current companies are left out of the filter, the selection supplies them.

Response

action success envelope.

successtrue required
operation'action' required
actionstring required

kebab-case verb; matches the route segment.

itemunknown required

Changes

No recorded changes to this operation across all 1 revision of this API.