I blogged a while back about a third party Email Service Provider (ESP) called dotMailer. They provide a rather snazzy email marketing capability that far surpasses the function of the Siebel Email Marketing Server. They also expose a very functionally rich API via SOAP WebServices and I have been looking at building a Siebel Wrapper to allow the use of dotMailers services in the Siebel Marketing application.
What I’ve put together so far are a number of components:
- Central, configurable parameters to support access and authentication
- Workflow processes, wrapping the dotMailer API in comprehensive, neat and standardised Siebel configuration
- Includes a template Exception Workflow to allow you to hook into your existing exception framework. This is configured as the exception workflow in all the supplied Workflow Processes
- Example workflow showing hooks into the Campaign Launch functionality, effectively replacing the Siebel Email Marketing functionality with that of dotMailer
- Simplified but extensible IOs supporting query and update of Contacts and Campaigns, including history and responses
- Hierarchical data maps providing standard mappings from dotMailer constructs to Contact and Campaign IOs and vice versa
- Simple, well documented and structured eScript business service providing supporting services in a single, re-usable and customisable form
- A simple administration applet and view to embed the dotMailer UI in your Siebel Marketing application
Now, this is very much a work in progress and something that I’m doing in my spare time – with a second baby well on the way (WOO HOO!) it may take me a while to get a Production ready product.
What I’d like to do is gauge any interest my readership may have in this endeavour. Are you a Siebel Marketing developer? Customer? Prospect? Are you looking to replace Siebel Email Marketing?
A click in the survey below would be greatly appreciated as it will help me gain an understanding of interest in this little project and may motivate me to get it completed ahead of schedule!
Thanks for reading!
I’m still working with Siebel Marketing and I’ve recently faced an issue with testing the Email Sending Daemon (ESD). Without a corporate SMTP server, how can you test your development configuration of Email Marketing Server?
Well, for me, the answer was open source: Apache James is a fully featured, open source email server with SMTP functionality. It works great as a test harness for your local ESD installation and keeps everything away from your live corporate email environment.
The steps for reconfiguring James to support redirect to localhost were taken from this fantastic site. Many thanks to its author for this information.
In order to get it all up and running:
- Download and unzip Apache James server onto your ESD server host
- Run the server once by running the ‘start.bat’ script (or Linux equivalent)
- Close down the server once it has generated it’s configuration files
- Locate the ‘config.xml’ file in <install>\apps\james\SAR-INF
- Open this file and remove the <mailet> section for the ‘RemoteDelivery’ class in it’s entirety
- Paste the following code in it’s place:
<mailet match="All" class="Forward">
- Save the config file and restart the James server
- Open a command prompt and type:
telnet localhost 4555
- Login using the root user and default password
- Create a new user by typing:
adduser test password
- Now, in the esd.properties file, specify the localhost James server as the Mail Transfer Agent (MTA):
- Restart the ESD
- Download and install Mozilla Thunderbird onto the ESD server
- Create a new account, using ‘test@localhost’ as your account name
- Click ‘Manual Config’
- Select ‘POP3’ as incoming and for both SMTP and POP3 servers, enter ‘localhost’ as the host
- Enter the username ‘test’, or whatever you defined in the James user setup above
- Click ‘Re-test’ then ‘Done’
- Thunderbird is now checking the POP3 account on the James server, to which the ESD will now redirect all email traffic
Now, back in Siebel Marketing, create a Seed List:
- Go to Site Map > List Management > Lists
- Create a new list of type ‘Seed List’ and stick a couple of contacts in there
- Drill down into the contacts and set their email addresses as ‘test@localhost’ – this is just for saftey sake and you can leave these as is. The James forwarder should take care of sending all emails on to test@localhost
Now create a Campaign, Offer and Email Treatment:
- Go to Site Map > Campaigns
- Create a Campaign
- In the ‘Design’ view, associate an Offer
- In the ‘Treatment’ applet, create an Email Treatment
- Drill down into the Treatment, add some body text
- Select Menu > Test Email
- Select the ‘Seed List’ that you created earlier and select a format (HTML)
- Click ‘Send’
Siebel Marketing will now communicate with the ESD, via the out of the box Web Service, which in turn will send test emails to the SMTP server configured; in this case, the Apache James server. As we have a redirect configured to forward all mails to the ‘test’ account, you should now see all of your test emails in your Thunderbird client. Just click ‘Get Mail’ and you should see all your emails coming through for your seed contacts.
Hopefully this article will have given you some pointers on how to test your ESD installation in isolation and also show you what the open source Apache James SMTP server can do.
Please do post below if you have any questions.
I feel a bit rotten for bashing Siebel Email Marketing in an earlier post. The ESD, BHD and CTD clearly mean no harm and it’s not their fault that they’re a bit old and use an InstallAnywhere freeware installer that doesn’t actually work in Windows 2008. 😉
Despite my gripes, it would appear that Oracle have not forgotten about Email Marketing and have introduced some really quite nice new functionality in Siebel 220.127.116.11:
- Social Sharing
- Dynamic Content
How to get there, with the new Incremental Repository Merge, is the subject of a much wider discussion! Let’s just say that Oracle aren’t quite there yet…
Clearly, allowing easier integration into social networks is a big deal nowadays. Imagine the difference in market penetration that could be achieved with a simple ‘share this offer with a friend’ link in your communication. You’re letting your customers do all the work and reaching out to a similar demographic with very little effort. This is a great move and a welcome addition to the tool.
Dynamic Content is something that has also been sorely lacking from email treatments within Siebel. As you aim for more and more personalised communications to customers across all channels, it’s important to make your audience feel like you’re offering something valuable and personal. I’m sure all of my blog readers have been the recipient of bulk, generic emails that immediately go to the spam bin.
So, thumbs up to Oracle for their continued investment in the marketing functionality.
If you’d like to learn more, take a look at the Oracle Learning Library, something I discovered thanks to my good friend @lex over at Siebel Essentials.
So, let’s get the easy bits out of the way first!
dotMailer provide access to their services via SOAP web services. As such, they provide a Web Services Definition Language (WSDL) file that provides all of the details around the data structures used, to be translated into Siebel Integration Objects, and methods that can be invoked, provided by the Siebel Outbound Web Service definition and proxy Business Service.
Take a look here and you’ll find the WSDL for the integration services provided by dotMailer. Simply download this file and fire up Siebel Tools. From here:
- Create a new Project for our custom objects
- Select ‘File > New Object > EAI > Web Service’
- Select your project, WSDL and click ‘Next’, click the ‘DeployCheckbox’ then ‘Finish’
- You’ll find a new Business Service called ‘APISoap’ – rename this to something a bit more descriptive, like ‘dotMailer BS’
- Check out the methods exposed in the new BS – lots of lovely functionality to send and monitor marketing emails!
- Have a look at the Integration Objects created – you’ll find message formats for all the outbound and inbound message structures that you’ll need to manage the integration
- Go to ‘Administration – Web Services’ in the client and have a look for the ‘API’ Web Service. Here’s you’ll find the URL for the dotMailer API, along with all the supported service ports and operations
And that really is that!
In order to test, you can create a simple Workflow that invokes the ‘GetServerTime’ function. This doesn’t require any input or authentication, so is a good test of your set up so far:
- Create a new Workflow Process in your new Project
- Add Start, Business Service and End steps
- Add a new Process Property:
|Name||Data Type||Integration Object
- Modify the Business Service step, setting the following properties:
|Name||Business Service Name||Business Service Method
|dotMailer GetServerTime||dotMailer BS||GetServerTime
- Set the outputs of the step as follows:
|Property Name||Type||Integration Object||Output Argument
- Run the Workflow and be amazed by the result:
Over the coming months I’ll be looking at how we might develop a framework to replace the calls to Siebel Marketing Server with calls to the dotMailer Web Service.
See you soon!
Lets face it, Oracle’s “Siebel Email Marketing” offering is a bit embarrassing. From the moment you download installation software that’s dated about 8 years ago, you know you’re not in for anything special.
I’m working on another Marketing programme, having come across “Siebel Email Marketing” on a number of occaisions previous, and I was somewhat disappointed to see that nothing much has changed since I looked at it a couple of years ago. You’re still looking at the aging ESD, BHD and CTD components that look like some sort of freeware, apache based hacks. It’s not at all in keeping with todays content and interaction focussed email marketing requirements.
As such, I started digging around other options. Something that came up smelling of roses was the dotMailer offering, which provides some very snazzy email campaign design features, including very nice web based email template design, along with a SOAP (or RESTful) based API to invoke their services externally.
Well, I couldn’t resist the opportunity to have a mess around with the API, using SoapUI to begin with, to develop some functionality in Siebel Marketing to use their services in place of a crusty Email Marketing Server.
Stay tuned for some updates on how I get on and how this works out!