I don’t know if this is a functionality that AB already has, […] something that showed you the recent documentation/pages you’d visit – just a few, so that if you needed to tab out on a phone call etc. you could easily return to what you were doing. It’s a common feature I think used for membership orgs as we’re often in the middle of something when people call and want x, y or z doing.

So said a customer using agileBase recently, the CIPA.

At the time, we didn’t have that facility, but we’ve now added it, so thanks to their request, everyone can take advantage of it.

To see the recent items you’ve looked at or edited, simply click the pulldown arrow at the top of the screen – you’ll see a list of them appear, looking something like this:

recently viewed

New items will appear on the left and you can scroll right to see older items.

Please check it out and let us know what you think. All further improvement ideas welcome!

What’s up next?

We like to keep things snappy so there are various speed and performance improvements that have been released recently, or are about to take effect, but apart from that behind-the-scenes work, one major area we’re also working on is charting.

The release of the Highcharts Editor has encouraged us to use their facility and/or take inspiration from it to beef up our existing charting functions. So you’ll see enhanced chart editing coming soon, watch this space.

If you’re an agileBase administrator, you’ve probably used the ‘unique’ field option to ensure that, for example, no one enters two products with the same code, or to make sure invoice numbers can never be repeated, or to enforce the uniqueness of customer account codes (a few uses amongst many).

That takes care of the situation where one field needs to have unique values, but there are other cases where a combination of field values should be unique.

What does that mean? Well, take some other examples:

Say for example you’re managing lists of attendees for events, booking them on and cancelling if necessary. You might like to ensure that no person appears more than once as an attendee at a single event. To do that, you could add a ‘unique constraint’ covering the combination of event ID and person ID.

Another case would be if you operate a ‘multi-tenanted’ system where lots of different companies in your group can log in to the same system but with their data separated. In that case, you might not be able to set a Product Code to be unique as different companies may want to use the same code. However, you could make the combination of Company ID and Product Code unique.

In short, the more you can do to ensure your data doesn’t get in a pickle, the better.

The good news is that with a new feature released today, you can add those more advanced constraints.

In a table’s ‘manage’ tab, click the ‘unique’ icon. Select a set of fields you wish to be unique in combination by ticking them and press ‘add constraint’. You can add as many constraints as you like, covering different combinations of fields.


agileBase keeps a record of every single change made to any data in the system, for a period of one year, along with the time of the change and who made it.

Data edits can be seen by clicking ‘history’ at the bottom of any editing screen.


Some customers now have up to 6 million history records in the past 12 months, containing both user changes and automated changes caused by workflows, i.e. where a record is created, updated or deleted automatically based on rules.

You may want to extend the audit trail to multiple years worth of data. This is now possible, for a simple, small charge of £15 per month for each year of audit trail data you wish to keep.

Furthermore, customers who choose this upgrade will also benefit from a much increased ability to analyse the data. Normally, the only ways of seeing the history are to view it for one particular record, as above, or download the most recent 200,000 changes to spreadsheet. However, with the upgrade, data will be available to be viewed in the same way as user data, i.e. in tables from which you can create views, add calculations, charts etc.

So for example, you could analyse how many changes were made per month by each user, count the volume of logins from various locations or see what the most common fields are to search on. All data’s available to query, whether that be data changes, logins, view queries, even administration functions like adding new fields/tables/views or changing user privileges.

If you’re interested in setting that up, please do get in touch.





A quick note for agileBase developers – we now let administrators set the SQL ‘LIMIT’ value for each view.

The system already uses LIMIT to, well, limit the number of records returned by default to the top 25. Of course you can press ‘show more rows’ to load up increasingly more, which ups the limit each time.

However, now and again, you only ever want to see the top record or the top few records. For example, when setting up a report to email managers, you may want to include the top 5 or 10 customers/opportunities/salespeople/etc.

Or when setting up a todo list, you may want to create a view of just the one single ‘top’ entry. After all, as many people say, the longer your todo list, the less you get done! In fact, some apps such as NowDoThis do follow that principle.

For developers setting up more complex views, it’s sometimes advantageous to set up a view showing the top record in a particular criteria so you can ‘join’ to it and pull in the information. For example, if you want to see the most recent month’s invoices, first a view to find the 1 most recent month can be created by listing all months, most recent at the top, then setting a limit of 1. You can accomplish the same thing with other techniques e.g. window functions, but this is simpler.

Setting the limit

In a view’s ‘manage’ tab, select ‘advanced options’ and the option for setting the row limit will appear. Type in a number and it will take effect immediately.



The workflow automation engine is the element of agileBase that’s seen the most rapid development over the the past few months, probably since it allows you to move beyond simple data entry and analysis to realise specific business benefits, whether that’s improving efficiency, reducing the stress of overworked staff, increasing engagement with the outside world, improving service delivery, cost cutting etc. etc.

agilebotWhile the agileBase platform provides a fast, friendly and flexible user interface for entering business data, analysing and reporting on it, the workflow engine sits on top of that and adds a layer of automation to operational processes to create these benefits.

Some examples

