Awell Health Developer Hub
Dev Hub

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.

Folder requirements

Folder name

Please note that the name of the folder should be equal to the key of the extension (see below).

README

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.

Changelog

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.

Extension properties

Required properties

Name
actions
Type
object
Description

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.

Name
author
Type
object
Description

Information about the author of the extension.

Name
category
Type
string
Description

The category of your extension. Needs to be one of the predefined categories.

Name
description
Type
string
Description

A human-readable description of your extension. This is displayed as a sub-label underneath the title of the extension in Awell Studio.

Name
icon_url
Type
string
Description

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.

Name
key
Type
string
Description

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}`).

Name
settings
Type
object
Description

An extension can have no, one, or many settings. Learn more about extension settings and how to configure them here.

Name
title
Type
string
Description

The title or name of your extension.

Optional properties

Name
webhooks
Type
array
Description

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.

Hello world extension

Have a look at the sample action in extensions/hello-world.

Open Hello World extension