Connect SideDrawer to ChatGPT: Manage Drawers and File Workflows
Learn how to connect SideDrawer to ChatGPT using Truto's auto-generated MCP server. Automate document workflows, seal files, and manage collaborator access.
If you want to connect SideDrawer to ChatGPT to orchestrate document lifecycles, manage secure client portals, and automate compliance audits, you need a Model Context Protocol (MCP) server. This infrastructure layer acts as the standard translation mechanism between a Large Language Model's function calls and SideDrawer's REST API. You can either spend weeks building and maintaining this server yourself, or use a managed integration platform like Truto to dynamically generate a secure, authenticated MCP server URL.
If your team uses Claude, check out our guide on connecting SideDrawer to Claude or explore our broader architectural overview on connecting SideDrawer to AI Agents.
Giving an AI agent read and write access to a secure document management system like SideDrawer is a complex engineering challenge. You have to handle rigid hierarchical data models, navigate complex permissions for collaborators across networks and teams, and deal with file sealing and quarantine states. Every time you want to expose a new capability to the LLM, a custom MCP server requires manual schema updates, redeployment, and testing.
This guide breaks down exactly how to use Truto to generate a secure, managed MCP server for SideDrawer, connect it natively to ChatGPT, and execute complex document workflows using natural language.
Stop writing boilerplate API integration code. Let Truto generate secure, managed MCP servers for your AI agents in seconds. :::
The Engineering Reality of the SideDrawer API
Building a custom MCP server means you own the entire API lifecycle. While the open MCP standard provides a predictable way for ChatGPT to discover tools, implementing it against SideDrawer's specific architecture is uniquely challenging.
If you decide to build a custom MCP server for SideDrawer, here are the specific integration hurdles you will face:
Strict Hierarchical Data Models
SideDrawer is not a flat file store like S3. It enforces a rigid hierarchy: Drawers contain Folders (referred to in the API as records), which in turn contain Files and Collaborators. Almost every file or folder operation requires both a sidedrawer_id and a record_id. If you do not map these requirements perfectly in your MCP JSON Schema definitions, ChatGPT will hallucinate payloads, attempting to create files without specifying which record they belong to, resulting in immediate 400 Bad Request errors.
Polymorphic File References (Name vs. Token)
SideDrawer handles file routing through multiple paradigms. A file can be accessed, downloaded, or sealed using its file name (side_drawer_files_download_by_name) or via a unique file token (side_drawer_files_download_by_token). Your MCP server must expose tools that handle both paradigms cleanly so the LLM knows which context to use when iterating over file arrays versus targeting a specific document uploaded by a user.
Granular Collaborator Types and Networks
Managing permissions in SideDrawer is highly nuanced. Collaborators can be added at the Drawer level or the Folder (Record) level. Furthermore, the API distinguishes between Account, Team, and Invitation contributor types. Building static MCP schemas that teach an LLM the difference between adding a Team to a Drawer versus an Account to a Folder requires significant documentation mapping.
WORM Compliance and Quarantine States
Because SideDrawer is used in highly regulated industries (finance, legal, real estate), files have explicit states like quarantined and sealed. A sealed file represents Write Once Read Many (WORM) compliance and cannot be modified. If your agent attempts to update metadata on a sealed file, the API will reject it. Your MCP server must fetch and surface this state metadata to the LLM so it can branch its logic appropriately.
Generating a SideDrawer MCP Server with Truto
Truto eliminates the need to build a custom server. It derives MCP tools dynamically from SideDrawer's API documentation and endpoint definitions, and scopes access to a specific connected account using a secure cryptographic token.
You can generate an MCP server for SideDrawer in two ways: via the Truto UI or programmatically via the API.
Method 1: Creating the MCP Server via the Truto UI
If you are configuring access manually for an internal ChatGPT workspace, the UI is the fastest path.
- Log into your Truto dashboard.
- Navigate to Integrated Accounts and complete the OAuth flow to connect your SideDrawer instance. Truto securely stores the credentials and handles token refreshing automatically.
- Click into the newly connected SideDrawer integrated account.
- Click the MCP Servers tab.
- Click Create MCP Server.
- Configure the server (e.g., name it "SideDrawer Compliance Agent", select allowed methods like
readandwrite, and apply tags likefilesordrawers). - Click Save and copy the generated MCP server URL (e.g.,
https://api.truto.one/mcp/a1b2c3d4...).
Method 2: Creating the MCP Server via the API
If you are provisioning ChatGPT access dynamically for your own customers, you can generate the MCP server programmatically. Truto requires the integrated_account_id associated with the SideDrawer connection.
Make a POST request to the /integrated-account/:id/mcp endpoint:
curl -X POST https://api.truto.one/integrated-account/$INTEGRATED_ACCOUNT_ID/mcp \
-H "Authorization: Bearer $TRUTO_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "ChatGPT SideDrawer Integration",
"config": {
"methods": ["read", "write"],
"tags": ["drawers", "folders", "files", "collaborators"]
}
}'The API responds with a secure URL:
{
"id": "mcp-789xyz",
"name": "ChatGPT SideDrawer Integration",
"config": { "methods": ["read", "write"] },
"expires_at": null,
"url": "https://api.truto.one/mcp/a1b2c3d4e5f6g7h8"
}This single URL handles routing, tool discovery, and authentication. Treat it like a sensitive credential.
Connecting the MCP Server to ChatGPT
Once you have the Truto MCP URL, connecting it to ChatGPT takes seconds. You can do this natively in the ChatGPT UI, or via a manual configuration file if you are running a local agent environment.
Method A: Via the ChatGPT UI
OpenAI provides native support for remote MCP servers for Plus, Pro, Team, and Enterprise users.
- Open ChatGPT and click Settings.
- Navigate to Apps (or Integrations) -> Advanced settings.
- Enable Developer mode.
- Under MCP servers / Custom connectors, click Add new server.
- Enter a name (e.g., "SideDrawer").
- Paste the Truto MCP URL into the Server URL field.
- Click Save.
ChatGPT will immediately perform a handshake with the URL, parse the dynamically generated JSON-RPC tool schemas, and make the SideDrawer capabilities available in your chat context.
Method B: Via Manual Config File (SSE Transport)
If you are orchestrating agents locally or using a custom ChatGPT-compatible client that relies on configuration files, you can connect using the Server-Sent Events (SSE) transport approach.
Create or update your MCP configuration file (e.g., mcp.json):
{
"mcpServers": {
"sidedrawer": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-sse",
"--url",
"https://api.truto.one/mcp/a1b2c3d4e5f6g7h8"
]
}
}
}Restart your agent framework, and it will mount the SideDrawer tools via the Truto proxy.
Hero Tools for SideDrawer
Truto automatically generates highly contextual tools based on the SideDrawer integration. Here are some of the highest-leverage operations your ChatGPT agent can perform, complete with example prompts.
Create a SideDrawer Folder
Initializes a new record (folder) within a specific Drawer. This is the foundational step for organizing new client onboarding or project files.
Usage notes: Requires the sidedrawer_id, a name, and specific recordTypeName and recordSubtypeName classifiers to dictate how the folder behaves in the SideDrawer UI.
"Create a new folder named 'Q3 Tax Documents' inside the Acme Corp drawer. Set the record type to 'Financials'."
List All SideDrawer Files
Retrieves the contents of a specific folder, including critical metadata like quarantine status, sealing status, and file size.
Usage notes: Crucial for audit workflows. The agent must pass both the sidedrawer_id and the record_id to scope the search properly.
"List all the files currently residing in the 'Q3 Tax Documents' folder. Tell me if any of them are flagged as quarantined."
Seal SideDrawer File by Token
Applies a WORM (Write Once Read Many) lock to a file using its unique file token. Once sealed, the document cannot be modified or deleted, ensuring absolute regulatory compliance.
Usage notes: Best practice is for the agent to first run a list operation, extract the file_token of the target document, and pass it to this tool.
"Find the finalized 'Q3_Balance_Sheet.pdf' in the financials folder and seal it by its token so it cannot be altered."
Apply Template to Drawer
Standardizes drawer structures by applying a pre-defined SideDrawer template, which copies over folder hierarchies, standard plan requests, and default collaborators in one action.
Usage notes: Ideal for scale. Requires the sidedrawer_id and the sidedrawerTemplateId.
"Apply the 'Standard Wealth Management Onboarding' template to the newly created Jane Doe drawer."
List Active Collaborators by Folder
Audits who has access to a specific folder. Returns detailed relation data, including whether the collaborator is an individual account or a team, and their exact role.
Usage notes: Vital for security audits. The agent can use this to verify that no unauthorized external parties have access to sensitive records.
"Run an access audit on the 'Legal Contracts' folder. List every active collaborator and their assigned role."
Get File Metadata by Token
Retrieves granular backend metadata for a single file, including cloud storage correlation IDs, checksums, and precise upload timestamps.
Usage notes: Used when the agent needs to verify data integrity or check the exact timestamp a document was processed by antivirus scanners.
"Get the deep metadata for the 'NDA_Signed.pdf' file using its token, and verify its checksum and clean scan status."
To view the complete inventory of available SideDrawer tools, including advanced bulk collaborator deletion and timeline event auditing, visit the SideDrawer integration page.
Workflows in Action
Exposing individual endpoints to an LLM is useful, but the real power of MCP is chaining these tools together to execute complex, multi-step workflows. Here is how ChatGPT handles real-world SideDrawer scenarios.
Scenario 1: Automated Client Onboarding (Wealth Manager)
A wealth manager needs to initialize a secure document portal for a new high-net-worth client, ensuring the correct folder structure is present and the client has appropriate access.
"Setup a new workspace for our new client, John Smith. Create a new drawer for him, apply our 'Standard Trust Template' to set up the default folders, and then add his email as an active collaborator with 'Viewer' rights to the root drawer."
Execution Steps:
create_a_side_drawer_drawer: ChatGPT calls this tool, passing the name "John Smith Portfolio", returning a newsidedrawer_id.side_drawer_drawers_apply_template: Using the new ID and the known template ID for trusts, the agent applies the template to instantly provision the folder hierarchy.create_a_side_drawer_drawer_collaborator: Finally, the agent adds John Smith's email as a collaborator with the specified role, triggering the secure invite.
Result: The wealth manager gets a confirmation that the client's secure portal is live, fully structured, and the invitation is pending—all executed in seconds via a single prompt.
sequenceDiagram
participant User
participant ChatGPT as ChatGPT (MCP Client)
participant Truto as Truto MCP Server
participant SideDrawer as SideDrawer API
User->>ChatGPT: "Setup new workspace for John Smith..."
ChatGPT->>Truto: Call create_a_side_drawer_drawer<br>(name: "John Smith Portfolio")
Truto->>SideDrawer: POST /v1/sidedrawers
SideDrawer-->>Truto: { id: "sd_123" }
Truto-->>ChatGPT: Result: Drawer created
ChatGPT->>Truto: Call side_drawer_drawers_apply_template<br>(sidedrawer_id: "sd_123")
Truto->>SideDrawer: POST /v1/sidedrawers/sd_123/template
SideDrawer-->>Truto: Success
Truto-->>ChatGPT: Result: Template applied
ChatGPT->>Truto: Call create_a_side_drawer_drawer_collaborator<br>(email, role)
Truto->>SideDrawer: POST /v1/sidedrawers/sd_123/collaborators
SideDrawer-->>Truto: Collaborator added
Truto-->>ChatGPT: Result: Invite sent
ChatGPT-->>User: "Workspace created, template applied, and John Smith invited."Scenario 2: Compliance Document Sealing (Legal/IT Admin)
An IT admin needs to enforce data immutability for a specific legal case folder, ensuring all final contracts are locked down and no unauthorized users have access.
"Audit the 'Project Phoenix Contracts' folder. First, list all collaborators to ensure only 'Legal Team' is attached. Then, review all files in the folder and seal any file that has the word 'Final' in the filename."
Execution Steps:
side_drawer_collaborators_list_by_folder: ChatGPT fetches the active collaborators for the specified record ID, confirming the access list.list_all_side_drawer_files: The agent pulls the array of files in the folder, reviewing thefileNamestrings.side_drawer_files_seal_by_token: For every file matching the "Final" criteria, the agent extracts thefile_tokenand executes the sealing endpoint sequentially.
Result: The admin receives an audit readout confirming that access is restricted correctly, along with a list of the specific files that were successfully sealed for WORM compliance.
Security and Access Control
Granting an AI agent access to a secure document management system requires strict governance. Truto provides robust security controls at the MCP layer to ensure your data remains protected.
- Method Filtering: When generating the MCP URL, you can restrict operations to specific HTTP methods. Passing
methods: ["read"]ensures the agent can query file lists and collaborators, but physically cannot upload, modify, or delete data. - Tag Filtering: You can constrain the agent's scope to specific functional areas using
config.tags. For example, settingtags: ["files"]prevents the agent from tampering with high-level Drawer settings or Collaborator logic. - Token Expiration: You can provision temporary MCP access by setting an
expires_attimestamp. Once the timestamp passes, Truto automatically invalidates the URL and cleans up the server resources. - Strict Authentication (
require_api_token_auth): By default, possessing the MCP URL grants access. By enabling therequire_api_token_authflag, you force the connecting client to also supply a valid Truto API Bearer token, adding a mandatory secondary layer of identity verification. - Rate Limits are Passed Through: Truto does not retry, throttle, or apply backoff on rate limit errors. When SideDrawer returns an HTTP 429, Truto passes that error directly to the caller with IETF-compliant
ratelimit-*headers (ratelimit-limit,ratelimit-remaining,ratelimit-reset). Your client or agent framework is responsible for managing the retry and backoff logic.
Stop managing complex OAuth flows, studying nuanced API schemas, and writing boilerplate integration code. Use Truto to instantly generate secure, highly contextual MCP tools for SideDrawer and hundreds of other enterprise APIs.
Ready to give your AI agents secure access to SideDrawer? Book a demo and see Truto's dynamic MCP generation in action. :::
FAQ
- How do I create a SideDrawer MCP server?
- You can create it via the Truto UI by navigating to your SideDrawer integrated account and clicking the MCP Servers tab, or programmatically by making a POST request to the /integrated-account/:id/mcp endpoint with your desired configuration.
- How do I connect the MCP server to ChatGPT?
- In ChatGPT, go to Settings -> Apps -> Advanced settings, enable Developer mode, and add a custom connector using the secure URL generated by Truto.
- Does Truto handle SideDrawer rate limits automatically?
- No. Truto does not retry or apply backoff logic. When SideDrawer returns an HTTP 429 rate limit error, Truto passes it to the caller with standard ratelimit headers. Your AI agent must handle the backoff.
- Can I restrict what ChatGPT can do in SideDrawer?
- Yes. Truto's MCP configurations support method filtering (e.g., read-only access) and tag filtering, ensuring the LLM can only access specific endpoints like files or collaborators.