Skip to main content
Human guide: work with your agent → Inspect one Apollo action before starting provider-backed work. Your first result is a verified input and output contract.

Provider-specific requirements

Apollo is customer-credential-only in Deepline. Do not route default plays, quickstarts, GTM skills, or fallback recipes to Apollo. Deepline cannot provide platform-managed Apollo access. A caller must first connect their own Apollo API key in the dashboard before any Apollo tool can execute. Use Apollo only when the user explicitly asks for Apollo and confirms their own Apollo key is connected. For general company, contact, and email workflows, prefer the non-Apollo routes documented in the GTM and Plays skills. apollo_search_people is a free preview search. Apollo intentionally obfuscates last names in its results. Use apollo_search_people_with_match when the workflow needs full names or matched contact records. apollo_people_search and apollo_people_search_paid are hidden deprecated aliases. Existing stored workflows forward to apollo_search_people_with_match for compatibility and automatically perform paid matching, including with your own credentials. Use apollo_search_people for free masked preview, or apollo_search_people_with_match for full matched identities in all new workflows. For asynchronous phone or waterfall results, read request_id_exact from the launch response and pass that string as request_id to apollo_poll_webhook_result. The exact field is preserved from the original provider JSON before numeric parsing, including in saved results. Unsafe integer request_id values are returned as exact strings. safe numeric values retain their numeric type. Previously saved unsafe numeric values may have lost precision. converting that number to a string cannot repair it. In a Play result, the authoritative field is result.toolResponse.rawV2.request_id_exact (or the same field within the provider’s data envelope). Read this raw value when constructing the poll. Mobile phone reveal is asynchronous. Use reveal_phone_number: true with poll_only: true, omit webhook_url, and poll apollo_poll_webhook_result using the exact returned request_id. Preserve large IDs as strings. A completed initial match does not mean phone numbers are ready. Wait while the poll is running, following retry_after_seconds when supplied. Read the completed webhook_result.people[].phone_numbers and join people by id. Unknown, expired, or invalid IDs are terminal errors. See phone enrichment for callback delivery and recovery.

Find an applicable action

Confirm your effective workspace, then search the live catalog:
Search returns candidates. Check the returned provider and operation rather than selecting a similar title automatically.

Inspect the selected contract

Replace <returned-tool-id> with the identifier returned by discovery:
These commands do not execute the selected provider action. Read its required inputs, supported access mode, pricing unit, outputs, and limits. A connection does not establish that every action supports BYOK. Follow the provider-specific requirements above and the live action contract.

Prepare one reviewed input

Use one authorized record that matches the inspected schema. Preserve its source identity and define the result you will accept. Open the action reference for its payload and response shape. Provider-backed execution can incur usage or external effects. For reusable logic, follow Write Plays. For direct-call recovery, use Tool execution recovery.
Continue only when the workspace, provider, required fields, acceptance rule, and applicable price are understood. Keep unavailable access separate from no-result evidence.