In Kibana 4, the state of each dashboard (including filters, queries, columns, etc..) is stored directly in its URL. This should be a lot easier than constructing scripted dashboards. The URL is encoded using RISON, a data serialization format optimized for compactness in URIs. You can also get a decoded URL string by going to the Share menu > Share a link.
The following is an example of a decoded URL string:
http://hostname:port/#/dashboard/Github?_g=()&_a=(filters:!(),panels:!((col:7,row:1,size_x:3,size_y:2,visId:Github-State),(col:10,row:1,size_x:3,size_y:2,visId:Github-Pull-Request),(col:1,row:3,size_x:3,size_y:4,visId:Github-Repository),(col:4,row:3,size_x:3,size_y:4,visId:Github-Labels),(col:1,row:7,size_x:6,size_y:5,visId:Github-Creation-By-Repository),(col:7,row:3,size_x:6,size_y:4,visId:Github-User-By-Repository),(col:7,row:7,size_x:6,size_y:5,visId:Github-Assignee-By-Repository),(col:1,row:1,size_x:3,size_y:2,visId:'Github-Metric-Document-Count-(Issues)'),(col:4,row:1,size_x:3,size_y:2,visId:'Github-Metric-Document-Count-(Pull-Requests)')),query:(query_string:(query:'*')),title:Github)