# 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](https://docs.appmixer.com/6.0/v4.4/appmixer-backoffice/getting-started) 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](https://docs.appmixer.com/6.0/v4.4/appmixer-cli/appmixer-cli#installation). You will use that tool to create packages of your components and publish them into your hosted Appmixer. [Here](https://docs.appmixer.com/6.0/v4.4/appmixer-self-managed/custom-component-helloappmixer) 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.
