Your first Custom action

7min
in the following article we will learn how to create a simple custom action and how to add it to our flow 1\ open visual studio 2\ create a new project of type class library ( net 6) 3\ in this example we will call the action fullname 4\ add the nuget to your project go to tools → nuget package manager → manage nuget packages for solution from package source select your github connection from browse select the ringhel procesio action core package check the name of your project and click install 5\ in the solution explorer right click on your project and select edit project file and replace the text with \<project sdk="microsoft net sdk"> \<propertygroup> \<targetframework>net6 0\</targetframework> \<copylocallockfileassemblies>true\</copylocallockfileassemblies> \<generatepackageonbuild>true\</generatepackageonbuild> \<targetsfortfmspecificbuildoutput> $(targetsfortfmspecificbuildoutput);includedepsinpackage \</targetsfortfmspecificbuildoutput> \<allowedoutputextensionsinpackagebuildoutputfolder> $(allowedoutputextensionsinpackagebuildoutputfolder); pdb; json \</allowedoutputextensionsinpackagebuildoutputfolder> \<version>1 0 0 1\</version> \</propertygroup> \<itemgroup> \<packagereference include="ringhel procesio action core" version="1 19 2" /> \</itemgroup> \<target name="includedepsinpackage"> \<itemgroup> \<buildoutputinpackage include="$(outdir) " /> \</itemgroup> \</target> \</project> if you choose to use the following optional tags, you will need to update them manually when you create a new build in the same way as you update the version tag or the changes will not appear in the new build \<assemblyversion>1 0 0 1\</assemblyversion> \<fileversion>1 0 0 1\</fileversion> 6\ create your custom action in a new class 7\ include the following namespaces in your custom action class definition using system; using system threading tasks; using ringhel procesio action core models; using ringhel procesio action core; using ringhel procesio action core actiondecorators; using ringhel procesio action core utils; 8\ we will provide you the full code for a custom action that will concatenate two strings that will be provided as inputs namespace concatenateaction { \[classdecorator(name = "name of action", shape = actionshape square, description = "description of the custom action", classification = classification cat1, tooltip = "tooltip of the action", istestable = false)] \[fedecorator(label = "configure formatting", type = fecomponenttype side pannel, tab = "presentation",parent = "side panel parent", rowid = 1)] \[permissions(candelete = true, canduplicate = true, canaddfromtoolbar = true)] public class concatenate iaction { \[fedecorator(label = "first name", type = fecomponenttype text, parent = "side panel parent", rowid = 1)] \[bedecorator(ioproperty = direction input)] \[validator(isrequired = true)] public string firstname { get; set; } \[fedecorator(label = "last name", type = fecomponenttype text, parent = "side panel parent", rowid = 2)] \[bedecorator(ioproperty = direction input)] \[validator(isrequired = true)] public string lastname { get; set; } \[fedecorator(label = "string after format", type = fecomponenttype text, parent = "side panel parent", rowid = 3)] \[bedecorator(ioproperty = direction output)] \[validator(isrequired = true)] public string fullname { get; set; } public async task execute() { fullname = string concat(firstname, " ", lastname); } } } you have the following class attributes that if set as true will give your action extra functionality, we advise that you set them to true if the canaddfromtoolbar is set as false in your code the action will not appear in the platform 9\ the above code can be altered to create your own specific custom action or left as is 10\ to generate your own nuget you will need to right click your project in the solution explorer and select properties and in the package section you will need to check generate nuget package on build before each build you will need to come here and change the package version, for example from 1 0 0 0 to 1 0 0 1 11\ from the visual studio main menu select build solution from the build dropdown 13\ to add the custom action to your project switch to the custom actions section 14\ click the create custom action button on the bottom left corner 15\ give the action a name and upload or drag and drop the file and click save 16\ the newly created custom action will appear in the custom actions list and you can drag it on the canvas like any other action we provided the code used to create the custom actions present on the platform on github