# Best practices

## Gettings started

When building integrations with different technologies and features, there are often multiple ways to achieve the same result. While many approaches may work, some can introduce unnecessary complexity or friction for the user.

This can lead to issues such as:

* Reduced usability
* Harder maintenance over time
* Unexpected behavior as the app evolves

Following a set of best practices helps ensure a smoother user experience and more robust integrations. The guidelines below are recommended to help you get the most out of Struct PIM now and as your app grows.

## Custom apps and related functionality

When setting up custom apps, it is generally a good idea to avoid tying your integration to a single extension point. Struct supports multiple extension points within the same app, which makes it possible to group related functionality together rather than splitting it across several separate integrations.

By keeping related features within a single app, you create a more cohesive and maintainable solution. It becomes easier to manage, extend, and understand over time. In contrast, spreading functionality across multiple apps can lead to fragmentation, making it harder to maintain a clear overview and increasing the complexity of future changes.

A more effective approach is to think of your app as a collection of related features, and then place those features across the relevant extension points where they make the most sense. This allows you to take full advantage of Struct’s flexibility while keeping your integration organized and scalable.

## Install URL

When designing the installation flow for your app, the goal should be to make the process as simple and frictionless as possible. While it may be tempting to require full configuration during installation, this can often create unnecessary barriers for users and lead to a less smooth experience.

A better approach is to keep the initial installation lightweight and defer more complex configuration steps until after the app has been installed.

This approach makes it easier for users to get started quickly, while still ensuring that all necessary configuration is completed.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.struct.com/developer/app-integration/best-practices.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
