Browse workflows

Automation builders and power users

Temp Storage handoffs between AI tools

Pass files between email, WordPress, and other integrations without manual downloads or re-uploads.

Outcome: Reliable file handoffs using ephemeral storage and presigned links

Integrations in this workflow

Example questions

Try asking your AI client

  • Download the PDF attachment from my latest unread Gmail message, store it in Temp Storage, and upload it to my WordPress media library as a private draft attachment. Return the Temp Storage file_id and WordPress media URL.

  • Find the invoice in my Email inbox from last week, put it in Temp Storage, and attach it to a WordPress draft - do not publish.

  • Which Temp Storage files came from Gmail or Email in the last 2 days, and which of those are already in WordPress?

  • Take the newest Gmail PDF, store it in Temp Storage with a 6 hour TTL, and write a WordPress draft that links the media - do not publish.

  • I have a file_id from Temp Storage. Confirm it is still available, then add it to WordPress media and tell me if the original Gmail or Email message is still unread.

The problem

Agents lose files between tool calls. Downloading attachments locally and re-uploading breaks autonomous workflows.

Gateway tools

  • gmail__download_attachment with store_in_temp_storage=true (or email__download_attachment)
  • temp-storage__create_file / temp-storage__read_file / temp-storage__create_temp_link
  • wordpress__upload_media with file_id from Temp Storage

See the Temp Storage integration guide for cross-tool patterns.

Governance

  • Temp Storage files auto-expire — do not use it for long-term archives or compliance records.
  • Presigned links are shareable; revoke by deleting the file when links should no longer work.
  • Email attachments may contain malware — scan or review before uploading to public WordPress sites.

Connect via private gateway

Activate the integrations above, create an API token scoped to mcp:private-gateway, then add this config to your MCP client.

Config file: ~/.cursor/mcp.json

{
    "mcpServers": {
        "stackgate-private-gateway": {
            "url": "https://stackgate.ai/mcp/private",
            "headers": {
                "Authorization": "Bearer YOUR_API_TOKEN"
            }
        }
    }
}