autotouch-cli 0.2.79__tar.gz → 0.2.81__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/PKG-INFO +16 -4
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/README.md +15 -3
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/commands/search.py +6 -6
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/data/CLI_REFERENCE.md +4 -4
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/data/cli-manifest.json +10 -10
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli.egg-info/PKG-INFO +16 -4
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_shared/list_build_contract.py +13 -2
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_shared/search_contract.py +13 -13
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/pyproject.toml +1 -1
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/MANIFEST.in +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/__init__.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/cli.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/cli_contracts.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/commands/__init__.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/commands/agents.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/commands/auth.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/commands/cells.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/commands/columns.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/commands/jobs.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/commands/leads.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/commands/linkedin.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/commands/list_build.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/commands/prompts.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/commands/rows.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/commands/sequences.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/commands/tables.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/commands/tasks.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/commands/webhooks.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/commands/workspace_secrets.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/core/__init__.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/core/auth.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/core/config.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/core/csv_import.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/core/http.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/core/io.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/core/output.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/core/polling.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/core/run.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/core/validation.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/exceptions.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/mongo_status.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/parser.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/parser_groups.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/sequence_support.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli/templates.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli.egg-info/SOURCES.txt +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli.egg-info/dependency_links.txt +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli.egg-info/entry_points.txt +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli.egg-info/requires.txt +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_cli.egg-info/top_level.txt +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_shared/__init__.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_shared/linkedin_contract.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_shared/linkedin_filters.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/autotouch_shared/provider_registry.py +0 -0
- {autotouch_cli-0.2.79 → autotouch_cli-0.2.81}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: autotouch-cli
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.81
|
|
4
4
|
Summary: Autotouch Smart Table CLI
|
|
5
5
|
Project-URL: Homepage, https://app.autotouch.ai
|
|
6
6
|
Project-URL: Documentation, https://github.com/nicolonic/autotouch_main/tree/main/docs/research-table/reference
|
|
@@ -132,9 +132,9 @@ autotouch rows get --table-id "$TABLE_ID" --row-id "$ROW_ID" --output json
|
|
|
132
132
|
- Inspect rows: `autotouch rows list`, `autotouch rows get`
|
|
133
133
|
- Inspect one cell: `autotouch cells get`
|
|
134
134
|
- Create a workflow column: `autotouch columns recipe`, `autotouch columns create`
|
|
135
|
-
- Run
|
|
135
|
+
- Run neural search for niche/specific company or people discovery: `autotouch search companies`, `autotouch search people`
|
|
136
136
|
- Inspect LinkedIn filters: `autotouch linkedin filters --category people`
|
|
137
|
-
- Build
|
|
137
|
+
- Build durable company and lead lists on Smart Table workers: `autotouch list-build companies`, `autotouch list-build leads`
|
|
138
138
|
- Run one LinkedIn search page/debug replay: `autotouch linkedin search`
|
|
139
139
|
- Run controlled slices: `autotouch columns run-next`
|
|
140
140
|
- Poll authoritative state: `autotouch jobs get`
|
|
@@ -142,13 +142,25 @@ autotouch rows get --table-id "$TABLE_ID" --row-id "$ROW_ID" --output json
|
|
|
142
142
|
- Query leads: `autotouch leads query`
|
|
143
143
|
- Find a lead by email or phone: `autotouch leads query --search '<email-or-phone>' --limit 10`
|
|
144
144
|
|
|
145
|
+
## Neural Search vs Durable List Build
|
|
146
|
+
|
|
147
|
+
Autotouch has two different company/people discovery paths.
|
|
148
|
+
|
|
149
|
+
Use `autotouch search companies` and `autotouch search people` for neural search when the target is niche, semantic, or hard to express with structured filters. Examples: "AI workflow platforms for healthcare", "AI workflow startups selling to law firms", or "RevOps operators at PLG SaaS companies". Neural company/people search returns at most 10 results per API call and costs 1 credit per API call.
|
|
150
|
+
|
|
151
|
+
Use `autotouch list-build companies` and `autotouch list-build leads` for structured, repeatable list construction. Treat list builds as the sourcing step for the Smart Table research workspace: build company/account records first by default, add the records to a research table, then enrich, score, segment, find related leads, attach signals/notes, and continue downstream workflows from that table. Use lead builds directly when the request is explicitly person/contact focused. This is the default path for larger LinkedIn-sourced company and lead lists using filters like geography IDs, company size, industry IDs, title/persona, and current company IDs. Durable list builds run as background jobs with status/results endpoints and cost 1 credit per successful non-empty result page.
|
|
152
|
+
|
|
153
|
+
For structured company builds, start with industry IDs plus geo/company-size filters. Company builds still need a broad `keywords` anchor (for example, `software`), but keywords are less reliable because they depend on company/profile text; use them to refine, disambiguate, or recover hard-to-classify targets instead of carrying the whole target definition.
|
|
154
|
+
|
|
155
|
+
For account-first prospecting, build companies/accounts first, inspect the returned company IDs, then pass those IDs to `autotouch list-build leads --current-company-id ...`. Do not use neural search as a default pre-step for every list build; use it when the user's target is genuinely semantic or niche.
|
|
156
|
+
|
|
145
157
|
## More
|
|
146
158
|
|
|
147
159
|
For automation or agent-driven setup, use:
|
|
148
160
|
- `autotouch cli-manifest --output json` for the local machine-readable command contract
|
|
149
161
|
- `autotouch cli-reference` for the shipped parser-generated reference
|
|
150
162
|
- `autotouch capabilities --output json` for provider/workflow contracts
|
|
151
|
-
- `autotouch --version` should be `0.2.
|
|
163
|
+
- `autotouch --version` should be `0.2.81` or newer for the research-workspace list-build guidance, 10-result neural search cap, and provider-hidden `autotouch list-build ...`; older CLIs may still show the removed `autotouch linkedin list-build` surface
|
|
152
164
|
- `autotouch capabilities --output json --select list_builds` for documented list-build inputs such as geography IDs, company size buckets, profile language, and company IDs
|
|
153
165
|
- `autotouch list-build companies` and `autotouch list-build leads` for durable provider-hidden company and lead list builds with Smart Table-owned background workers, visible progress, and no user-owned network connection requirement
|
|
154
166
|
- `autotouch linkedin search` for one-page LinkedIn/Sales Navigator replay/debug searches; it is not the recommended path for large lists
|
|
@@ -107,9 +107,9 @@ autotouch rows get --table-id "$TABLE_ID" --row-id "$ROW_ID" --output json
|
|
|
107
107
|
- Inspect rows: `autotouch rows list`, `autotouch rows get`
|
|
108
108
|
- Inspect one cell: `autotouch cells get`
|
|
109
109
|
- Create a workflow column: `autotouch columns recipe`, `autotouch columns create`
|
|
110
|
-
- Run
|
|
110
|
+
- Run neural search for niche/specific company or people discovery: `autotouch search companies`, `autotouch search people`
|
|
111
111
|
- Inspect LinkedIn filters: `autotouch linkedin filters --category people`
|
|
112
|
-
- Build
|
|
112
|
+
- Build durable company and lead lists on Smart Table workers: `autotouch list-build companies`, `autotouch list-build leads`
|
|
113
113
|
- Run one LinkedIn search page/debug replay: `autotouch linkedin search`
|
|
114
114
|
- Run controlled slices: `autotouch columns run-next`
|
|
115
115
|
- Poll authoritative state: `autotouch jobs get`
|
|
@@ -117,13 +117,25 @@ autotouch rows get --table-id "$TABLE_ID" --row-id "$ROW_ID" --output json
|
|
|
117
117
|
- Query leads: `autotouch leads query`
|
|
118
118
|
- Find a lead by email or phone: `autotouch leads query --search '<email-or-phone>' --limit 10`
|
|
119
119
|
|
|
120
|
+
## Neural Search vs Durable List Build
|
|
121
|
+
|
|
122
|
+
Autotouch has two different company/people discovery paths.
|
|
123
|
+
|
|
124
|
+
Use `autotouch search companies` and `autotouch search people` for neural search when the target is niche, semantic, or hard to express with structured filters. Examples: "AI workflow platforms for healthcare", "AI workflow startups selling to law firms", or "RevOps operators at PLG SaaS companies". Neural company/people search returns at most 10 results per API call and costs 1 credit per API call.
|
|
125
|
+
|
|
126
|
+
Use `autotouch list-build companies` and `autotouch list-build leads` for structured, repeatable list construction. Treat list builds as the sourcing step for the Smart Table research workspace: build company/account records first by default, add the records to a research table, then enrich, score, segment, find related leads, attach signals/notes, and continue downstream workflows from that table. Use lead builds directly when the request is explicitly person/contact focused. This is the default path for larger LinkedIn-sourced company and lead lists using filters like geography IDs, company size, industry IDs, title/persona, and current company IDs. Durable list builds run as background jobs with status/results endpoints and cost 1 credit per successful non-empty result page.
|
|
127
|
+
|
|
128
|
+
For structured company builds, start with industry IDs plus geo/company-size filters. Company builds still need a broad `keywords` anchor (for example, `software`), but keywords are less reliable because they depend on company/profile text; use them to refine, disambiguate, or recover hard-to-classify targets instead of carrying the whole target definition.
|
|
129
|
+
|
|
130
|
+
For account-first prospecting, build companies/accounts first, inspect the returned company IDs, then pass those IDs to `autotouch list-build leads --current-company-id ...`. Do not use neural search as a default pre-step for every list build; use it when the user's target is genuinely semantic or niche.
|
|
131
|
+
|
|
120
132
|
## More
|
|
121
133
|
|
|
122
134
|
For automation or agent-driven setup, use:
|
|
123
135
|
- `autotouch cli-manifest --output json` for the local machine-readable command contract
|
|
124
136
|
- `autotouch cli-reference` for the shipped parser-generated reference
|
|
125
137
|
- `autotouch capabilities --output json` for provider/workflow contracts
|
|
126
|
-
- `autotouch --version` should be `0.2.
|
|
138
|
+
- `autotouch --version` should be `0.2.81` or newer for the research-workspace list-build guidance, 10-result neural search cap, and provider-hidden `autotouch list-build ...`; older CLIs may still show the removed `autotouch linkedin list-build` surface
|
|
127
139
|
- `autotouch capabilities --output json --select list_builds` for documented list-build inputs such as geography IDs, company size buckets, profile language, and company IDs
|
|
128
140
|
- `autotouch list-build companies` and `autotouch list-build leads` for durable provider-hidden company and lead list builds with Smart Table-owned background workers, visible progress, and no user-owned network connection requirement
|
|
129
141
|
- `autotouch linkedin search` for one-page LinkedIn/Sales Navigator replay/debug searches; it is not the recommended path for large lists
|
|
@@ -67,7 +67,7 @@ def cmd_search_companies(args: argparse.Namespace, *, runtime: SearchCommandRunt
|
|
|
67
67
|
runtime=runtime,
|
|
68
68
|
default_payload={
|
|
69
69
|
"query": str(getattr(args, "query", "") or "").strip(),
|
|
70
|
-
"limit": max(1, min(int(getattr(args, "limit",
|
|
70
|
+
"limit": max(1, min(int(getattr(args, "limit", 10) or 10), 10)),
|
|
71
71
|
},
|
|
72
72
|
)
|
|
73
73
|
data = runtime.request_api(
|
|
@@ -86,7 +86,7 @@ def cmd_search_companies(args: argparse.Namespace, *, runtime: SearchCommandRunt
|
|
|
86
86
|
def cmd_search_people(args: argparse.Namespace, *, runtime: SearchCommandRuntime) -> None:
|
|
87
87
|
token = runtime.resolve_token(args.token, required=True)
|
|
88
88
|
payload: Dict[str, Any] = {
|
|
89
|
-
"limit": max(1, min(int(getattr(args, "limit",
|
|
89
|
+
"limit": max(1, min(int(getattr(args, "limit", 10) or 10), 10)),
|
|
90
90
|
}
|
|
91
91
|
query = str(getattr(args, "query", "") or "").strip()
|
|
92
92
|
company = str(getattr(args, "company", "") or "").strip()
|
|
@@ -121,7 +121,7 @@ def cmd_search_similar_companies(args: argparse.Namespace, *, runtime: SearchCom
|
|
|
121
121
|
token = runtime.resolve_token(args.token, required=True)
|
|
122
122
|
payload: Dict[str, Any] = {
|
|
123
123
|
"company_name": str(getattr(args, "company_name", "") or "").strip(),
|
|
124
|
-
"limit": max(1, min(int(getattr(args, "limit",
|
|
124
|
+
"limit": max(1, min(int(getattr(args, "limit", 10) or 10), 10)),
|
|
125
125
|
}
|
|
126
126
|
company_domain = str(getattr(args, "company_domain", "") or "").strip()
|
|
127
127
|
company_description = str(getattr(args, "company_description", "") or "").strip()
|
|
@@ -266,7 +266,7 @@ def register_search_subcommands(
|
|
|
266
266
|
|
|
267
267
|
companies_parser = search_sub.add_parser("companies", help="Find companies with provider-hidden neural search")
|
|
268
268
|
companies_parser.add_argument("--query", help="Free-text company query")
|
|
269
|
-
companies_parser.add_argument("--limit", type=int, default=
|
|
269
|
+
companies_parser.add_argument("--limit", type=int, default=10, help="Max results, 1-10 (default: 10)")
|
|
270
270
|
companies_parser.add_argument("--data-json", help="Explicit request payload JSON")
|
|
271
271
|
companies_parser.add_argument("--data-file", help="Path to request payload JSON file")
|
|
272
272
|
add_api_common_arguments(companies_parser)
|
|
@@ -277,7 +277,7 @@ def register_search_subcommands(
|
|
|
277
277
|
people_parser.add_argument("--company", help="Optional company name")
|
|
278
278
|
people_parser.add_argument("--location", help="Optional location")
|
|
279
279
|
people_parser.add_argument("--skill", action="append", help="Optional skill (repeatable; comma-separated also supported)")
|
|
280
|
-
people_parser.add_argument("--limit", type=int, default=
|
|
280
|
+
people_parser.add_argument("--limit", type=int, default=10, help="Max results, 1-10 (default: 10)")
|
|
281
281
|
people_parser.add_argument("--data-json", help="Explicit request payload JSON")
|
|
282
282
|
people_parser.add_argument("--data-file", help="Path to request payload JSON file")
|
|
283
283
|
add_api_common_arguments(people_parser)
|
|
@@ -287,7 +287,7 @@ def register_search_subcommands(
|
|
|
287
287
|
similar_parser.add_argument("--company-name", help="Seed company name")
|
|
288
288
|
similar_parser.add_argument("--company-domain", help="Official company domain to ground similarity search")
|
|
289
289
|
similar_parser.add_argument("--company-description", help="Short semantic company description to improve peer matching")
|
|
290
|
-
similar_parser.add_argument("--limit", type=int, default=
|
|
290
|
+
similar_parser.add_argument("--limit", type=int, default=10, help="Max results, 1-10 (default: 10)")
|
|
291
291
|
similar_parser.add_argument("--data-json", help="Explicit request payload JSON")
|
|
292
292
|
similar_parser.add_argument("--data-file", help="Path to request payload JSON file")
|
|
293
293
|
add_api_common_arguments(similar_parser)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Autotouch CLI Reference
|
|
2
2
|
|
|
3
|
-
Generated from the installed parser for `autotouch-cli` `0.2.
|
|
3
|
+
Generated from the installed parser for `autotouch-cli` `0.2.81`.
|
|
4
4
|
Manifest schema version: `2`.
|
|
5
5
|
|
|
6
6
|
## Output Modes
|
|
@@ -3774,7 +3774,7 @@ Find companies with provider-hidden neural search
|
|
|
3774
3774
|
--json-pointer JSON_POINTER] [--verbose]`
|
|
3775
3775
|
- Options:
|
|
3776
3776
|
- `--query` (kind=string): Free-text company query
|
|
3777
|
-
- `--limit` (kind=integer; default=
|
|
3777
|
+
- `--limit` (kind=integer; default=10): Max results, 1-10 (default: 10)
|
|
3778
3778
|
- `--data-json` (kind=json; input=json): Explicit request payload JSON
|
|
3779
3779
|
- `--data-file` (kind=file; input=file): Path to request payload JSON file
|
|
3780
3780
|
- `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
|
|
@@ -3914,7 +3914,7 @@ Find people with provider-hidden neural search
|
|
|
3914
3914
|
- `--company` (kind=string): Optional company name
|
|
3915
3915
|
- `--location` (kind=string): Optional location
|
|
3916
3916
|
- `--skill` (kind=string; repeatable; comma-separated): Optional skill (repeatable; comma-separated also supported)
|
|
3917
|
-
- `--limit` (kind=integer; default=
|
|
3917
|
+
- `--limit` (kind=integer; default=10): Max results, 1-10 (default: 10)
|
|
3918
3918
|
- `--data-json` (kind=json; input=json): Explicit request payload JSON
|
|
3919
3919
|
- `--data-file` (kind=file; input=file): Path to request payload JSON file
|
|
3920
3920
|
- `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
|
|
@@ -4026,7 +4026,7 @@ Find companies similar to a seed company
|
|
|
4026
4026
|
- `--company-name` (kind=string): Seed company name
|
|
4027
4027
|
- `--company-domain` (kind=string): Official company domain to ground similarity search
|
|
4028
4028
|
- `--company-description` (kind=string): Short semantic company description to improve peer matching
|
|
4029
|
-
- `--limit` (kind=integer; default=
|
|
4029
|
+
- `--limit` (kind=integer; default=10): Max results, 1-10 (default: 10)
|
|
4030
4030
|
- `--data-json` (kind=json; input=json): Explicit request payload JSON
|
|
4031
4031
|
- `--data-file` (kind=file; input=file): Path to request payload JSON file
|
|
4032
4032
|
- `--base-url` (kind=string; default=https://app.autotouch.ai): API base URL (default: https://app.autotouch.ai)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.2.
|
|
2
|
+
"version": "0.2.81",
|
|
3
3
|
"manifest_schema_version": 2,
|
|
4
4
|
"entry_points": {
|
|
5
5
|
"autotouch": "autotouch_cli.cli:main",
|
|
@@ -6324,11 +6324,11 @@
|
|
|
6324
6324
|
{
|
|
6325
6325
|
"dest": "limit",
|
|
6326
6326
|
"required": false,
|
|
6327
|
-
"help": "Max results, 1-
|
|
6327
|
+
"help": "Max results, 1-10 (default: 10)",
|
|
6328
6328
|
"kind": "integer",
|
|
6329
6329
|
"action": "store",
|
|
6330
|
-
"default_when_omitted":
|
|
6331
|
-
"default":
|
|
6330
|
+
"default_when_omitted": 10,
|
|
6331
|
+
"default": 10,
|
|
6332
6332
|
"flags": [
|
|
6333
6333
|
"--limit"
|
|
6334
6334
|
],
|
|
@@ -6579,11 +6579,11 @@
|
|
|
6579
6579
|
{
|
|
6580
6580
|
"dest": "limit",
|
|
6581
6581
|
"required": false,
|
|
6582
|
-
"help": "Max results, 1-
|
|
6582
|
+
"help": "Max results, 1-10 (default: 10)",
|
|
6583
6583
|
"kind": "integer",
|
|
6584
6584
|
"action": "store",
|
|
6585
|
-
"default_when_omitted":
|
|
6586
|
-
"default":
|
|
6585
|
+
"default_when_omitted": 10,
|
|
6586
|
+
"default": 10,
|
|
6587
6587
|
"flags": [
|
|
6588
6588
|
"--limit"
|
|
6589
6589
|
],
|
|
@@ -6821,11 +6821,11 @@
|
|
|
6821
6821
|
{
|
|
6822
6822
|
"dest": "limit",
|
|
6823
6823
|
"required": false,
|
|
6824
|
-
"help": "Max results, 1-
|
|
6824
|
+
"help": "Max results, 1-10 (default: 10)",
|
|
6825
6825
|
"kind": "integer",
|
|
6826
6826
|
"action": "store",
|
|
6827
|
-
"default_when_omitted":
|
|
6828
|
-
"default":
|
|
6827
|
+
"default_when_omitted": 10,
|
|
6828
|
+
"default": 10,
|
|
6829
6829
|
"flags": [
|
|
6830
6830
|
"--limit"
|
|
6831
6831
|
],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: autotouch-cli
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.81
|
|
4
4
|
Summary: Autotouch Smart Table CLI
|
|
5
5
|
Project-URL: Homepage, https://app.autotouch.ai
|
|
6
6
|
Project-URL: Documentation, https://github.com/nicolonic/autotouch_main/tree/main/docs/research-table/reference
|
|
@@ -132,9 +132,9 @@ autotouch rows get --table-id "$TABLE_ID" --row-id "$ROW_ID" --output json
|
|
|
132
132
|
- Inspect rows: `autotouch rows list`, `autotouch rows get`
|
|
133
133
|
- Inspect one cell: `autotouch cells get`
|
|
134
134
|
- Create a workflow column: `autotouch columns recipe`, `autotouch columns create`
|
|
135
|
-
- Run
|
|
135
|
+
- Run neural search for niche/specific company or people discovery: `autotouch search companies`, `autotouch search people`
|
|
136
136
|
- Inspect LinkedIn filters: `autotouch linkedin filters --category people`
|
|
137
|
-
- Build
|
|
137
|
+
- Build durable company and lead lists on Smart Table workers: `autotouch list-build companies`, `autotouch list-build leads`
|
|
138
138
|
- Run one LinkedIn search page/debug replay: `autotouch linkedin search`
|
|
139
139
|
- Run controlled slices: `autotouch columns run-next`
|
|
140
140
|
- Poll authoritative state: `autotouch jobs get`
|
|
@@ -142,13 +142,25 @@ autotouch rows get --table-id "$TABLE_ID" --row-id "$ROW_ID" --output json
|
|
|
142
142
|
- Query leads: `autotouch leads query`
|
|
143
143
|
- Find a lead by email or phone: `autotouch leads query --search '<email-or-phone>' --limit 10`
|
|
144
144
|
|
|
145
|
+
## Neural Search vs Durable List Build
|
|
146
|
+
|
|
147
|
+
Autotouch has two different company/people discovery paths.
|
|
148
|
+
|
|
149
|
+
Use `autotouch search companies` and `autotouch search people` for neural search when the target is niche, semantic, or hard to express with structured filters. Examples: "AI workflow platforms for healthcare", "AI workflow startups selling to law firms", or "RevOps operators at PLG SaaS companies". Neural company/people search returns at most 10 results per API call and costs 1 credit per API call.
|
|
150
|
+
|
|
151
|
+
Use `autotouch list-build companies` and `autotouch list-build leads` for structured, repeatable list construction. Treat list builds as the sourcing step for the Smart Table research workspace: build company/account records first by default, add the records to a research table, then enrich, score, segment, find related leads, attach signals/notes, and continue downstream workflows from that table. Use lead builds directly when the request is explicitly person/contact focused. This is the default path for larger LinkedIn-sourced company and lead lists using filters like geography IDs, company size, industry IDs, title/persona, and current company IDs. Durable list builds run as background jobs with status/results endpoints and cost 1 credit per successful non-empty result page.
|
|
152
|
+
|
|
153
|
+
For structured company builds, start with industry IDs plus geo/company-size filters. Company builds still need a broad `keywords` anchor (for example, `software`), but keywords are less reliable because they depend on company/profile text; use them to refine, disambiguate, or recover hard-to-classify targets instead of carrying the whole target definition.
|
|
154
|
+
|
|
155
|
+
For account-first prospecting, build companies/accounts first, inspect the returned company IDs, then pass those IDs to `autotouch list-build leads --current-company-id ...`. Do not use neural search as a default pre-step for every list build; use it when the user's target is genuinely semantic or niche.
|
|
156
|
+
|
|
145
157
|
## More
|
|
146
158
|
|
|
147
159
|
For automation or agent-driven setup, use:
|
|
148
160
|
- `autotouch cli-manifest --output json` for the local machine-readable command contract
|
|
149
161
|
- `autotouch cli-reference` for the shipped parser-generated reference
|
|
150
162
|
- `autotouch capabilities --output json` for provider/workflow contracts
|
|
151
|
-
- `autotouch --version` should be `0.2.
|
|
163
|
+
- `autotouch --version` should be `0.2.81` or newer for the research-workspace list-build guidance, 10-result neural search cap, and provider-hidden `autotouch list-build ...`; older CLIs may still show the removed `autotouch linkedin list-build` surface
|
|
152
164
|
- `autotouch capabilities --output json --select list_builds` for documented list-build inputs such as geography IDs, company size buckets, profile language, and company IDs
|
|
153
165
|
- `autotouch list-build companies` and `autotouch list-build leads` for durable provider-hidden company and lead list builds with Smart Table-owned background workers, visible progress, and no user-owned network connection requirement
|
|
154
166
|
- `autotouch linkedin search` for one-page LinkedIn/Sales Navigator replay/debug searches; it is not the recommended path for large lists
|
|
@@ -16,7 +16,7 @@ _LIST_BUILD_ENDPOINTS: Dict[str, Dict[str, Any]] = {
|
|
|
16
16
|
"body": {
|
|
17
17
|
"kind": "required companies|leads",
|
|
18
18
|
"list_name": "optional display name",
|
|
19
|
-
"keywords": "company
|
|
19
|
+
"keywords": "required broad anchor for company builds; optional lead keywords; use with structured filters, not as the sole targeting definition",
|
|
20
20
|
"title": "optional lead title/persona query",
|
|
21
21
|
"num_results": "optional 1-10000 target result count",
|
|
22
22
|
"page_size": "optional provider page size; leads capped to 50",
|
|
@@ -29,7 +29,7 @@ _LIST_BUILD_ENDPOINTS: Dict[str, Dict[str, Any]] = {
|
|
|
29
29
|
"profile_language": "optional language code such as en",
|
|
30
30
|
},
|
|
31
31
|
},
|
|
32
|
-
"notes": "Provider-hidden durable list build. Does not require a user-owned professional-network connection.",
|
|
32
|
+
"notes": "Provider-hidden durable list build. Does not require a user-owned professional-network connection. Use it to source company/account or lead records for the Smart Table research workspace.",
|
|
33
33
|
},
|
|
34
34
|
"list_build_status": {
|
|
35
35
|
"method": "GET",
|
|
@@ -67,13 +67,24 @@ _LIST_BUILD_CAPABILITIES: Dict[str, Any] = {
|
|
|
67
67
|
"requires_connected_account": False,
|
|
68
68
|
"recommended_scope": LIST_BUILD_SCOPE,
|
|
69
69
|
"public_modes": ["companies", "leads"],
|
|
70
|
+
"workspace_model": {
|
|
71
|
+
"role": "List builds source company/account or lead records for the Smart Table research workspace.",
|
|
72
|
+
"default_flow": "Build company/account records first, add them to a research table, then enrich, score, segment, find related leads, attach signals/notes, and continue downstream workflows.",
|
|
73
|
+
"lead_flow": "Use lead builds directly when the request is explicitly person/contact focused; otherwise derive leads from company/account results.",
|
|
74
|
+
},
|
|
70
75
|
"known_input_ids": {
|
|
71
76
|
"geo_ids": {"United States": "103644278"},
|
|
72
77
|
"company_size_buckets": ["1-10", "11-50", "51-200", "201-500", "501-1000", "1001-5000", "5001-10,000", "10,001+"],
|
|
73
78
|
"profile_language_examples": ["en"],
|
|
74
79
|
},
|
|
80
|
+
"targeting_guidance": [
|
|
81
|
+
"Start company/account targeting with industry_ids, geo_ids, and company_sizes.",
|
|
82
|
+
"Company builds still require a broad keywords anchor, but keywords are less reliable because they depend on company/profile text.",
|
|
83
|
+
"Use keywords to refine, disambiguate, or recover hard-to-classify targets; avoid keywords-only list builds except for exploratory searches.",
|
|
84
|
+
],
|
|
75
85
|
"workflow": [
|
|
76
86
|
"Build companies first when the account universe is unknown.",
|
|
87
|
+
"Add company/account results to a Smart Table research workspace before enrichment, scoring, lead discovery, or downstream workflows.",
|
|
77
88
|
"Use returned company IDs as current_company_ids for targeted lead lists.",
|
|
78
89
|
"Run separate focused jobs for different markets, company sizes, or personas.",
|
|
79
90
|
],
|
|
@@ -16,7 +16,7 @@ _SEARCH_ENDPOINTS: Dict[str, Dict[str, Any]] = {
|
|
|
16
16
|
"required_scope": SEARCH_SCOPE,
|
|
17
17
|
"body": {
|
|
18
18
|
"query": "required free-text company search query",
|
|
19
|
-
"limit": "optional 1-
|
|
19
|
+
"limit": "optional 1-10 (default 10)",
|
|
20
20
|
},
|
|
21
21
|
"response": {"items_field": "items", "item_type": "company"},
|
|
22
22
|
},
|
|
@@ -29,7 +29,7 @@ _SEARCH_ENDPOINTS: Dict[str, Dict[str, Any]] = {
|
|
|
29
29
|
"company": "optional target company name",
|
|
30
30
|
"location": "optional location string",
|
|
31
31
|
"skills": "optional string[]",
|
|
32
|
-
"limit": "optional 1-
|
|
32
|
+
"limit": "optional 1-10 (default 10)",
|
|
33
33
|
},
|
|
34
34
|
"response": {"items_field": "items", "item_type": "person"},
|
|
35
35
|
},
|
|
@@ -41,7 +41,7 @@ _SEARCH_ENDPOINTS: Dict[str, Dict[str, Any]] = {
|
|
|
41
41
|
"company_name": "required seed company name",
|
|
42
42
|
"company_domain": "optional official company domain",
|
|
43
43
|
"company_description": "optional short semantic description to improve peer matching",
|
|
44
|
-
"limit": "optional 1-
|
|
44
|
+
"limit": "optional 1-10 (default 10)",
|
|
45
45
|
},
|
|
46
46
|
"response": {"items_field": "items", "item_type": "company"},
|
|
47
47
|
},
|
|
@@ -119,11 +119,11 @@ _SEARCH_CAPABILITIES: Dict[str, Any] = {
|
|
|
119
119
|
],
|
|
120
120
|
},
|
|
121
121
|
"pricing": {
|
|
122
|
-
"charge_on": "
|
|
122
|
+
"charge_on": "api_call_or_actual_results_returned",
|
|
123
123
|
"families": {
|
|
124
|
-
"companies": {"
|
|
125
|
-
"people": {"
|
|
126
|
-
"similar_companies": {"
|
|
124
|
+
"companies": {"credits_per_call": 1, "max_results_per_call": 10, "rule": "1 credit per neural search API call"},
|
|
125
|
+
"people": {"credits_per_call": 1, "max_results_per_call": 10, "rule": "1 credit per neural search API call"},
|
|
126
|
+
"similar_companies": {"credits_per_call": 1, "max_results_per_call": 10, "rule": "1 credit per neural search API call"},
|
|
127
127
|
"news": {"credits_per_bucket": 1, "bucket_size": 25, "rule": "1 credit per 25 results"},
|
|
128
128
|
"local_businesses": {"credits_per_bucket": 1, "bucket_size": 25, "rule": "1 credit per 25 results"},
|
|
129
129
|
"reviews": {"credits_per_bucket": 1, "bucket_size": 25, "rule": "1 credit per 25 results"},
|
|
@@ -140,11 +140,11 @@ _SEARCH_CAPABILITIES: Dict[str, Any] = {
|
|
|
140
140
|
|
|
141
141
|
_SEARCH_RECIPES: Dict[str, Dict[str, Any]] = {
|
|
142
142
|
"companies": {
|
|
143
|
-
"payload": {"query": "remote IT asset management", "limit":
|
|
143
|
+
"payload": {"query": "remote IT asset management", "limit": 10},
|
|
144
144
|
"usage": "autotouch search companies --data-file <payload.json>",
|
|
145
145
|
"notes": [
|
|
146
146
|
"Use this when you need to discover target accounts first.",
|
|
147
|
-
"Pricing: 1 credit per 10 returned companies.",
|
|
147
|
+
"Pricing: 1 credit per neural search API call. Max 10 returned companies per call.",
|
|
148
148
|
],
|
|
149
149
|
},
|
|
150
150
|
"people": {
|
|
@@ -153,12 +153,12 @@ _SEARCH_RECIPES: Dict[str, Dict[str, Any]] = {
|
|
|
153
153
|
"company": "Rippling",
|
|
154
154
|
"location": "United States",
|
|
155
155
|
"skills": ["endpoint management", "IT operations"],
|
|
156
|
-
"limit":
|
|
156
|
+
"limit": 10,
|
|
157
157
|
},
|
|
158
158
|
"usage": "autotouch search people --data-file <payload.json>",
|
|
159
159
|
"notes": [
|
|
160
160
|
"Use this when you already know the target companies or persona.",
|
|
161
|
-
"Pricing: 1 credit per 10 returned people.",
|
|
161
|
+
"Pricing: 1 credit per neural search API call. Max 10 returned people per call.",
|
|
162
162
|
],
|
|
163
163
|
},
|
|
164
164
|
"similar_companies": {
|
|
@@ -166,13 +166,13 @@ _SEARCH_RECIPES: Dict[str, Dict[str, Any]] = {
|
|
|
166
166
|
"company_name": "Rippling",
|
|
167
167
|
"company_domain": "rippling.com",
|
|
168
168
|
"company_description": "Workforce management and HR software platform for businesses",
|
|
169
|
-
"limit":
|
|
169
|
+
"limit": 10,
|
|
170
170
|
},
|
|
171
171
|
"usage": "autotouch search similar-companies --data-file <payload.json>",
|
|
172
172
|
"notes": [
|
|
173
173
|
"Good for expanding a seed account list.",
|
|
174
174
|
"Best results come from providing company_domain and a short company_description when known.",
|
|
175
|
-
"Pricing: 1 credit per 10 returned companies.",
|
|
175
|
+
"Pricing: 1 credit per neural search API call. Max 10 returned companies per call.",
|
|
176
176
|
],
|
|
177
177
|
},
|
|
178
178
|
"news": {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|