Child of #94, child of #84.
The connector children today are GitHub / Google Sheets / Gmail — specific systems. The lead-finder needs Google Places, and the broader goal (#94) needs any REST API to be usable without code.
Do
A configurable generic connector: a connector instance = { baseUrl, auth (none | apiKey-from-vault | bearer | oauth-grant), defaultHeaders }, exposing a parameterized http_request tool:
- method, path/template, query, headers, JSON body — all with
{{param}} interpolation from pipeline/settings inputs.
- auth from the key vault (envelope crypto /
user_api_keys), never inline.
- response mapping: JSONPath-ish extraction → typed fields (e.g.
places[].{id,displayName.text,websiteUri,addressComponents}).
- pagination descriptor (nextPageToken / offset / cursor) so a source step can fan out pages.
Acceptance
Child of #94, child of #84.
The connector children today are GitHub / Google Sheets / Gmail — specific systems. The lead-finder needs Google Places, and the broader goal (#94) needs any REST API to be usable without code.
Do
A configurable generic connector: a connector instance =
{ baseUrl, auth (none | apiKey-from-vault | bearer | oauth-grant), defaultHeaders }, exposing a parameterizedhttp_requesttool:{{param}}interpolation from pipeline/settings inputs.user_api_keys), never inline.places[].{id,displayName.text,websiteUri,addressComponents}).Acceptance
searchText+searchNearbycallable purely by configuring a generic-HTTP connector (key from vault) — no bespoke code.POST …/tools/http_request(per [connectors] Generic tool-call API + MCP auto-generation #87).