# Creating Custom Components

{% hint style="info" %}
In order to successfully follow the next tutorials, you need few URLs that you should have already received.

Appmixer Backend API URL. Looks like `https://api.[acme].appmixer.cloud`

Appmixer Backoffice URL. Looks like `https://backoffice.[acme].appmixer.cloud`

Appmixer Frontend URL. Looks like `https://my.[acme].appmixer.cloud`
{% endhint %}

In order to publish your custom components into the Appmixer, you need an account with a certain permission. You need your admin account, visit the [Backoffice](/6.0/5.1/appmixer-backoffice/getting-started.md) and set it up. More information can be found [here](https://kb.appmixer.com/backoffice-features/extra-creating-custom-components).

{% hint style="info" %}
Customers tend to write their own components with the *appmixer* prefix. Something like `appmixer.[acme].crm.CreateCustomer`. This is not recommended. The first part of the module/component ID should not be *appmixer*, but your own vendor ID. You can use your company name, or the name of the product you're trying to build with Appmixer. Something like `[acme].crm.customers.CreateCustomer` could be the ID of your custom component.
{% endhint %}

There are a couple of tutorials you can follow in order to learn how to create and publish your own components.

First, you're gonna need to understand what a component is and how does a module with components look like. [This is a good place to start](https://docs.appmixer.com/appmixer/component-definition/basic-structure).

{% hint style="info" %}
Note that the HelloAppmixer tutorial, mentioned in the next paragraph, is written for the Appmixer running on a local machine. You can see a `http://localhost:2200` URL mentioned a couple of times there. In the *hosted* version of Appmixer, you have your own Appmixer Backend API URL which you will use instead of the localhost:2200.
{% endhint %}

Then you can write your own component. Before doing so, it is a good time to learn something about our [CLI](/6.0/5.1/appmixer-cli/appmixer-cli.md#installation). You will use that tool to create packages of your components and publish them into your hosted Appmixer. [Here](/6.0/5.1/appmixer-self-managed/custom-component-helloappmixer.md) is a simple HelloAppmixer tutorial on how to build your first module with a component.

Another [tutorial](https://kb.appmixer.com/backoffice-features/extra-creating-custom-components) can be found in our Knowledge base.


---

# 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.appmixer.com/6.0/5.1/appmixer-hosted/custom-components.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.
