Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion docs/integrations/core-events.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ All events include these fields:

### Customer

<EventSchemaViewer event="CustomerRequestSubmitted" />

<EventSchemaViewer event="CustomerDetailsUpdated" />

### Billing Account
Expand Down Expand Up @@ -76,4 +78,4 @@ These events are triggered manually via automation.

<EventSchemaViewer event="TerminateContractRequested" />

<EventSchemaViewer event="InvoiceSimulationRequested" />
<EventSchemaViewer event="InvoiceSimulationRequested" />
21 changes: 17 additions & 4 deletions docs/integrations/integration-toolkit/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ curl -X POST 'https://erp-integration.sls.epilot.io/v1/integrations/{integration
| `configuration` | object | Yes | Type-specific configuration (see sections below) |

:::info
- `file_proxy` — On-demand file serving from external document systems. See the [File Proxy guide](./file-proxy.md).
- `file_proxy` — On-demand file serving from external systems or outbound delivery of epilot files. See the [File Proxy](./file-proxy.md) and [Outbound File Delivery](./outbound-file-delivery.md) guides.
- `managed_call` — Synchronous external API calls with JSONata mapping. See [Managed Call Use Cases](#managed-call-use-cases).
- `secure_proxy` — Route requests through epilot's secure proxy for static IP or VPN access. See [Secure Proxy Use Cases](#secure-proxy-use-cases).
:::
Expand Down Expand Up @@ -181,11 +181,11 @@ curl -X POST 'https://erp-integration.sls.epilot.io/v1/integrations/{integration

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `id` | string (UUID) | Yes | Unique identifier for the mapping |
| `id` | string (UUID) | No | Unique identifier for the mapping; generated when omitted |
| `name` | string | Yes | Display name for the mapping |
| `enabled` | boolean | Yes | Whether this mapping is active |
| `jsonata_expression` | string | For `webhook` delivery | JSONata expression to transform the event payload. Required for `webhook` delivery; ignored for `poll` delivery |
| `delivery` | object | Yes | How the event is delivered — discriminated on `type`: `webhook` or `poll` |
| `jsonata_expression` | string | For `webhook` delivery | JSONata expression to transform the event payload. Required for `webhook`, ignored for `poll`, and rejected for `file_proxy` delivery |
| `delivery` | object | Yes | How the event is delivered — discriminated on `type`: `webhook`, `poll`, or `file_proxy` |

#### Delivery Types

Expand Down Expand Up @@ -228,6 +228,19 @@ curl -X POST 'https://erp-integration.sls.epilot.io/v1/integrations/{integration

Everything beyond the configuration contract — the polling and acknowledgement API, lease and ordering semantics, retention and expiry behavior, the dead-letter queue and operator actions, and poll-mode monitoring — is documented on the dedicated [Pollable Outbound](./pollable-outbound.md) page.

**File proxy delivery (push):** points to an upload-direction `file_proxy` use case in the same integration. The referenced recipe owns fan-out, payload mapping, file selection, authentication, and HTTP steps. `jsonata_expression` is rejected on this mapping type. See [Outbound File Delivery](./outbound-file-delivery.md) for the complete setup and runtime behavior.

```json
"delivery": {
"type": "file_proxy",
"use_case_slug": "customer-request-document-upload"
}
```

| Property | Type | Required | Description |
| --- | --- | --- | --- |
| `use_case_slug` | string | Yes | Slug of an upload-direction `file_proxy` use case in the same integration |

## Mapping Configuration Schema

### Version 2.0 Structure
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
sidebar_position: 7
sidebar_position: 8
title: External Monitoring Events
description: Push monitoring events from an external system (e.g. an integration middleware) into epilot so the Integration Hub is your central monitoring point, with a cross-system event trace
slug: /integrations/integration-toolkit/external-monitoring-events
Expand Down
4 changes: 4 additions & 0 deletions docs/integrations/integration-toolkit/file-proxy.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ slug: /integrations/integration-toolkit/file-proxy

# File Proxy

:::info File direction
This page covers files moving **into epilot on demand** from an external archive. To deliver files referenced by epilot events to an external API, see [Outbound File Delivery](./outbound-file-delivery.md).
:::

The File Proxy enables epilot to serve files from external document systems (e.g., ERP document archives, document management systems) **on demand**, without migrating files into epilot's storage. During [inbound sync](./inbound/getting-started.md), file entities are created with a `custom_download_url` pointing to the file proxy. When a user views the file, epilot's file service verifies the request and the proxy fetches the document from the external system in real time.

Each file proxy configuration is stored as a **use case** with `type: 'file_proxy'` within an integration. The configuration describes how to authenticate, which HTTP calls to make, and how to extract the file from the response — all declaratively, without code changes for new integrations.
Expand Down
Loading
Loading