Adobe Campaign, Marketing Automation

Add action button to the form view

Add action button to the form view

Have you ever wondered how to add new button with custom functionality to form view. I will show you step by step how to do it.

In my example I will create signatures used in email campaigns, which will be dependent on the recipient’s profile information such as language, country etc. The way how I have designed the solution for this problem is following:

  • we will use custom table schema that will hold all the signature rules and the signature content.
  • we will create synchronization button on the form view that will run JavaScript code to recreate personalization block with all the active rules found in the database.

You can achieve similar result with attaching the table to the delivery in the personalization tab

JavaScript library

Add JavaScript library that will contain all custom methods for your schema or schemas if you want to have all methods from all schemas under one library. All the functions inside the library have to follow naming convention

<namespace>_<schema>_<method_name>
var cus_myCusSchema_myNewMethod = function(arg){
//do something
}

Save the library and keep the name for to use later. In our example we called this library cus:myNewMethodsLibrary

Database schema with method

Create new or extend schema to add new methods in respective place.

<srcSchema name="myCusSchema" namespace="cus" xtkschema="xtk:srcSchema">
	<element>
             ...
             ...
   	</element>
  	<methods>
      <method library="cus:myNewMethodsLibrary" name="myNewMethod" static="true">
        <parameters>
          <param desc="Argument for function" inout="in" name="argIn" type="<valid_type>"/>
          <param desc="Parameter returned by function" inout="out" name="argOut" type="<valid_type>"/>
          <param desc="Parameter returned by function" inout="out" name="argOut2" type="<valid_type>"/>
        </parameters>
      </method>
  	</methods>
</srcSchema>

Navigation tree

Buttons with custom functionality are called commands in adobe campaign and to add them in the view you need to amend the navigation tree structure. First we extend the nms:core navigation tree. Also you can skim this through to find more useful information what else you can do with the navigation tree.

We add under the <model name=”root” following

 <nodeModel img="nms:survey/radiolist.png" label="My custom schema action button" name="myCusNavTreeButton">
        <command desc="Custom button function caller" img="nl:runtask.png" label="Do something"
                 name="myCusNavTreeButtonMethod" promptLabel="Really want me to do something?"
                 rights="">
          <soapCall name="myNewMethod" service="cus:myCusSchema">
            <param type="string" xpath="@dummy-value"/>
          </soapCall>
        </command>
        <view name="listdet" schema="cus:myCusSchema" type="listdet">
          <columns>
            <node xpath="@someField"/>
            ...
            <node xpath="@someOtherField"/>
          </columns>
        </view>
      </nodeModel>

That is it we have created new functionality inside adobe campaign classic.
The newly created schema methods are also exposed to the SOAP and can be called from another system just as any other default method described in the WSDL and also should be available in there upon creation.

Oh hi there 👋
I have a FREE e-book for you.

Sign up now to get an in-depth analysis of Adobe and Salesforce Marketing Clouds!

We don’t spam! Read our privacy policy for more info.

#programming
Marcel Szimonisz
Marcel Szimonisz
MarTech consultant As a marketing automation consultant, I specialize in problem-solving, process automation, and driving innovation for clients' marketing platforms.

I hold certifications in Adobe Campaign v6 (3x certified) and Salesforce Marketing Cloud (5x certified), as well as 1x Salesforce Associate certified.

Moreover, I serve as a community advisor for Adobe Campaign, providing expert insights and guidance.

Beyond my professional pursuits, I explore various programming languages, CMSs, and frameworks, enhancing my technical expertise and staying at the forefront of industry advancements.
Take a look at our subscription offering in case you are looking for a Marketing Automation Consultant.

Leave a comment

Your email address will not be published. Required fields are marked *

Similar posts that you may find useful

split-screen comparison: one side displays a user typing a SQL query in uppercase, while the other side shows the same query in lowercase, both leading to identical database results. The design emphasizes equivalence through elements like equal signs or arrows and features a digitally inspired background with matrix-style code or abstract tech imagery.
Marketing Automation, Salesforce Marketing Cloud, SFMC Tips & Tricks

WOW! SQL queries are case insensitive

1 minute read

I recently discovered that when querying data views, case sensitivity in column names doesn’t make a difference; it consistently picks up the column when named correctly. Let’s explore where else column case sensitivity doesn’t play a significant role. First let’s create a data extension with some columns so we can test following in Query studio, […]

Continue reading
Adobe Campaign Classic tips
ACC Tips & Tricks, Adobe Campaign, Marketing Automation

Change delivery code after it was sent

1 minute read

Sometimes, it happens that you execute a campaign, and you realize that some information on the delivery is simply not correct. But don’t worry! Before your analysts pick up the raw data, we can change it at any point. You might have tried to change it from the campaign dashboard but found that the data […]

Continue reading
preference center
Marketing Automation, Salesforce Marketing Cloud

Multi-cloud contact preference center

5 minutes read

With majority of the implementations the out of the box center is not sufficient for the client and we are tasked to build custom preference center for them. We can assume that the preference center is only applicable for known subscribers most likely coming from email communication.  When we send email in salesforce marketing cloud, […]

Continue reading
Adobe Campaign Classic Automate Publishing File Resources With Workflow
Adobe Campaign, Marketing Automation

Automate file resources upload with a workflow

2 minutes read

Sometimes, you will reach a point where you want to upload file resources from a script. Although there are hints on the Experience League, even with those, this problem has caused me some troubles. However, challenges and troubles are what I seek. I have decided to map this functionality, which can become handy once in […]

Continue reading
Adobe Campaign Classic REST over SOAP
Adobe Campaign, Marketing Automation

Build REST over SOAP API in adobe campaign

4 minutes read

If you’re familiar with Adobe Campaign Classic, you may have noticed that it utilizes the SOAP (Simple Object Access Protocol) API. We live in an age where REST is taking over, and the good old XML SOAP is slowly being forgotten. To me, as an old-timer, I can confidently say that it doesn’t make any […]

Continue reading