Adobe Campaign, Marketing Automation

ACC | Add action button to the form view

Adobe Campaign post

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 solving problems, automating processes, and driving innovation in my clients' marketing platforms.

I hold certifications in Adobe Campaign v6 (3x certified) and Salesforce Marketing Cloud (5x certified).

Additionally, I serve as a community advisor for Adobe Campaign, offering expert insights and guidance.

In addition to my professional pursuits, I also enjoy exploring various programming languages, CMSs, and frameworks, further 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

SFMC consent management
Marketing Automation, Salesforce Marketing Cloud

Consent management in SFMC explained

6 minutes read

Even after a couple of years working with Salesforce Marketing Cloud, I am still somewhat lost on how the consent management works. I’ve decided to tackle all the uncertainties I’ve been avoiding since I first started. Let’s dive into this topic and resolve all doubts once and for all. As you might have noticed, there […]

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

Fast select field in query builder

less than a minute read

Working with Adobe Campaign Classic often involves frequent mouse movements and clicks. However, after a while, you’ll discover certain tricks to work with this tool more efficiently and quickly. Today, I’ll show you a simple trick that will help you enter fields in the query builder faster and without having to move your mouse across […]

Continue reading
Salesforce Marketing Cloud Tips
Marketing Automation, Salesforce Marketing Cloud, SFMC Tips & Tricks

How to add segments to proof subject

1 minute read

Issues arise when an email’s HTML contains personalization that includes multiple different variants, that is altering the appearance of the personalized email. Quality assurance (QA) of such proofs can become exceptionally challenging, particularly in cases where there are minor changes across variants or a substantial number of variants present. You can devide your variants by […]

Continue reading
Salesforce Marketing Cloud Tips
Marketing Automation, Salesforce Marketing Cloud, SFMC Tips & Tricks

How to utilize polyfill functions in SFMC

1 minute read

Development in Salesforce Marketing Cloud’s SSJS can be very restrictive, especially when you’re already familiar with the latest EcmaScript6 JavaScript features. We can’t use object spreading or curly bracket functions {}=>() and many, many more. However, we can introduce certain very helpful functions that don’t exist in older versions of JavaScript. The way we do […]

Continue reading
Salesforce Marketing Cloud Tips
Marketing Automation, Salesforce Marketing Cloud, SFMC Tips & Tricks

Journey validation fails for no reason

less than a minute read

There is an error with starting the journey, specifically related to the email template, but it gives you no explanation whatsoever. I’m sure there can be many problems with the template that prevent the journey from being started. One of the problems I have experienced most recently is that the template has not been approved. […]

Continue reading