Simple SFTP Server Tool for testing and development

Here is the simple SFTP Server for lab testing purpose. It is light-weight, simple and easy to use. Like all other tools from me, just unzip and run it in your server or desktop.

Getting Started

  • Download and unzip file from dropbox here
  • Run SFTPServer.exe
  • Press ‘Start’ button to start SFTP Server

Simple SFTPServer


  • Easy to use simple SFTP Server
  • Just unzip and run
  • Requires .NET Framework 4.5.2 and runs on any windows platform
  • Supports public/private key authentication (RSA Key)

When and why should you run this application?

Mostly used for development and testing purpose. Instead of spending hours trying to setup SFTP Server and users,  you can run this application locally.

Automaton – IT Process Automation

What is Automaton?

Automaton is simple, light-weight application to automate IT processes. Using this application, you can automate many processes – Directory & File Operations, Database, Genesys Health Check, Genesys Campaign Management, Genesys List Management, FTP, FTPS, SFTP, Email & SMS notifications and many more.

Brief History

In our company meeting last year, we decided to focus on our core activities and outsource our internal process as much as we can. After few months, we realized that outsourcing helped us to move little bit faster but not as much as we thought will be. We sooner found that most of the process can be automated and self-serviced and started as internal tool development for us.

Although, it started as internal project, we can actually see that Automaton can be used by our customers as well and Automaton was started in Sep 2015.

Key Benefits

  • Quick and easy implementation.Helps business to address market and customer needs in efficient manner
  • Reduce incident response and resolution time
  • Cuts cost of service operations

Design Principles

From the beginning, we know that Automaton have to be open for extension as each customer will have different set of requirements to automate process and hence, we designed Automaton to be opened for extension i.e.) to add more functionality without modifying core application.

…. And Reports

As tasks will be automated, we understood that we need effective way of monitoring the tasks and hence, developed real time and historical reporting solution. Unlike traditional reporting, we want user to customize/apply filters on existing report and export them in PDF or Excel format. I will cover more details about this later

… And Failover

We built active-active failover functionality for this application. For Genesys related deployments, it can be integrated directly with the framework so that each instance can be monitored using SCI or Genesys Administrator and user can configure alarms for log messages.

Some sample tasks

  • Automate FTP/FTPS/SFTP download and upload
    • supports public/private key authentication, Kerberos, X-509, NTLM authentication types. I can safely say 100% of FTP/SFTP operations used in enterprises
  • Monitor application or windows service. Send email or sms alert if application stopped
  • File Operations – Copy, Move or Delete files, Zip and Archive files
  • Database – Import and Export data from Oracle, MS SQL and My SQL
  • Genesys – Configuration backup (hourly/daily or custom schedule), Health Check (hourly/daily or custom schedule)
  • Genesys Outbound
    • Campaign Management – Schedule start and stop timings
    • Calling List Management – Import, Export and Purge calling list data
    • Do not call list – Import, Export and Purge calling list data

You are invited

We are planning to officially release this product in July this year and you are invited to join the beta program of this launch.

As a early bird user, you will get full version of the software and support free of cost. We expect you to receive your feedback and suggestions every week and it may take only 15 to 30 minutes of your time.

If you are interested, please contact me by leaving a comment or email me at

Looking forward to work with you and hope, it will be good opportunity to network with other members as well 🙂

Note :

  • It will be exclusive group of members and will be limited to 5 members only
  • We will do installation, configuration and training free of cost to these members.

Genesys : How EWT – Estimate Wait Time is calculated?

As we all know, agent can handle calls from multiple queues in Genesys and is tricky to find EWT (Estimate Wait Time) for call during routing. I find that Genesys algorithm to be smart and most appropriate.

How it is calculated?

Please find the details below (from Stat Server deployment guide)

Estimated Wait Time (EWT) =  AHT * ( CIQU / (AA * EP))


  • AHT (Average Handle Time) is calculated as TotalTime(Mask1, Interval)/TotalNumber(Mask2, Interval)
    • Mask1 includes ACW time i.e. CallReleased, ACWCompleted, CallMissed, ACWMissed events are used for calculation.
    • Mask2 is for call i.e.) CallReleased and CallMissed events only
    • If no calls are handled by agent for this queue, AHT is assumed to be 90 seconds
  • CIQU (Calls in Queue Unassigned) – Calls waiting in queue (CIQ) waiting for agent
    • CIQU = 0 if agents in ready state (AR) > CIQ
    • CIQU = CIQ if no agents are currently ready
    • CIQU = CIQ – AR if some agents are in ready state
  • AA (Active Agents) – Agent logged in and is busy or not ready to take calls. If AA = 0, 0.0001 is used
  • EP (Effective Portion) – Total time spent by agent to process calls from the queue divided by total time spent by agent to process all calls. Default value : 1

Genesys CCPulse – Display UserData using Custom Stat and Filters

Previously, I wrote post about displaying user data in CCPulse using custom solution and user ‘‘ enquired about displaying user data using CCPulse application only.

I found two options to display user data in CCPulse

Option 1: Display User Data using Custom Stat

Step 1: Configure Custom Statistic as below

Category = CurrentCustomValue
Formula = GetGlobalNumber(“Account”,-1)”
MainMask = *
Objects = Agent, Place, GroupAgents, GroupPlaces
Subject = DNAction

In CCPulse, configure template to display this custom statistic. Please note that this will work only if key value is numeric. To display string value, use option 2 below

Option 2: Display User Data using Filters

You need CCPulse or higher to display user data using filters. Please find the CCPulse release notes below

CCPulse+ now displays by default only hardware or software reason codes, without User Data. A new CCPulse+ option, ReasonCodeData, in the [CustomStatistic] section enables you to control which values are displayed.


Valid Values: Hardware; Software; Userdata
Separate with semicolons the values to be displayed. Enter all three values if you use User Data values with reason codes in Formulas or to display them in the Extended Status window or in a view.

ReasonCodeData=Userdata (optional values: Hardware; Software)

Previously, starting with release, CCPulse+ appended some values from User Data to the reason codes. (ER# 317914454)

To display user data ‘Account’, follow steps below

Step 1: Create Filter ‘Account = PairExist(“Account”, “*”) under [Filters] section in Stat Server

Step 2: Create statistical type [CustomAgentState] in Stat Server as below



Step 3: Set CCPulse application options, set ‘ExtendedCurrentStatus’ to ‘true under [CustomStatistic]

Step 4: Add below formula to display


Genesys CCPulse : How to display abandoned calls for Agent Group?

In our application, we want to find out how calls are reported and handled if the calls are abandoned at agent i.e.) customer disconnects call while it is ringing at agent station.

It is not available at ‘out of box’ definitions but fortunately easy to implement it.

Configure Abandoned Calls for Agent Groups

  • Configure below stat definition in your Reporting Stat Server
Genesys CCPulse : Abandoned

Abandoned Call Definition

  • Create/Modify agent group template to show this statistics
Genesys CCPulse : Abandoned Agent Group

Abandoned Agent Group

  • Open configured view in CCPulse and make test calls to verify the result

As you can see from the stat definition, you can use this statistics to track abandoned calls for agents and places as well.