Autotouch Smart Table CLI
Project description
Autotouch CLI
Installable CLI for the Smart Table developer API.
Use it when you want command-driven access to search, tables, columns, runs, jobs, leads, sequences, and task workflows without hand-writing raw HTTP requests.
The CLI talks to the same API the product uses. For automation, prefer --output json.
For a machine-readable local command contract, use autotouch cli-manifest --output json.
For a shipped human-readable reference generated from the installed parser, use autotouch cli-reference.
Install
pipx install autotouch-cli
# or
pip install autotouch-cli
# upgrade
pip install -U autotouch-cli
First Run
Existing developer key:
read -s AUTOTOUCH_API_KEY
export AUTOTOUCH_API_KEY
autotouch setup --api-key "$AUTOTOUCH_API_KEY" --base-url https://app.autotouch.ai
Equivalent manual steps:
autotouch auth set-key --api-key "$AUTOTOUCH_API_KEY" --base-url https://app.autotouch.ai
autotouch auth check --base-url https://app.autotouch.ai
Fresh account:
export AUTOTOUCH_CONFIG_PATH=/tmp/autotouch-audit.json
read -s AUTOTOUCH_BOOTSTRAP_PASSWORD
export AUTOTOUCH_BOOTSTRAP_PASSWORD
autotouch auth bootstrap \
--first-name Ada \
--last-name Lovelace \
--email ada+audit@example.com \
--password "$AUTOTOUCH_BOOTSTRAP_PASSWORD" \
--organization-name "Audit Org" \
--save-key
autotouch auth check
Config precedence:
- Explicit flags win over environment variables.
- Environment variables win over saved config.
- Saved config wins over built-in defaults.
- For JSON payload inputs, pass either
--data-jsonor--data-file, not both.
5-Minute Flow
# 0) First-run setup
autotouch setup --api-key "$AUTOTOUCH_API_KEY" --base-url https://app.autotouch.ai
# 1) Inspect machine-readable contract
autotouch capabilities --output json
# 2) Create a table and capture its id
TABLE_ID=$(autotouch tables create --name "CLI Contacts" --output json --select id)
# 3) Add a couple rows with the default lead_finder recipe's expected field
ROW_ID=$(autotouch rows add \
--table-id "$TABLE_ID" \
--records-json '[{"domain":"openai.com","companyName":"OpenAI"},{"domain":"stripe.com","companyName":"Stripe"}]' \
--output json --select rowIds.0)
# 4) Generate a provider-backed column payload
autotouch columns recipe --type lead_finder --out-file column.json
# 5) Create the column and capture its id
COLUMN_ID=$(autotouch columns create --table-id "$TABLE_ID" --data-file column.json --output json --select id)
# 6) Run a small controlled slice and capture the bulk job id
JOB_ID=$(autotouch columns run-next \
--table-id "$TABLE_ID" \
--column-id "$COLUMN_ID" \
--count 2 \
--show-estimate \
--wait \
--output json --select job_id)
# 7) Verify backend truth
autotouch jobs get --job-id "$JOB_ID" --output json
# 8) Inspect exactly what changed
autotouch rows get --table-id "$TABLE_ID" --row-id "$ROW_ID" --output json
Cheat Sheet
- Create table:
autotouch tables create - Add rows:
autotouch rows add - Inspect rows:
autotouch rows list,autotouch rows get - Inspect one cell:
autotouch cells get - Create a workflow column:
autotouch columns recipe,autotouch columns create - Run provider-hidden search:
autotouch search companies,autotouch search people - Run controlled slices:
autotouch columns run-next - Poll authoritative state:
autotouch jobs get - Create/activate sequences:
autotouch sequences recipe,autotouch sequences create,autotouch sequences activate - Query leads:
autotouch leads query - Find a lead by email or phone:
autotouch leads query --search '<email-or-phone>' --limit 10
More
For automation or agent-driven setup, use:
autotouch cli-manifest --output jsonfor the local machine-readable command contractautotouch cli-referencefor the shipped parser-generated referenceautotouch capabilities --output jsonfor provider/workflow contractsautotouch rows list/autotouch rows get/autotouch cells getfor read-back and auditautotouch sequences ...andautotouch tasks ...for sequence/task workflowspip install 'autotouch-cli[mongo]'if you need the Mongo-backedstatus/watchcommands
LLM Columns
For llm_enrichment in agent mode, the recommended path is:
- provide
config.instructions - let the API compile the runnable prompt
- keep
config.useAutoSchema = true
Only send user_schema / response_schema when you intentionally want to override the generated schema and keep it aligned yourself. The installed recipe surface at autotouch columns recipe --type llm_enrichment follows this contract.
Schema ownership rules:
- Accepted generated schemas and explicit user schemas are the saved output contract.
- Row execution must not add fields, rename fields, or replace a valid locked schema.
- Agent-mode evidence/scored state decides which values may fill the schema; the finalizer formats those values and schema validation gates persistence.
Prompt variables in authored prompts support nested JSON access:
- Use flat row variables like
{{company_name}}for scalar columns. - Use dotted placeholders like
{{linkedin_lookup.linkedin_url}}when the source column stores JSON or stringified JSON. - For arrays, use numeric indexes such as
{{contacts.0.email}}. - This is different from config payload mappings, which use objects like
{ "column": "linkedin_lookup", "path": "linkedin_url" }.
Docs
- Full CLI reference: https://github.com/nicolonic/autotouch_main/blob/main/docs/research-table/reference/autotouch-cli.md
- Agent playbook: https://github.com/nicolonic/autotouch_main/blob/main/docs/research-table/guides/autotouch-cli-agent-playbook.md
- Tables/API reference: https://github.com/nicolonic/autotouch_main/blob/main/docs/research-table/reference/tables-api.md
- Authentication/scopes: https://github.com/nicolonic/autotouch_main/blob/main/docs/platform/authentication.md
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file autotouch_cli-0.2.69.tar.gz.
File metadata
- Download URL: autotouch_cli-0.2.69.tar.gz
- Upload date:
- Size: 192.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6bea12850badcb748974db0f35ecb8f4b20d1551a7f473418088dde0388fe0ee
|
|
| MD5 |
4a313a7cf6cd68c596f348d74519c9c1
|
|
| BLAKE2b-256 |
bce3bec6a84b6d298839904d6b1c17fd0415343554b58e64e92a1880c925da34
|
File details
Details for the file autotouch_cli-0.2.69-py3-none-any.whl.
File metadata
- Download URL: autotouch_cli-0.2.69-py3-none-any.whl
- Upload date:
- Size: 215.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1d903f17b798713335bc394a211210914bcc1204136c7576fd7e3f24722cb44a
|
|
| MD5 |
83f45d3f54af1306c6f50cfe0fa31d6c
|
|
| BLAKE2b-256 |
d9adcb940a31d41f39788ec7c5572d33743725684aa16480ba7cae3eb047e727
|