Skip to content

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 us
SideDrawer

Use Cases

Why integrate with SideDrawer

Common scenarios for SaaS companies building SideDrawer integrations for their customers.

01

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.

02

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.

03

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.

04

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.

05

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.

01

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.

02

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.

03

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.

04

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.

05

Immutable document sealing on signature

Automatically seal files after e-signature completion so signed contracts and disclosures become tamper-proof for audit purposes.

06

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

01

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.

02

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.

03

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.

04

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.

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.