Getting started
Learn how to create an extension
Creating an extension is dead easy, just create a new folder in the /extensions
directory and start writing code. Below we will highlight the main concepts you will get in touch with when building an extension.
Please note that the name of the folder should be equal to the key
of the extension (see below).
Every extension directory should have a README.md
file at the root. This allows extension developers to add documentation for their extension such as installation instructions, limitations, how it works, etc. The content of the README will be displayed on the Marketplace.
Every extension directory should have a CHANGELOG.md
file at the root. This file allows extension developers to document changes between different versions of their extensions as well as instructions on how users can upgrade from one version to another. The content of the CHANGELOG will be displayed on the Marketplace.
actions
An extension can have no, one, or many Custom Actions. Your actions can also access the extension settings. Read more about creating Custom Actions here.
author
Information about the author of the extension.
category
The category of your extension. Needs to be one of the predefined categories.
description
A human-readable description of your extension. This is displayed as a sub-label underneath the title of the extension in Awell Studio.
icon_url
The icon for your extension. We recommend icons with a size of minimally `60x60` so it can be down- or upscaled depending on the context it is shown in.
key
A unique identifier for your extension. We recommend using a camelCase string. Important: The extension key should be identical to the name of the folder your extension code is in (`/extensions/{extensionKey}`).
settings
An extension can have no, one, or many settings. Learn more about extension settings and how to configure them here.
title
The title or name of your extension.
webhooks
An extensions can have no, one, or many Webhooks. Webhooks allow you to execute a piece of code/logic based on an incoming webhook. Extension generate a unique webhook endpoint URL which can be called to trigger any logic you want. Read more about webhooks here.
Have a look at the sample action in extensions/hello-world
.