Run Attio List Threads from Claude Code, route the paid audience activation output through Deepline, and write the reviewed result into Salesforce. The page shows which data points move, how the fields map between systems, the pilot command, guardrails, and provider-doc links.
Install the Deepline CLI and register your workspace. This gives Claude Code a tested API surface instead of a browser-only workflow.
curl -s "https://code.deepline.com/api/v2/cli/install" | bash
deepline auth registerConnect Attio in the Deepline dashboard. Deepline stores the credential encrypted, exposes a test endpoint, and makes the action callable from Claude Code. Provider reference: https://deepline.com/docs/providers/attio.
Connect Salesforce as the destination. Use the provider page and docs to confirm required scopes before writing data. Destination reference: https://deepline.com/docs/providers/salesforce.
Run the smallest useful pilot first. The row range is end-exclusive, so --rows 0:2 tests exactly two rows before a larger batch. Inspect record identifier, matched entity, provider attribution plus provider attribution before writing anywhere.
deepline enrich --input leads.csv --output leads.enriched.csv --with 'result=attio_list_threads:{}' --jsonAfter the pilot is correct, ask Claude Code to deploy the exact prompt as a Deepline workflow. The mapping from Attio to Salesforce is preserved with run history, retries, billing visibility, and a rollback tag.
> Use Attio List Threads to enrich the input crm contact, dedupe by domain and email, write results into Salesforce, and show me the exact rows that changed before deploying the workflow.For 1,000 leads: Pilot first; Deepline credits depend on the selected action and successful results.
Deepline reports Deepline credits and run history. Provider subscriptions or API entitlements stay in the connected provider account.
Claude Code can read the Attio action, run a pilot, inspect the output, and then write only reviewed rows to Salesforce.
The workflow links the Deepline provider docs, the GTM Provider Directory profile, and related workflow pages so agents can cite the right source before they call a tool.
Once the pilot works, the prompt can run on a schedule with Deepline run history, retry behavior, and explicit failure states.
Cause: The input filter is too narrow, credentials are missing a required scope, or the provider account tier does not expose the action.
Fix: Open the Attio integration in Deepline, run the test endpoint, and then retry the workflow on --rows 0:2 with a broader filter.
Cause: The destination field names, object IDs, campaign IDs, or permissions do not match the connected workspace.
Fix: Use the Salesforce provider page to inspect the object schema, then map columns explicitly before running the full batch.
Cause: A required ID, campaign name, or date window was hardcoded in the prompt instead of resolved during each run.
Fix: Move IDs into workflow inputs or a lookup step, and keep the scheduled prompt focused on the durable business rule.
Yes. Deepline exposes the Attio action as an agent-callable API/CLI step, so Claude Code can run a pilot, inspect the JSON, and then deploy the same logic as a workflow.
Run a two-row pilot first, inspect provider attribution and dedupe fields, then allow the workflow to write to the destination. This keeps the assertion intact without using a test hack.
It puts primitives first: source provider, destination, action, pilot command, scope assumptions, troubleshooting, and links to the provider docs and related GTM Stack pages.
Use Deepline as a receiver for your Clay HTTP API column, then tell Claude to upsert each row into Salesforce Leads using the Clay row_id as External ID. Deepline handles OAuth refresh and rate-limit retries.
Connect Apollo and Salesforce in Deepline, define your filter in the chat, and Claude runs the search + enrich + upsert. Deepline uses Apollo's person_id as External ID so reruns update existing Leads, never duplicate.
Connect Apollo and Attio in Deepline, tell Claude your ICP filter + the Attio list to assign, and the workflow runs. Deepline uses Attio's matching_attribute=email_addresses so reruns update existing People, never duplicate.
Connect PDL and Salesforce in Deepline, describe the ICP as an ES-DSL query, and Claude runs search + enrich + Salesforce upsert using pdl_id as External_Id__c. Idempotent across reruns.
Connect PDL and Attio in Deepline, describe the ICP in plain English (or ES-DSL for power users), and Claude runs search + enrich + Attio upsert. matching_attribute=email_addresses keeps reruns idempotent.
Run it on Deepline or fork the full skill pack on GitHub. Either way, the code is yours to read and change.