coldbox-proxy

Expose ColdBox event handlers to non-HTTP remote callers via proxy CFCs.

1|Updated Apr 10, 2026
One-click install
npx skills add https://github.com/ColdBox/skills --skill coldbox-proxy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: coldbox-proxy
Source: https://github.com/ColdBox/skills/tree/main/coldbox/coldbox-proxy
Command: npx skills add https://github.com/ColdBox/skills --skill coldbox-proxy

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Expose ColdBox application event handlers to remote, non-HTTP callers so external protocols like SOAP, Flex/AIR, event gateways, or direct CFC remoting can invoke application logic without relying on the HTTP request cycle.

Core Features & Use Cases

  • Proxy pattern: create domain-focused proxy CFCs that extend coldbox.system.remote.ColdboxProxy to mediate remote calls into ColdBox events.
  • Request bridging: use process() to merge incoming arguments into the request collection and return handler results directly to remote callers.
  • App mapping and interception: configure COLDBOX_APP_MAPPING when the app is not at webroot and use the preProxyResults interception point for logging, transformation, or auditing.
  • Use case: publish a SOAP or Flex endpoint that calls existing ColdBox handlers for CRUD operations while keeping business logic inside handlers.

Quick Start

Create a remote proxy CFC that extends coldbox.system.remote.ColdboxProxy, set arguments.event to the target handler, and return super.process with the argument collection to expose the handler to non-HTTP callers.

Frequently Asked Questions about coldbox-proxy

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I expose ColdBox handlers to SOAP or Flex AIR non-HTTP callers?

Expose ColdBox handlers to non-HTTP callers by creating a remote proxy CFC that extends coldbox.system.remote.ColdboxProxy. Set arguments.event to the target handler, then return super.process with the argument collection to bridge external protocols into application logic.

How does the ColdBox proxy process method merge arguments into the request collection?

The process() method bridges remote calls by merging incoming arguments directly into the ColdBox request collection. It executes the targeted event handler and returns the results to the remote caller outside the standard HTTP request lifecycle.

Do I need to configure COLDBOX_APP_MAPPING for non-webroot ColdBox proxy CFCs?

Yes, you must configure COLDBOX_APP_MAPPING when your ColdBox application is not located at the webroot. This setting ensures the proxy CFC correctly resolves application paths for non-HTTP remote calls.

Can I log or transform remote proxy results before returning them in ColdBox?

Yes, use the preProxyResults interception point to intercept, log, audit, or transform proxy results before they are returned. This interception occurs within the ColdBox proxy lifecycle before data reaches the remote caller.

What is the best way to invoke ColdBox event handlers from CFC remoting without HTTP?

The best way to invoke ColdBox handlers from direct CFC remoting is extending coldbox.system.remote.ColdboxProxy. This proxy pattern mediates non-HTTP calls, keeping business logic inside handlers while exposing CRUD operations to external protocols.

Why should I use a proxy pattern for ColdBox event gateway integration instead of calling handlers directly?

Using a proxy pattern for event gateway integration prevents coupling external protocols to internal handler logic. The proxy CFC mediates non-HTTP calls, merging arguments into the request collection and returning handler results without relying on the HTTP request cycle.