It is common for you to want to have widgets on the top of your grid that influence the grids filtering. External filtering allows you to mix your own 'outside of the grid' filtering with the grids filtering.
The example below shows external filters in action. There are two methods on gridOptions you need to implement: isExternalFilterPresent() and doesExternalFilterPass(node).
If the external filter changes, then you need to call api.onFilterChanged() to tell the grid
The example below shows the external filters in action.