# Websites → endpoints and syncs Build a TypeScript integration. Test it in local Studio. Deploy it, then connect your users through hosted Link. ```text Your app → endpoint → connector → website Your app ← records + webhooks ← scheduled sync ``` | You want to… | Start here | | ------------------------------------------ | --------------------------------------- | | Run something now | [Your first endpoint](/docs/quickstart) | | Build against your website with an agent | [Capture a website](/docs/capture) | | Learn authentication, syncs and MFA | [Atlas walkthrough](/docs/atlas) | | Connect a deployed integration to your app | [Hosted Link](/docs/connect) | ## What you write ```text integrations/travel/ endpoints/cancel-booking.ts # your app calls this syncs/bookings.ts # keeps your app's records current connector/flows/authenticate.ts # Browserlayer calls this connector/flows/reauthenticate.ts # restores an existing session connector/flows/list-bookings.ts # reusable website workflow connector/site/bookings.ts # selectors, requests, parsing models/booking.ts # data your app needs ``` Endpoints use `createEndpoint`; syncs use `createSync`. Both call reusable connector operations defined with `createFlow`. All three share resumable execution. The compiler checks each definition against its directory. **Next:** [Install the CLI](/docs/install).