Extension settings
Define what the person installing an extension configures, including the secure way to handle API keys.
Extension settings are what the person installing an extension fills in inside Awell Studio. They are also the secure way to handle the secrets and environment variables an extension needs, such as an API key.
Settings are available in every custom action and webhook the extension defines.
What each setting declares
A setting declares a key, a label, a description, whether it's required, and whether it's obfuscated.
const twilioSettings = {
apiKey: {
key: 'apiKey',
label: 'API Key',
description: 'Enter your API key',
obfuscated: true, // set this to true when the setting stores sensitive data
required: true,
},
fromNumber: {
key: 'fromNumber',
label: 'From number',
description: 'The number we will send the message from',
obfuscated: false,
required: true,
},
};Obfuscate anything sensitive
Set obfuscated: true for anything sensitive: an API key with obfuscated: false is visible to anyone
who can view the extension's configuration.
Default to obfuscating unless the value is genuinely public, like a sender phone number.
Write descriptions for the person installing it
The label and description are the entire interface a customer sees at install time. "Enter your API
key" is fine; "apiKey" is not. Say where to find the value if it isn't obvious.
Next steps
Next: Store secrets for how these settings keep secrets out of extension code.