Cloud Storage · Beta
SideDrawer
API integration
Ship Cloud Storage features without building the integration. Full SideDrawer API access via Proxy and 70+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Built for specific customer use cases. Issues are resolved quickly.
Talk to usUse Cases
Why integrate with SideDrawer
Common scenarios for SaaS companies building SideDrawer integrations for their customers.
Provision compliant client vaults on signup
WealthTech, tax, and legal SaaS platforms can automatically spin up a branded, templated SideDrawer vault the moment a new client is created, eliminating manual onboarding and ensuring every client folder structure matches compliance requirements.
Embed a secure document workspace in your CRM
Financial services CRMs can render a native file tree per contact by mapping each CRM record to a SideDrawer Drawer, so advisors upload, organize, and share sensitive documents without leaving the app.
Push generated reports directly into client vaults
Financial planning, reporting, and e-signature platforms can deliver finalized PDFs, portfolio reports, and signed contracts straight into the correct client folder, replacing insecure email attachments with an auditable delivery channel.
Pull existing financial documents to accelerate underwriting
Mortgage, lending, and insurance platforms can (with user consent) ingest W-2s, tax returns, and pay stubs from a client's existing SideDrawer, removing manual re-uploads and shortening application cycles.
Stream audit trails into your compliance product
RegTech and compliance SaaS can pull SideDrawer timeline events into their own dashboards, giving firms a unified view of who accessed, downloaded, or modified regulated documents for SEC/FINRA reporting.
What You Can Build
Ship these features with Truto + SideDrawer
Concrete product features your team can ship faster by leveraging Truto’s SideDrawer integration instead of building from scratch.
Templated vault provisioning
Create a new Drawer and apply a predefined template to auto-generate the correct folder structure for a workflow like estate planning, tax season, or loan intake.
Embedded file tree per customer record
List folders and files for a given Drawer to render a live, in-app document browser tied to each of your users' clients.
Drag-and-drop uploads with server-side sync
Push binary files from your UI into the correct SideDrawer folder using the upload endpoint, so documents your users drop into your app land in their vault instantly.
Granular folder-level sharing
Invite external collaborators such as accountants or lawyers to a single folder rather than the entire vault, with the ability to revoke access programmatically.
Immutable document sealing on signature
Automatically seal files after e-signature completion so signed contracts and disclosures become tamper-proof for audit purposes.
Activity timeline sync
Pull SideDrawer timeline events into your product's activity feed or compliance log to show a unified record of every view, download, and edit.
SuperAI
SideDrawer AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
create_a_side_drawer_drawer
Create a new Drawer (sidedrawer) in SideDrawer. Returns the created Drawer including id, name, description, firstName, lastName, default, status, userSidedrawerRole, and subscriptionFeatures. Required: name.
get_single_side_drawer_drawer_by_id
Get a single Drawer (sidedrawer) by id in SideDrawer. Returns: id, copyPlanRequests, copySidedrawerCollaborators. Required: id.
update_a_side_drawer_drawer_by_id
Update a Drawer (sidedrawer) by id in SideDrawer. Returns the updated Drawer including id, name, description, firstName, lastName, default, status, userSidedrawerRole, and subscriptionFeatures. Required: id.
delete_a_side_drawer_drawer_by_id
Delete a Drawer (sidedrawer) by id in SideDrawer. Returns the deleted Drawer including id, name, description, firstName, lastName, default, status, userSidedrawerRole, and subscriptionFeatures. Required: id. Pass hardDelete=true for permanent deletion.
side_drawer_drawers_get_home
Get the home dashboard view of a Drawer (sidedrawer) in SideDrawer, including owner details, subscription features, and folder type summaries with localized display values and counts. Returns: id, type, copyPlanRequests, copySidedrawerCollaborators. Required: sidedrawer_id.
side_drawer_drawers_get_home_lite
Get a lightweight summary of a SideDrawer drawer by sidedrawer_id, including owner details, status, and folder types. Returns: id, type, copyPlanRequests, copySidedrawerCollaborators. Required: sidedrawer_id.
side_drawer_drawers_apply_template
Apply a template to a SideDrawer drawer by sidedrawer_id to copy folder names, plan requests, and collaborators. Returns: id, copyPlanRequests, copySidedrawerCollaborators. Required: sidedrawer_id, sidedrawerTemplateId.
side_drawer_drawers_list_types
List all available SideDrawer drawer types. Returns: type, copyPlanRequests, copySidedrawerCollaborators.
side_drawer_drawers_get_branding
Get branding information for a SideDrawer drawer by sidedrawer_id. Returns: id, copyPlanRequests, copySidedrawerCollaborators. Required: sidedrawer_id.
create_a_side_drawer_folder
Create a new Folder (record) in a SideDrawer drawer. Returns the created Folder including id, name, description, status, active, recordDetails, and updatedAt. Required: sidedrawer_id, name, recordSubtypeName, recordTypeName, recordDetails.
list_all_side_drawer_folders
List Folders (records) within a SideDrawer drawer with optional filters by name, type, subtype, status, and locale. Returns: id, name, description, recordSubtype, recordSubtypeOther, storageLocation, recordType, status, updatedAt, lastModifiedBy, contributors. Required: sidedrawer_id.
update_a_side_drawer_folder_by_id
Update an existing Folder (record) in a SideDrawer drawer by id. Returns the updated Folder including id, name, description, uniqueReference, status, active, recordDetails, and updatedAt. Required: sidedrawer_id, id, name, recordSubtypeName, recordTypeName, recordDetails.
delete_a_side_drawer_folder_by_id
Delete a Folder (record) from a SideDrawer drawer by id, with optional hard delete. Returns the deleted Folder including id, name, description, status, active, and updatedAt. Required: sidedrawer_id, id.
get_single_side_drawer_folder_by_id
Get a single Folder (record) from a SideDrawer drawer by id. Returns: id, name, description, uniqueReference, storageLocation, recordSubtypeName, recordSubtype, recordSubtypeOther, recordTypeName, recordType, active, recordDetails, status, updatedAt, filesHistory, userSidedrawerRole, userRecordRole. Required: sidedrawer_id, id.
side_drawer_folders_move
Move a Folder (record) in SideDrawer to a different Drawer, Hanger, and Record Subtype. Returns: id, name, description, uniqueReference, storageLocation, recordSubtypeName, recordSubtype, recordSubtypeOther, recordTypeName, recordType, active, recordDetails, status, updatedAt, filesHistory, userSidedrawerRole, userRecordRole. Required: sidedrawer_id, record_id, destinationSidedrawerId,…
side_drawer_folders_copy
Copy a Folder (record) in SideDrawer to a different Drawer, Hanger, and Record Subtype. Returns: id, name, description, uniqueReference, storageLocation, recordSubtypeName, recordSubtype, recordSubtypeOther, recordTypeName, recordType, active, recordDetails, status, updatedAt, filesHistory, userSidedrawerRole, userRecordRole. Required: sidedrawer_id, record_id, destinationSidedrawerId,…
side_drawer_folders_list_all
List all Folders (records) within a Drawer (sidedrawer) in SideDrawer, with optional filtering by name, uniqueReference, recordType, recordSubtype, status, and locale. Returns: id, name, description, recordSubtype, recordSubtypeOther, storageLocation, recordType, status, updatedAt, lastModifiedBy, contributors. Required: sidedrawer_id. The v1 endpoint returns all results up to a limit of 200.
create_a_side_drawer_folder_relation
Create a related Folder (record) relation in SideDrawer. Returns: id, relatedRecord, active, createdAt, updatedAt. Required: sidedrawer_id, record_id, relatedRecord.
list_all_side_drawer_folder_relations
List related Folders (records) for a specific Folder in SideDrawer. Returns: id, name, active, relatedRecord, createdAt, updatedAt. Required: sidedrawer_id, record_id, locale.
side_drawer_folder_relations_bulk_delete
Delete a related Folder (record) relation in SideDrawer. Returns: id, relatedRecord, active, createdAt, updatedAt. Required: sidedrawer_id, record_id.
list_all_side_drawer_collaborators
List Sidedrawer collaborators with optional filters by network, drawer, folder, role, personal relationship, profession, or invitation code. Returns: id, relation, sidedrawer, contributorType, contributor, sidedrawerRole. v1 returns up to 200 results without pagination.
side_drawer_collaborators_list_active
List the caller's active Sidedrawer collaborators, optionally filtered by drawer or folder. Returns: sidedrawer, sidedrawerRole, record, recordRole, contributor, contributorType, relation, invitationCode, active.
side_drawer_collaborators_list_invitations
List the caller's pending Sidedrawer collaboration invitations (inactive collaborators/invitees), optionally filtered by drawer or folder. Returns: sidedrawer, sidedrawerRole, record, recordRole, contributor, contributorType, relation, invitationCode, active.
side_drawer_collaborators_list_teams_type
List Team-type Sidedrawer collaborators in the caller's network, optionally filtered by drawer or folder. Returns: sidedrawer, sidedrawerRole, record, recordRole, contributor, contributorType, relation, invitationCode, active.
side_drawer_collaborators_list_my_teams
List the Sidedrawer teams that the caller belongs to. Returns: sidedrawer, sidedrawerRole, record, recordRole, contributor, contributorType, relation, invitationCode, active.
side_drawer_collaborators_list_by_drawer_or_folder
List collaborators (network members) for a SideDrawer drawer, with optional filters by contributor type, email, role, region, and more. Returns: id, relation, sidedrawer, sidedrawerRole, record, recordRole, teamNetwork, expiryDate, contributorType, contributor, members. Required: sidedrawer_id. Supports filtering by contributorType (account, team, invitation) and entity (sidedrawer, record).
side_drawer_collaborators_list_by_folder
List collaborators (network members) for a specific folder (record) within a SideDrawer drawer, with optional filters by contributor type, email, role, region, and more. Returns: id, relation, sidedrawer, sidedrawerRole, record, recordRole, teamNetwork, expiryDate, contributorType, contributor, members. Required: sidedrawer_id, record_id. Supports filtering by contributorType (account, team,…
side_drawer_collaborators_list_all
List Sidedrawer collaborators across networks, optionally filtered by network, drawer, record, personal relationship, or profession. Returns an array of collaboration entries including the sidedrawer object, record object, contributor, contributorType, relation, invitationCode, and active status. The v1 endpoint returns all results up to a limit of 200.
create_a_side_drawer_drawer_collaborator
Add a collaborator (Account, Team, or Invitation type) to a SideDrawer drawer. Returns an array of collaborator objects including sidedrawer, contributor, contributorType, relation, and active. Required: sidedrawer_id, sidedrawerRole, contributor, expiryDate.
delete_a_side_drawer_drawer_collaborator_by_id
Remove a collaborator from a SideDrawer drawer by id. Returns an array of remaining collaborator objects including sidedrawer, contributor, contributorType, relation, and active. Required: sidedrawer_id, id.
side_drawer_drawer_collaborators_transfer_ownership
Transfer ownership of a SideDrawer drawer to a specified contributor. Returns an array of collaborator objects including sidedrawer, contributor, contributorType, relation, and active. Required: sidedrawer_id, contributor.
side_drawer_drawer_collaborators_create_team
Add a Team-type collaborator to a SideDrawer drawer via the v2 endpoint. Returns an array of collaborator objects with sidedrawer, sidedrawerRole, record, contributor, contributorType, relation, invitationCode, and active. Required: sidedrawer_id, sidedrawerRole.
side_drawer_drawer_collaborators_bulk_delete
Remove collaborator(s) from a SideDrawer drawer in bulk. Returns an array of collaborator objects with sidedrawer, sidedrawerRole, record, contributor, contributorType, relation, invitationCode, and active. Required: sidedrawer_id, sidedrawerRole.
update_a_side_drawer_drawer_collaborator_by_id
Update a Sidedrawer drawer collaborator by network id. Returns an array of updated collaborator objects including sidedrawer, sidedrawerRole, record, recordRole, contributor, contributorType, relation, invitationCode, and active. Required: sidedrawer_id, id, sidedrawerRole, expiryDate.
create_a_side_drawer_folder_collaborator
Add a collaborator to a SideDrawer folder (record). Returns an array of collaborator objects including sidedrawer, record, contributor, contributorType, relation, invitationCode, and active. Required: sidedrawer_id, record_id, recordRole, contributor, relation.
delete_a_side_drawer_folder_collaborator_by_id
Remove a specific collaborator from a SideDrawer folder by network id. Returns an array of collaborator objects including sidedrawer, record, contributor, contributorType, relation, invitationCode, and active. Required: sidedrawer_id, record_id, id.
side_drawer_folder_collaborators_create_team
Add a collaborator (including Team type) to a SideDrawer folder using the v2 endpoint. Returns an array of collaborator objects including sidedrawer, record, contributor, contributorType, relation, invitationCode, and active. Required: sidedrawer_id, record_id, recordRole, relation.
side_drawer_folder_collaborators_bulk_delete
Remove collaborators from a SideDrawer folder. Returns an array of collaborator objects including sidedrawer, record, contributor, contributorType, relation, invitationCode, and active. Required: sidedrawer_id, record_id.
update_a_side_drawer_folder_collaborator_by_id
Update a specific collaborator's role and relation on a SideDrawer folder by network id. Returns an array of collaborator objects including sidedrawer, record, contributor, contributorType, relation, invitationCode, and active. Required: sidedrawer_id, record_id, id, recordRole, relation.
create_a_side_drawer_hanger_collaborator
Add a Collaborator to a Hanger (recordType) within a sidedrawer Drawer. Returns the collaborator object including sidedrawer, record, contributor, contributorType, relation, invitationCode, and active. Required: sidedrawer_id, recordRole, contributor, relation, expiryDate.
list_all_side_drawer_hanger_collaborators
List Collaborators of a Hanger (recordType) within a sidedrawer Drawer using the v2 paginated endpoint. Returns collaborator objects including sidedrawer, record, contributor, contributorType, relation, invitationCode, and active. Required: sidedrawer_id.
side_drawer_hanger_collaborators_list_all
List all Collaborators of a Hanger (recordType) within a sidedrawer Drawer using the v1 endpoint. Returns collaborator objects including sidedrawer, record, contributor, contributorType, relation, invitationCode, and active. Required: sidedrawer_id.
side_drawer_hanger_collaborators_bulk_delete
Remove a Collaborator from a Hanger (recordType) within a sidedrawer Drawer by network id. Returns the remaining collaborator objects including sidedrawer, record, contributor, contributorType, relation, invitationCode, and active. Required: sidedrawer_id, network_id.
list_all_side_drawer_shared_drawers
List sidedrawers shared with you in SideDrawer with pagination and filtering support. Returns each drawer's id, name, brandName, sdRole, default, sdPhoto, networkId, and plan. Supports filtering by name, type, isTemplate, region, externalKey, and externalKeyValue.
side_drawer_shared_drawers_list_lite
List a lightweight version of sidedrawers shared with you in SideDrawer with pagination and filtering support. Returns each drawer's id, name, sidedrawerType, sidedrawerTypeOtherName, sdRole, and networkId. Supports filtering by name, type, isTemplate, region, externalKey, and externalKeyValue.
side_drawer_shared_drawers_list_all
List all sidedrawers shared with you in SideDrawer without pagination or filtering. Returns up to 200 results. Returns each drawer's id, name, sdRole, default, sdPhoto, networkId, and plan.
list_all_side_drawer_owned_drawers
List all owned Drawers (sidedrawers) in SideDrawer. Returns: id, name, brandName, sdRole, networkId, sdPhoto, plan.
side_drawer_owned_drawers_list_all
List all owned Drawers (sidedrawer) in SideDrawer. Returns: id, copyPlanRequests, copySidedrawerCollaborators.
list_all_side_drawer_template_drawers
List template Drawers in sidedrawer with v2 pagination and filtering support. Returns: id, name, brandName, sdRole, sdPhoto, networkId, plan. Supports filtering by Drawer name, Drawer type, Template, region, and key.
side_drawer_template_drawers_list_all
List all template Drawers in sidedrawer without pagination, up to a limit of 200 results. Returns: id, copyPlanRequests, copySidedrawerCollaborators. No filtering capability is available on this v1 endpoint.
create_a_side_drawer_file
Upload a file to a SideDrawer record (Folder). Returns: id, fileName, correlationId, uploadDetail, caption, uploader, url, fileTypeEnum, fileType, uploadTitle, cloudStorage, displayType, quarantined, sealed, fileUrl, active, fileSize, provider, createdAt, updatedAt, scan, clean, recordDetail, uploaderOpenId, lastModifiedBy, record. Required: sidedrawer_id, record_id, file.
list_all_side_drawer_files
List files within a SideDrawer record (Folder). Returns: id, fileName, correlationId, uploadDetail, caption, uploader, url, fileTypeEnum, fileType, uploadTitle, cloudStorage, displayType, quarantined, sealed, fileUrl, active, fileSize, provider, createdAt, updatedAt, scan, clean, recordDetail, uploaderOpenId, lastModifiedBy, record. Required: sidedrawer_id, record_id.
side_drawer_files_download_by_name
Download a file's binary content from a SideDrawer record by file name with extension. Returns the raw file binary stream. Required: sidedrawer_id, record_id, file_name_with_extension.
side_drawer_files_download_by_token
Download a file's binary content from a SideDrawer record by file token. Returns the raw file binary stream. Required: sidedrawer_id, record_id, file_token.
side_drawer_files_seal_by_name
Seal a SideDrawer record file by file name with extension. Returns: id, fileName, correlationId, uploadDetail, caption, uploader, url, fileTypeEnum. Required: sidedrawer_id, record_id, file_name_with_extension.
side_drawer_files_seal_by_token
Seal a SideDrawer record file by file token (v2 API). Returns: id, fileName, correlationId, uploadDetail, caption, uploader, url, fileTypeEnum. Required: sidedrawer_id, record_id, file_token.
side_drawer_files_quarantine_by_name
Send a SideDrawer record file to quarantine by file name with extension. Returns: _id, fileName, fileType, correlationId, uploadTitle, cloudStorage, displayType, quarantined, sealed, fileUrl, active, recordDetail, uploader, fileSize, provider, createdAt, updatedAt, __v. Required: sidedrawer_id, record_id, file_name_with_extension.
side_drawer_files_quarantine_by_token
Send a SideDrawer record file to quarantine using its file token. Returns: id, fileName, fileType, correlationId, uploadTitle, cloudStorage, displayType, quarantined, sealed, fileUrl, active, recordDetail, uploader, fileSize, provider, createdAt, updatedAt, uploadDetail, caption, url, fileTypeEnum. Required: sidedrawer_id, record_id, file_token.
side_drawer_files_get_metadata
Get metadata for a specific SideDrawer record file by its record file id. Returns: id, fileName, fileType, correlationId, uploadTitle, cloudStorage, displayType, quarantined, sealed, fileUrl, active, uploader, fileSize, provider, createdAt, updatedAt. Required: sidedrawer_id, record_id, record_file_id.
side_drawer_files_get_metadata_by_token
Get a SideDrawer record file's metadata by its file token. Returns: cloudStorage, displayType, quarantined, sealed, active, scan, clean, createdAt, updatedAt, correlationId, _id, fileToken, sidedrawer, recordDetail, fileType, fileName, fileExtension, fileSize, uploader, caption, uploadTitle, metadata, format, checkSum, blocks, recordFileBlocks, record, id, uploadDetail, url, fileTypeEnum.…
side_drawer_files_delete_by_name
Delete a SideDrawer record file by its file name with extension. Returns the deleted file object including _id, fileName, fileType, fileUrl, fileSize, provider, recordDetail, uploader, createdAt, and updatedAt. Required: sidedrawer_id, record_id, file_name_with_extension.
side_drawer_files_list_all
List all files in a SideDrawer record (folder). Returns each file with id, fileName, fileType, fileUrl, fileSize, provider, uploader, uploadTitle, createdAt, updatedAt, and additional status flags. Required: sidedrawer_id, record_id.
side_drawer_files_upload
Upload a file to a SideDrawer record folder. Returns: id, fileName, correlationId, uploadDetail, caption, uploader, url, fileTypeEnum. Required: sidedrawer_id, record_id, file.
update_a_side_drawer_file_by_id
Update a SideDrawer record file's upload title and correlation ID. Returns: id, fileName, correlationId, uploadDetail, caption, uploader, url, fileTypeEnum. Required: sidedrawer_id, record_id, id.
delete_a_side_drawer_file_by_id
Delete a SideDrawer record file by id. Returns the deleted file object including id, fileName, fileType, fileUrl, active, fileSize, provider, createdAt, and updatedAt. Required: sidedrawer_id, record_id, id.
side_drawer_files_copy_by_name
Copy a SideDrawer record file to a destination drawer by file name. Returns the copied file object including id, fileName, fileType, fileUrl, active, fileSize, provider, createdAt, and updatedAt. Required: sidedrawer_id, record_id, file_name_with_extension, destinationSidedrawerId.
side_drawer_files_copy_by_token
Copy a SideDrawer record file to a destination drawer by file token. Returns the copied file object including id, fileName, fileType, fileTypeEnum, fileUrl, active, fileSize, provider, createdAt, and updatedAt. Required: sidedrawer_id, record_id, file_token, destinationSidedrawerId.
side_drawer_files_move
Move a SideDrawer record file to a destination drawer by file token. Returns the moved file object including id, fileName, fileType, fileTypeEnum, fileUrl, active, fileSize, provider, createdAt, and updatedAt. Required: sidedrawer_id, record_id, file_token, destinationSidedrawerId.
side_drawer_files_bulk_update
Update a file's metadata in a SideDrawer record by file name with extension. Returns: id, fileName, correlationId, uploadDetail, caption, uploader, url, fileTypeEnum, fileType, uploadTitle, cloudStorage, displayType, quarantined, sealed, fileUrl, active, fileSize, provider, createdAt, updatedAt, scan, clean, recordDetail, uploaderOpenId, lastModifiedBy, record. Required: sidedrawer_id, record_id,…
list_all_side_drawer_timeline
List a SideDrawer's timeline notifications in a paginated view. Returns each notification item including its id, user, openId, entity, recordId, message, and rawTime. Required: sidedrawer_id. Can be filtered by folder (recordId), locale, time zone, openId, and read status.
side_drawer_timeline_list_all
List all timeline events for a SideDrawer drawer. Returns timeline entries including id, user, entity, message, rawTime, and recordId. Required: sidedrawer_id. Returns up to 200 results.
create_a_side_drawer_account_invitation
Create one or more account invitations in SideDrawer by sending invitation emails to contributors. Returns an array of created invitation objects including firstName, lastName, email, and phone. Required: email.
side_drawer_account_invitations_create_or_find
Create an account invitation in SideDrawer, sending an invitation email, or find an existing account by email. Returns a response including senderOpenId, brandCode, email, notificationType, locale, titleParams, bodyParams, notificationMethod, and openId when an existing account is found. Required: senderOpenId, email.
list_all_side_drawer_plans
List a drawer's available Plans in SideDrawer with paginated results (v2). Returns: name, description, brandCode, orderId, sidedrawerType, sidedrawerTypeOtherName, public, isTemplate, reportTypeNames, format. Required: sidedrawer_id.
side_drawer_plans_list_all
List a drawer's available Plans in SideDrawer returning all results up to 200 (v1, non-paginated). Returns: name, description, brandCode, orderId, sidedrawerType, sidedrawerTypeOtherName, public, isTemplate, reportTypeNames, format. Required: sidedrawer_id.
list_all_side_drawer_licenses
List available licenses for a SideDrawer subscription via the paginated v2 endpoint. Returns: id, licenseKey, userOpenId, sidedrawerId. Required: subscription_id.
side_drawer_licenses_list_all
List all available licenses for a SideDrawer subscription via the v1 endpoint, returning up to 200 results without pagination. Returns: id, licenseKey, userOpenId, sidedrawerId. Required: subscription_id.
create_a_side_drawer_batch
Submit a batch of multiple Sidedrawer API requests in a single call for efficient processing. Returns an array of individual responses, each containing id (correlation value) and body (endpoint-specific response). Required: requests.
Why Truto
Why use Truto’s MCP server for SideDrawer
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 800+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with SideDrawer in under an hour. No boilerplate, no maintenance burden.
Link your customer’s SideDrawer account
Use Truto’s frontend SDK to connect your customer’s SideDrawer account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call SideDrawer
Truto’s Proxy API is a 1-to-1 mapping of the SideDrawer API. You call us, we call SideDrawer, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate SideDrawer’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about SideDrawer on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
How does authentication work for SideDrawer through Truto?
Truto handles the OAuth and token exchange with SideDrawer on behalf of your end users. Once a user connects their SideDrawer account, Truto stores and refreshes credentials so your app can call any supported tool without managing auth flows directly.
Which SideDrawer objects can I read and write?
The integration covers Drawers, Folders, Folder Relations, Files, Collaborators (at drawer, folder, and hanger levels), Timeline events, Templates, Plans, Licenses, and Account Invitations. You can create, list, update, delete, move, copy, seal, and quarantine across these resources.
Can I upload and download binary file content?
Yes. You can upload files into a specific Drawer or folder and download them either by file name or by a secure token, which is useful for permissioned, time-bound access from your application.
How do I handle role-based access and external collaborators?
You can create collaborators at the Drawer, Folder, or Hanger level, list active collaborators and pending invitations, transfer ownership, and bulk-delete access. This lets you model granular RBAC — for example, granting a tax professional access to only one folder.
Is there support for compliance and audit use cases?
Yes. You can pull the full timeline of user interactions for audit reporting, seal files to make them immutable after signing, and quarantine files that need to be restricted, all programmatically.
How fresh is the data returned from SideDrawer?
All calls made through Truto are proxied in real time to SideDrawer's API, so reads reflect the current state of the vault. Truto does not cache resource data, which is important for regulated document workflows where staleness is unacceptable.
From the Blog
SideDrawer integration guides
Deep dives, architecture guides, and practical tutorials for building SideDrawer integrations.
SideDrawer
Get SideDrawer integrated into your app
Our team understands what it takes to make a SideDrawer integration successful. A short, crisp 30 minute call with folks who understand the problem.