You need to define a custom action in the molin.ai dashboard. You can define the name, description, and parameters that the action requires (e.g. email address, phone number, etc).
Your team needs to implement an API endpoint. This endpoint should accept the parameters defined in the dashboard and perform the action (e.g. generate a coupon and email it to the user).
You should enable the action from the dashboard and test it in the chat preview.
Go to the AI Actions page and click on the New Custom Action button.
Fill in a name and description. The name should describe succinctly what the action does. The description should provide more details about the action. Both the name and the description will be given to our AI so that it knows when to call the action. See the example screenshot below
Define the parameters that the action requires. For example, if the action is to email the user a coupon, you might need the user’s email address. You must define correctly the type of each parameter (e.g. string, number, or boolean).
Define the endpoint URL where the action will be triggered. This URL should be accessible from the internet via a POST request and should accept the parameters defined in the previous step. The endpoint should return plain text or JSON.
The entire response body from your endpoint will be given to the AI so it can respond to the user. Although the AI will only use the body to formulate its own answer, assume that the body can be shown to the user.
The request will be a POST request with a JSON body. The body will contain the parameters defined in the dashboard. You can read the x-molin- headers to get additional information about the widget and conversation.
Copy
POST https://your-endpoint.com/your-actionContent-Type: application/jsonx-molin-custom-actions-version: 2024-11-01x-molin-widget-id: widget-idx-molin-conversation-id: conversation-id{ "your_defined_param": "some value from user input"}
While the AI can understand JSON and XML, we recommend that you format your response as human readable plain text or markdown.
The response will be trimmed down to 8000 characters before being given to the AI. Make sure you remove any unnecessary information to stay under the 8000 character limit.
For example, if your custom action returns the order history for your customer, we recommend the following format:
Copy
Order ID: SHOP123Creation date: 2025-01-01Items:- 1 x Blue jumper- 2 x Red socksTotal cost: 100 USDOrder ID: SHOP456…
If you wish to test quickly, you can use Beeceptor, a free service that allows you to create a temporary endpoint that you can use to test your custom action.You can use the following URL as your endpoint in your custom action: