The feature your customers want and no one wants to build

Document generation is a feature every SaaS product eventually needs. Whether it's a "Download as PDF" button, an automated report, or a customer-facing document export — your customers expect it. Building it well is a different matter.

A naive implementation generates a generic PDF with your SaaS's branding on it. A good implementation generates a document branded to each customer — their logo, their colors, their company name. Building the latter from scratch takes weeks and requires ongoing maintenance.

DocRocket is the document layer you call instead of building it.

How it works in your product

Your product calls DocRocket via MCP or the OpenAPI. When a user clicks "Generate Report" or "Export as PDF", your backend:

  1. Looks up (or extracts) the customer's brand ID
  2. Calls docrocket_generate_document with the brand, template, and report data
  3. Gets back a PDF URL and shareable web URL in under 2 seconds
  4. Returns the URLs to your frontend to display or download
# In your SaaS backend
from mcp import MCPClient

client = MCPClient(
    "https://mcp.docrocket.ai/v1/mcp-tools/docrocket-control/mcp",
    token=DR_OAUTH_TOKEN,
)

async def generate_customer_report(customer: Customer, report_data: dict):
    # First time: extract brand from customer's website (takes ~3s)
    # Subsequent times: brand_id is already stored in your DB
    if not customer.docrocket_brand_id:
        brand = client.call("docrocket_brand_from_url",
                           url=customer.website_url)
        customer.docrocket_brand_id = brand.brand_id  # cache it

    doc = client.call("docrocket_generate_document",
                  brand_id=customer.docrocket_brand_id,
                  template="report",
                  content=report_data)

    return {"pdf_url": doc.pdf_url, "web_url": doc.web_url}

Multi-tenant by design

This is DocRocket's strongest feature for SaaS products. Each of your customers gets their own isolated brand profile. Your code passes the appropriate brand_id per request — DocRocket renders each document with that customer's visual identity.

You can scale from 1 customer to thousands without changing your architecture. There is no "customer X's brand leaking into customer Y's documents" risk — brand isolation is enforced at the service level.

What your customers see

Their own logo. Their own brand colors. Their own typography. No DocRocket watermarks. No your-SaaS watermarks on the document itself (the PDF looks like it came from their design team). The shareable web URL is on docs.docrocket.ai by default; Scale and Enterprise plans support a custom domain matching your product.

Common SaaS patterns

  • Analytics SaaS: "Export monthly performance report as PDF" — generated with the customer's brand
  • CRM/Sales tools: "Generate a proposal for this deal" — branded to the prospect's company
  • CS platforms: "Create QBR for this account" — branded to the customer's company
  • HR/Operations SaaS: "Export this data as a formatted report" — branded to the employee's company
  • Agency tools: "Generate client report" — branded to each agency client

Add branded PDFs to your product today

30-day free trial. No credit card. Working integration in under an hour.

Start free trial →