One customer innovates rapidly in the development of new products, updating and creating their unique food recipes. This is great for growing and maintaining market share, but can cause problems purely in the amount of communication and paperwork that’s necessary to keep up with the need to keep customers informed.

They’re working on automating the delivery of product specifications to customers, so whenever for example, an allergen or ingredient is updated, all customers buying any product that depends on that ingredient will be automatically sent a new specification.

Another customer has recently set up a workflow to send follow-up emails to customers to get their feedback on trial products. Customers can reply or click a link to provide the feedback, which will be added to the system. About 50 emails a day are sent, which saves time compared to manual chasing and actually in busy periods does important work that would otherwise probably be bypassed in favour of the urgencies of the day.

To summarise its abilities, the workflow system can automatically create documents, send emails, update records in the system, add or remove records or send messages to third party software. Workflows can be chained together to do many steps at once and can be run on a schedule, whenever specific criteria are matched, or manually at the press of a button.

Newly added

All of that brings us to today’s new feature, another step in this evolution. You can now specify a workflow to run when a new record is created in a certain part of the system. This can be particularly useful if you want to set the record up in a particular way depending on where it’s created.

For example, when adding a new organisation, it may be a customer or supplier. A workflow could edit the record and change it’s type as soon as it’s created, depending on whether you’re in the list of suppliers or customers.

“Innovation through technology”

What will come in the future? Who knows, perhaps an AI bot that pro-actively talks to users and makes intelligent decisions about which actions to run, e.g. which sales leads to prompt people to follow up.

If you’ve any thoughts or ideas of your own, do let us know!

Many customers use agileBase’s document generation capabilities to produce important documents such as invoices or product specifications.

In some cases, it’s important for documents to include footers containing an identifier and page numbers, like ‘page 1 of 10’. The reason is that when these documents are printed out, you want to be sure that you’re not missing a page without realising it, or mixing up pages from two different products. This can be important for example when dealing with documents relating to the safety of people, such as specifications for food products. If supplying an end customer, you don’t want them to miss out the page containing nut allergy information!


Administrator information for setting up

There’s now an option for ‘footer style’ in file fields. Leaving this as ‘no footer’, the default, will produce no change but choosing ‘footer’ will include page numbers and also a record identifier (title) of your choosing.

The title is simply chosen from the first field in the view containing the document template.

We’ll be happy to consider adding additional footer styles containing different information or layouts if necessary – just let us know what you need.

Descriptive file names

There’s also another new feature with this release.

Previously, generated files would take the name of the template, so all files generated by a particular workflow would have the same name. Now, the record title is appended to that – this is the same identifier, or title, as above, i.e. the value of the first field in the template view. So you can make it whatever you like – if generating an invoice, it may be the invoice number or customer name for example.

A few customers have recently contacted us with examples of duplicate data being entered into the system, by different people. We though it would be good to try to address this for everyone at a system level.

Examples could be

  • As a purchaser, you start dealing with a new supplier and enter them onto the system, without realising that the finance dept. has already put their details in
  • You’re running marketing and sales campaigns from your CRM system. The marketing dept. import a list of 2000 of your top target companies, whilst salespeople enter individual companies they deal with that are already on that list
  • You’re a pastries manufacturer and there’s a sudden craze for cronuts – half a dozen customers ask if you can make them and a development recipe gets entered multiple times

Now in a perfect world, none of these scenarios would happen – people would check for existing records before adding new ones and everyone would spell names exactly the same.

In real life, it can happen from time to time and when it does, it can be really annoying and cause a lot of work for staff to sort out. It’s not just a matter of removing duplicates, because once say a company is in the system, all sorts of things get linked to them, like invoices, opportunities, contacts etc., all of which have to be un-picked.

So what do we do about it?


One thing that we’re introducing is a feature of the agileBase platform that automatically tells you if there are any similarly named items already in the system as you type. Here for example, I’ve started typing ‘Invest Bath Bristol’ and the system’s let me know that there’s already a company in there called ‘Invest Bristol Bath’, which is actually the one I’m thinking of.

This helps get around the fact that people often refer to company names slightly differently, so even if you force a field to be unique, that check won’t always catch near-duplicates.

How does it work?

Through an interesting and clever idea known as ‘trigrams’.

A trigram is a group of three consecutive characters taken from a string. We can measure the similarity of two strings by counting the number of trigrams they share. This simple idea turns out to be very effective for measuring the similarity of words in many natural languages.

The facility to compare text snippets like this is built into the PostgreSQL database that agileBase uses to store and query data. For more details, see the database documentation.

Activating the feature

This facility will work on any text field that has the options ‘use as record title’ and either ‘prominent’ or ‘required’ ticked in the field options. An administrator can set this up.

A starting point

On it’s own, this feature is unlikely to solve the duplication problem in all cases, however as usual we like to give customers useful features as soon as they’re ready, while acknowledging they will continue to improve as this isn’t the end step.

Next steps for this feature might be to allow you to click on a suggested similar record to navigate to it, while deleting the new record that you started to type. However we obviously want to be careful to take a lot of work planning and testing before releasing that update!

If you have any feedback, please let us know what you think at support@agilechilli.com