> ## Documentation Index
> Fetch the complete documentation index at: https://deepline.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Have your agent build an application caller

> Have your agent build a Python or backend caller without managing the calling code yourself.

[Agent guide: CLI and SDK instructions →](/docs/sdk-v2/http-and-python)

## 1. Have your context ready

Describe the application, where it runs, the Play to call, and where the result should go. Credentials must stay server-side.

## 2. Ask your agent

Paste this into your agent, then provide your task and example inputs when it asks:

```deepline-prompt theme={null}
/deepline-gtm Build a caller for the Deepline Play in my application. Inspect the current API contract and maintained Python example. Keep credentials server-side. Persist launch intent and the returned run identity so a restart can inspect existing work. Handle completed, failed, cancelled, and uncertain outcomes separately. Show me how you will test recovery without launching duplicate provider work.
```

Complete any requested sign-in yourself. Give the agent the missing information before approving execution. Provider-backed work can incur usage.

## 3. Review the result

The caller resumes the original run after interruption and reports the terminal outcome. A timeout preserves the run identity rather than starting a replacement.

Ask your agent:

```deepline-prompt theme={null}
/deepline-gtm Compare the result with the acceptance rule we agreed. Show the evidence for accepted and rejected outcomes, unresolved questions, and recorded Deepline usage where work ran. If work is still running or a response is uncertain, inspect the original saved execution before proposing another request. Explain the next decision I need to make.
```

Approve a larger job, recurring work, or external changes only after reviewing that decision.

## Check your understanding

Does a local Python wait timeout cancel the remote Play?

> **Show the answer**
>
> No. Resume observation with the saved run ID. Use the explicit cancellation
> contract when cancellation is intended.

## Related guides

* [Recover a tool execution](/docs/human/sdk-v2/tool-execution-recovery)
* [Production Play Integration](/docs/human/sdk-v2/production-integration)
* [Call Plays](/docs/human/sdk-v2/calling-plays)
* [Runtime API Reference](/docs/sdk-v2/api-reference)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.