Lightyear Docs

Apps and custom apps

What is an app?

The term "app" is often used in various contexts, but here, it refers to a software application that can be connected to or integrated with our platform. Examples include Salesforce, Slack, GitHub, and Stripe. These apps allow your workflow to interact with third-party services for sending or receiving data.

Supported authentication (auth) types

Securely connecting to external apps is crucial. We support the following authentication types:

OAuth2

OAuth2 is the industry standard for modern services. It allows users to grant specific permissions without sharing passwords.

API Key

This simple approach involves providing a unique token (the API key) that identifies and authorizes you with the app.

Basic Auth

Basic Auth uses a username and password, often encoded in base64. While few systems use this method today, we support it for legacy or unusual integrations.

When should you use a built-in app?

Built-in apps are ideal for:

  • Prototyping and early development
  • Exploring integration functionalities
  • Proving out concepts

Note: For OAuth-based integrations, the authorization page will display Lightyear's branding, which might confuse or concern users in a production environment.

Why create a custom app?

Custom apps are recommended for production integrations due to:

  • Branding: Custom apps display your branding on the OAuth authorization page, enhancing trust and user experience.
  • Flexibility: They allow connections to almost any online service, including those not available as built-in options.
  • Control: You can customize permissions, scopes, and settings to meet your specific needs.

How to define a custom app

import { defineCustomApp } from "@runlightyear/lightyear";
import { TodoApp } from "./TodoApp";
 
const customApp = defineCustomApp({
  name: "todoApp",
  title: "Todo App",
  connector: TodoApp,
});

On this page