# Manual / Custom Integration

> Current Froomle documentation · [View canonical page](https://docs.froomle.com/froomle-doc-main/v2/guide/manual-integration/index.html)

Use this method when you send events or request recommendations without relying on the frontend SDK to own the integration flow. It covers direct APIs, backend and mobile applications, Pub/Sub, SFTP, and custom browser implementations.

> **IMPORTANT:**
> 
> Complete [Item synchronization](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/item-sync-options.html) first. Catalog synchronization is shared setup and remains required whether recommendations are later integrated manually or through the frontend SDK.

<a id="_integration_sequence"></a>

## Integration sequence

1.  Configure [authentication](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/authentication-flow.html) for APIs that require OAuth.
    
2.  Implement [manual event tracking](https://docs.froomle.com/froomle-doc-main/v2/guide/manual-integration/events.html) before recommendation placements go live.
    
3.  Implement [manual recommendation requests and attribution](https://docs.froomle.com/froomle-doc-main/v2/guide/manual-integration/recommendations.html).
    
4.  If results span multiple pages, follow [manual recommendation pagination](https://docs.froomle.com/froomle-doc-main/v2/guide/manual-integration/recommendations.html#manual-recommendation-pagination).
    
5.  Add specialized integrations such as [batch recommendations](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/batch-requests.html), [audience recommendations](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/audience-recommendations.html), or [search](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/search-api.html) when required.
    
6.  Use the [Users API](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/users-api.html) for supported user-record, identity, and privacy/deletion workflows when required.
    
7.  Validate the result using [QA & Monitoring](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/qa-monitoring.html).
    

> **NOTE:**
> 
> Events API calls are unauthenticated. Do not attach an OAuth `Authorization` header to event requests. Authentication is required only for the Froomle APIs documented as authenticated.

<a id="_shared_contracts"></a>

## Shared contracts

Manual implementations must follow the same product contracts as SDK integrations:

-   [Event model and tracking contract](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/tracking-events.html)
    
-   [Recommendation request model](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/recommendation-requests.html)
    
-   [User identity and consent](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/user-identity-consent.html)
    
-   [Modules and placements](https://docs.froomle.com/froomle-doc-main/v2/guide/topics/modules-and-placements.html)
