BizTalk Server provides an extensive library of out of the box functoids. In case you need functionality is not offered through the existing functoids you will need to built your own custom functoid. However there are quite a few available customized functoids available you can reuse and save you the time of building it yourself. This article provides you as developer all the resource available regarding custom functoids for BizTalk Server.
Add Carriage Return and Line Feed - This functoid adds Carriage Return (0x0D) and/or Line Feed (0x0A) to a string.
Convert First Letter to Uppercase - This functoid converts a string into the same string, with all words inside the string having been converted to lowercase with a capital first letter.
CSV Extract - This functoid extracts a certain substring from a string separated given a separator and a position.
Cumulative Comma - This functoid creates a comma separated list of values based on a reoccurring element.
Date Converter - This functoid converts a string representing a datetime from one format to another format, completely customizable.
If Then Else - This functoid helps you deal with the If-Then-Else issue in maps.
New GUID - This functoid returns a newly generated and unique GUID.
Read Application Config - This functoid reads a value from BizTalk's app.config file.
String Replace - This functoid replaces a string inside another string with a third string. It simply uses the String.Replace method in .NET 2.0.
Convert to epoch date (unix) format - This functoid allows you to convert a traditional date (Human Readable Date) into a unix date (Epoch Date).
Convert from epoch date (unix) format - This functoid allows you to convert a unix date (Epoch Date) into a traditional date (Human Readable Date).
Convert datetime format: This functoid allows you to convert datetime format.
Dynamics Generator Functoids
Password Generator - Use this functoid to build a random password.
Guid Generator - This functoid allows you to generate a new Guid.
Tiny Id Generator - This functoid allows you to generate a new Tiny Id.
Encoder Functoids
Base64 Encoder - This functoid allows you to decode Base64-encoded text strings.
Base64 Decoder - This functoid allows you to convert string object into base64 encoded string.
Configuration Functoids
BTSNTSvc Config Get: This functoid allows you to get configuration parameters from BTSNTsvc.exe.config. If there is no section specified, the functoid reads from the AppSettings.
System Environment Variable Get: This functoid allows you to get configuration parameters from machine System Environment Variable.
Custom Config Get: This functoid allows you to get configuration parameters from a custom configuration file.
Windows Registry Config Get: This functoid allows you to get configuration parameters from Windows Registry.
SSO Config Get: This functoid allows you to get configuration parameters from SSO Database.
Rule Engine Config Get - This functoid allows you to obtain a definition value from a Vocabulary in the Business Rules Engine.
CRM Functoids
CRM Lookup: This functoid allows you to retrieve a value from CRM lookup field.
MSCRM Map Helper Base Types - Use this functoid when you want map CRM base data types such as “xs:string”, “xs:int” and so on.
MSCRM Map Helper Guid - Use this functoid when you want map CRM guid type.
MSCRM Map Helper Money - Use this functoid when you want map CRM money type.
MSCRM Map Helper Option Value - Use this functoid when you want map CRM option value type.
MSCRM Map Helper References - Use this functoid when you want map CRM reference type.
String Functoids
String Constant - This functoid allows you to set constant values (strings) inside de maps.
String ToTitleCase - This functoid allows you to Converts the specified string to title case (except for words that are entirely in uppercase, which are considered to be acronyms).
String Advance Compare - This functoid allows you to compare two specified String objects, ignoring or honoring their case, and returns an boolean that indicates if they are equal or not.
String Replace - This functoid returns a new string in which all occurrences of a specified string (second parameter) found in the first string are replaced with another specified string (third parameter).
String Normalize - This functoid allows you to normalize the text. It will remove two or more consecutive spaces and replace them with a single space, remove two or more consecutive newlines and replace them with a single newline and “condense” multiple tabs into one.
String PadLeft - This functoid allows you to set a new string that right-aligns the characters in this instance by padding them on the left with a specified Unicode character, for a specified total length.
String PadRight - This functoid allows you to set a new string that left-aligns the characters in this string by padding them on the right with a specified Unicode character, for a specified total length.
String Remove Leading Zeros - This functoid allows you to remove any leading zeros from an input string.
Custom Advanced Functoids
Default Value Mapping: The Default Value Mapping functoid have a similar but different behavior from the Value Mapping functoid. You can use the Default Value Mapping functoid to return a value from one of two input parameters. If the value of the first input parameter is Null or Empty, then the value of the second input parameter is returned, otherwise the first input is returned.
Authentication Functoids
Get Windows Azure ACS Wrap Token - This functoid allows you to obtain an ACS WRAP access token in order to access a Windows Azure BizTalk Services Bridge or Windows Azure Service Bus resources. Note this token needs to be added to the outbound request message Http Header. In order to do so use the Authorization key and assign it's value as 'WRAP access_token={RECEIVED TOKEN}'
XPath Functoids
XPath - This functoid natively integrates custom XPath queries in the BizTalk mapper.
SharePoint Functoids
Add SharePoint 2013 Document Set - Creates a Document Set in an existing SharePoint 2013 List.
Logical Functoids
Advance Logical AND - Use the Advance Logical AND functoid to return the logical AND of input parameters. This functoid requires two to one hundred input parameters.
Advance Equal - Use the Advance Equal functoid to return the value "true" if the first input parameter is equal to the second input parameter. This functoid requires two input parameters.
Advance Greater Than - Use the Advance Greater Than functoid to return the value "true" if the first input parameter is greater than the second input parameter. This functoid requires two input parameters.
Advance Greater Than or Equal To - Use the Advance Greater Than or Equal To functoid to return the value "true" if the first input parameter is greater than or equal to the second input parameter. This functoid requires two input parameters.
Advance Less Than - Use the Advance Less Than functoid to return the value "true" if the first input parameter is less than the second input parameter. This functoid requires two input parameters.
Advance Less Than or Equal To - Use the Advance Less Than or Equal To functoid to return the value "true" if the first input parameter is less than or equal to the second input parameter. This functoid requires two input parameters.
Advance Not Equal - Use the Advance Not Equal functoid to return the value “true” if the first input parameter is not equal to the second input parameter. This functoid requires two input parameters.
Advance Logical NOT - Use the Advance Logical NOT functoid to return the logical inversion of the input parameter. This functoid requires one input parameter only.
Advance Logical OR - Use the Advance Logical OR functoid to return the logical OR of input parameters. The input parameters have to be Boolean or numeric. This functoid requires two to one hundred input parameters.
If-Then-Else - Use the If-Then-Else Functoid to return a value from one of two input parameters based on a condition. If the condition (first input) is True, then the value of the second input parameter is returned, otherwise the Third input is returned.
Will write to eventlog any output of string data type. It takes up 1 parameter and will return 1 parameter. It will return the same string after writing to eventlog.