Connect the right tools without creating a mystery machine
Give an agent a small, inspectable path from source to result. Understand what a connection exposes, test each handoff, and make failures recoverable before you depend on the full workflow.
Jump to the exerciseWhat you’ll be able to do
- Choose connections by required operations instead of app names.
- Test a complete path from source record to verified output.
- Find the failing stage when a connected workflow breaks.
1. Draw the job before connecting the apps
Start with a sentence that identifies the source, the transformation, and the destination. ‘Read this week's support tickets, group repeated requests, and save a draft product brief’ is a useful connection plan. It requires access to selected tickets and one draft destination. It does not automatically require access to your inbox, calendar, customer billing system, or every document in the company.
Write down the operation needed at each stage. Search tickets, read a ticket, create a draft, and send a message are distinct operations even when one connector exposes all of them. Prefer a purpose-built connection that provides the needed operation and a clear result. Browser control can still be appropriate when the action is only available in the interface. Choose based on the actual task and inspectability, then test the chosen path.
A three-stage pipeline
Illustrative workflow: Read tickets tagged ‘onboarding’ from the last seven days. Produce a table of recurring issues with ticket links. Save the table in a new draft document inside the product-research folder. Do not modify tickets or notify customers.
2. Distinguish information from actions
A connected app might expose documents, callable functions, or reusable instructions. In the Model Context Protocol, resources provide context, tools perform callable operations, and prompts provide reusable instruction templates. That vocabulary helps you ask a precise question: can this connection only read a document, or can it also replace the document's contents? A familiar app logo alone does not answer that question.
Inspect the connection's documented capabilities and the controls your agent product actually offers. A tool called ‘search’ might return only titles and snippets. A separate read operation may be necessary to obtain the full record. A create operation might save a draft or publish immediately. Confirm those semantics before using real content. Keep a short inventory containing the tool, account, allowed object set, read or write behavior, and expected result.
List the required operations
Use verbs such as search, read, create draft, update, and send. Map each verb to a documented tool.
Inspect the result
Determine whether the operation returns a full record, a preview, an identifier, or only an acknowledgement.
Name the boundary
State which records and destinations the agent may use for this task.
Inspect the tool pipeline
Follow a sample read-only tool call across four boundaries. Inspect the request, permission check, execution, and returned evidence, then try two failure states.
The model proposes a call
A structured request names a tool and its arguments. A request is not permission to execute.
{ "tool": "search_notes", "arguments": { "query": "launch decision" } }3. Authorize the smallest useful connection
Use the supported authorization flow and check which account is granting access. Review the permissions requested before accepting them. If a connector requires broader access than the task needs, consider a restricted workspace, a dedicated folder, or a different connection. Do not assume a sentence in the prompt technically restricts the connector. A prompt describes intended behavior; account and application controls determine what is enforceable.
MCP's authorization documentation describes permission-bearing tokens and distinguishes remotely hosted authorization from local server credential handling. For ordinary use, the practical question is where the credential is stored and what the connected process can reach. Use the product's credential storage mechanism. Keep secrets out of task documents and example prompts. Record how to disconnect the account so you can remove access when the experiment ends or its owner changes.
4. Test one record through the whole path
Use a small, non-sensitive fixture that you can recognize. Create or select a sample ticket with a known phrase, retrieve it, and verify the text. Ask the agent to transform it into the expected output shape. Save the result in the intended test destination and open it yourself. This distinguishes a working connection from a working end-to-end task.
At each handoff, preserve identifiers and source links. A ticket title is useful to a reader, but an identifier distinguishes two tickets with the same title. State which fields must survive the transformation. In the onboarding example, the output should retain the issue description, supporting ticket IDs, and whether the proposed fix came from a customer or the agent. Those distinctions make the final brief reviewable without rereading every tool call.
A useful test result
The fixture ticket appears once in the draft. Its source link opens the same ticket. The issue is summarized accurately. A suggested fix is labelled as a proposal. The draft exists in the selected folder and has not been shared or published.
5. Diagnose the failed stage
When the pipeline fails, ask for the last successful operation and the first failed operation. An expired connection, missing record permission, malformed input, and unavailable destination are different problems. Reconnecting every app is a poor first response because it hides which boundary failed. Preserve the intermediate result and repair the failing stage.
Be especially careful after a write times out. A server may have created the document before the agent lost the response. Search the destination for the intended title or saved identifier before creating another copy. If the tool supports an operation identifier or duplicate-prevention mechanism, use it. If it does not, define a naming convention and a verification step. A readable failure report should say which source records were processed, whether any output exists, and what action can safely resume the job.
6. Add connections only when the work requires them
Run the pipeline on a small real batch after the fixture passes. Inspect a few source-to-output pairs and every exception. Then increase the batch size while recording elapsed time, tool errors, and your review effort. More connections can expand the work the agent can do, but they also create more possible targets and more places for data to change between steps.
Maintain a one-page operating note: purpose, owner, connections, permitted operations, output location, recovery procedure, and last successful check. Review it when a connection or workflow changes. Remove tools the task no longer uses. If a new request requires sending the product brief to customers, treat that as a new action boundary. Prepare the exact recipients and content for review instead of assuming that permission to create a draft included permission to distribute it.
When things go wrong
Start with the failure you can observe.
The connection works, but the agent cannot find a record.
Check the account, workspace, object permissions, filters, and whether search returns full content. Test the record directly before broadening access.
The output loses where facts came from.
Add source ID and source URL to the required intermediate fields. Reject transformations that drop those fields.
Retries keep creating duplicate drafts.
Inspect whether the first write succeeded before retrying. Use an existing record ID, supported duplicate-prevention feature, or a unique run title to resume safely.
Put it into practice
0 / 5Use this checklist on your next real task.
Your checklist is saved in this browser. Exercise inputs are not saved.
Sources & further reading
Primary references for the ideas in this chapter. Product behavior can change; check the documentation for the version you use.
- MCP: Understanding servers
Defines resources, tools, and prompts, and describes tool schemas and possible user oversight mechanisms.
- MCP: Understanding authorization
Supports checking granted access, credential handling, and the distinction between remote authorization and local server credentials.
Edited October 7, 2026 · Examples are illustrative unless attributed.