Skip to content

Connect LyEve to other systems

Start from what you want to happen, then follow the link. Each page says what the feature is best for, how to try it and what it needs. A feature that needs a license starts when your license includes it. See Licensing and tiers.

I want to...UseBest forFree or license
Call my server when content changesWebhooksOne or a few HTTP endpoints, such as a build hook or a sync job, with signing and a delivery historyFree up to 25 webhooks per tenant. More, templates, filters and retry policies need webhook-pro
Stream every change to many servicesMessage broker eventsSearch indexers, caches and pipelines reading NATS, Kafka or RabbitMQ at their own paceLicense: messagebroker
Send a missed window of changes againEvent replayCatching up a receiver after an outage, or backfilling a new integrationLicense: events
Run logic, post to chat or call another API when something happensFlowsSeveral steps, conditions, custom endpoints and outbound calls without writing a serviceFree up to 20 flows. Outbound nodes and more flows need flow-pro
Read and write content from an app or a scriptContent APIAny language that speaks HTTP and JSONFree
Call LyEve from TypeScript or a frontend frameworkClient librariesTyped calls with retries, paging and errors handled, for React, Vue and Svelte tooFree
Call LyEve from a server with no user signed inAPI keysScoped, revocable credentials for backends and jobsFree. Monthly request limits per key need apikey-pro
Fetch exactly the fields a frontend needs, in one requestGraphQL APIPages that combine several content types, typed clients, locked-down persisted queriesLicense: graphql
Call LyEve from services on my network over HTTP/2gRPC APIGenerated clients and frequent calls between servicesLicense: grpc
Update a browser or app liveRealtimeLive previews, dashboards, presence and broadcasts over SSE or WebSocketLicense: realtime
Take payloads from another service in as entriesIncoming webhooksShops and form services that post signed JSONCreating one needs webhook-pro
Let people sign in through an identity providerSign-in and provisioningGoogle, GitHub or any OIDC provider, SAML 2.0, and SCIM user provisioningOAuth free with one provider, more need oauth-pro. License: saml or scim
Verify LyEve tokens in my own servicesValidate tokens with JWKSChecking a user's token in another service without sharing a secretFree
Keep files in S3 or another object storeObject storageSeveral replicas, durable files, uploads straight from the browserFree
Send account mail and my own templated emailEmailAn SMTP relay or a pool of providers, branded templates, bounce and click trackingFree with one SMTP provider and five templates per tenant. A pool, the API transport and more than five templates need email-pro
Send the audit log to my SIEMAudit log streamingSplunk, Datadog or an HTTPS collector, in order, with retries and a signatureLicense: audit and audit-pro
Hear in Slack, Discord, PagerDuty or email when a job, an error rate, the log volume or a probe goes wrongAlertsOne message per incident, and one when it recoversFree by email. Slack, Discord, PagerDuty and webhooks need alerts-pro
Send analytics events to PostHog, Amplitude or my own endpointAnalyticsContent and product events, with a delivery log, retries and a signed webhookGA4, Mixpanel, Plausible and Segment free. The rest, and retries, need analytics-pro
Copy configuration from staging to productionPromote configurationContent types, flows, access rules, webhooks and settings in one bundle, with a dry runLicense: config-sync

Four features react to the same content changes, and they suit different receivers:

The receiver isUse
An HTTP endpoint you runWebhooks
A message broker with several consumersMessage broker events
A browser or app with a user in front of itRealtime
Any of the above, for changes that already happenedEvent replay

When the reaction needs logic, a flow starts on the same events and can call any of them, or an outside API, as one of its steps.

The Content API on port 3002 reads and writes entries, and the Admin API on port 3001 manages content types, users and settings. The two APIs explains which is which. GraphQL and gRPC serve the same content over other protocols, and each content type decides which of them may reach it. See Transports.

Every surface keeps tenants apart: a request reaches only its own tenant's content, and outbound events carry the tenant they came from. See Tenants.