Map connection permissions to the action being authorized
Separate workspace scope, lifecycle privileges, tool discovery and exact action approval instead of using one connected flag.
Map desired operations to provider scopes, inspect the auth blueprint and reauthorize deliberately when access changes.
Begin with a concrete task such as listing calendar events for scheduling, rather than requesting everything a toolkit can support. Identify what data the agent must read and which outward changes the owner expects it to propose. Those operations determine which provider scopes are necessary. A toolkit may expose many unrelated actions, but its existence does not justify granting them all. Keep the task definition with the connection’s purpose so later reviewers can explain why a particular account was connected and whether its permissions are still appropriate.
Scope names are provider-specific and can overlap. Google’s scope reference, for example, distinguishes access to different Workspace services and levels of data access, while individual method references state which scopes they accept. Review the exact methods your selected tools implement rather than equating a word such as readonly with universal harmlessness. Some broad scopes require additional provider review or administrative approval. This guide does not promise that a smaller permission set avoids every verification requirement; the operator must check the current provider rules for the actual application and requested access.
The operator’s Composio auth config defines the authentication method, scopes and whether application credentials are managed or custom. The account owner then reviews the provider’s hosted authorization screen. Lupin returns a sanitized scopes view for the connected account but does not expose reusable OAuth secrets. If the configured blueprint asks for more than the workflow needs, resolve that with the operator before completing consent. Do not tell the owner to paste a refresh token into the agent as an alternative; that moves credential handling outside the intended hosted authorization boundary.
OAuth scopes bound what the provider credential can do; they do not establish approval for every action inside that boundary. Lupin’s consumer agent still requests exact approval for every app tool execution, including apparent reads. Conversely, a human approving an operation cannot make an insufficient provider scope work. Treat a denied tool as a mismatch to investigate, not automatic permission to broaden scopes. Show the selected account, concrete tool version and arguments, and ask whether the workflow itself should change before authorizing broader long-lived access.
Suppose a scheduling workflow originally lists events and later needs to create them. Record the new operation, compare accepted provider scopes and ask whether the owner wants that expanded behavior. Complete any required reauthorization, then rediscover and approve the exact creation. The old read-oriented purpose should not be silently rewritten as permission for every calendar action.
Reviewed against current checked-in Lupin routes, shared contracts and official provider references. No live calls, OAuth authorizations, app actions or purchases were performed.
Prepared with AI assistance by Lupin editorial. How we research and maintain these guides.