Get Started Preview Configuring IAM FAQ


Functions Buckets Data Time Machine Toolbox

Getting Started

To download and install the software, check out this section in our FAQ.

Running Operator Toolbox

If you don't have any AWS credentials on your computer, you will see a screen asking for them.

You can copy your credentials from here.

If you do have credentials on your computer, the list of applications on the left hand side of the screen will be expanded, apps are ready to download, launch and update.

Click on the side-bar headings to expand them, the apps section contains all the apps that you currently have installed or can install with your license.

If you've never launched an app before, it will download. If you have, it will just launch. Updates are downloaded in the background.

Operator early preview.

How to join the preview

Join us in discord! Let us know what you're working on and what you'd like to see in our products. It's also a good venue to discuss feedback & bug reports.

What is the early preview

Operator early preview is an exclusive early preview of Operator Tools. You are provided with an activation key that is associated with your email address and allows you to try Operator tools for free.

Locating your product key

We’ve signed you up with your email and sent you a product key which also includes a link to the download for your operating system.

Please don't share this download link at this stage.

Setting up AWS credentials for operator.

One of the upcoming features is an IAM wizard that will help walk you through setting up the AWS IAM permissions to get the most out of the Operator applications.

In the meanwhile, here's a short guide in how to setup a user and a role to use with the operator applications.

Creating an operator policy

To avoid giving the Operator tools access to your entire AWS account you can create a policy that includes only the permissions that the operator tools need.

Start by going to IAM and clicking on policies and then create policy

Then you want to copy our recommended policy JSON into the JSON editor in the AWS console

You can find our policy here for now

Give the policy a name, I would recommend OperatorToolsAccess and then review/save it.

Creating a CLI user for the Operator apps.

With a IAM policy created you can create a new user with it's AWS access key and AWS secret.

Go to the IAM users section and click add a user.

Then enter a name for your user and enable programattic access.

When setting permissions, go to the attach a policy tab and find the OperatorToolsAccess role that you have created and select it.

You can skip tags and then review the IAM user to be created.

Once the user is created you will see the access key & secret credentials

Using credentials in Operator app.

You can import these credentials into the Operator toolbox under Settings => AWS Profiles

There's a section in the getting started guide about adding credentials.

Frequently Asked Questions

Who uses Operator Tools?

Developers, Creatives, Managers, Founders

Cloud services like AWS are powerful, they provide a lot of utility, but they're also very complex. They have a steep learning curve, and are difficult to work with, even for experienced users.

Operator makes it easier to use the cloud to do things like deploy your code, manage your static assets, and manage your data.


Operator isn't a service, it runs entirely within your network and can be administered by your organization. Changes made with Operator tools are sync'd between team members and can be reverted and exported with Operator Time Machine.

Why would anyone use a GUI? Do you even 1337??

Microsoft acquired a UI called Github for 7.5 Billion USD. People like GUIs.

Do you collect telemetry data?

No! Use something like Little Snitch if you want to verify it. But our reasons are that, like you, we have work to do and wouldn't want someone watching over our shoulder as we do it. We collect no data what-so-ever from you or about you, it's not our business.

Do you audit the dependencies you use in your product?

Yes. Almost all of the deps we use, we also contribute to. If not, we read the code. To make this more viable, we use as few dependencies as possible. We also fork Elecron to remove dependencies that are non-essential.

How safe is your product?

Our products read only your data. We make sure your data is escaped and properly contained when loaded. We don't load or execute any arbitrary 3rd party code. All our updates are signed and sent over encrypted channels. Any opeartions that write data can be easily reverted using Operator Time Machine.

I like your UI, what framework did you use?

We are minimalists. We try to ship as little code as possible. We built our own framework called Tonic.

If I find a vulnerability, do you have a bug-bounty program?

Yes. Please email us at infosec at optool dot co.

How can I improve the docs?

If you want to contribute to the docs, the repo is here.

How can I report an issue?

If you have found an issue, please report it on our github beta repository.

Can I share the logs for the operator application ?

Yes, it would be very helpful if you took the local logfile for the operator apps and pasted it to share in the github issue.

You can find our log files on disk for

The $APP_NAME is one of ( Operator, Buckets, Data , Functions )

Can I launch the application from the terminal and get logs on stdout ?

Yes, the applications can be launched from the terminal and will provide you with logging information on stdout

You can use the following commands

The $APP_NAME would be buckets, data or functions.

To launch the Operator toolbox from the terminal you do not need the --application command line flag and can just run either operator or /Applications/

How do I install Operator Tools?

How do I download Operator Tools?

To download the software, visit the downloads page.

Does 5 Apps mean 5 copies of electron?

No. We only ship one binary. And we have a fork of electron that is much smaller and optimized for our use cases.

How to install on macOS

OS 10.9 or later

How to installation on Windows

Windows 10 or later

How to install on Linux

The following installers are available for Linux operating systems: .AppImage, .deb, .rpm, and .tar.gz

How to install with .AppImage:

64-bit Linux

Can I install Operator on another computer?

With a single developer license, you can install operator on as many computers as you like.

How to do a complete uninstall

You can use your OS to uninstall the application and then you can delete the local files the applications have written

You will have to delete them for Buckets, Data, Functions & Operator

How to get the latest Operator updates.

The Operator Toolbox application checks for updates on a daily basis, if you would like to update to the latest version immediately you can check for updates in the toolbox under the Preferences menu.

Once updates have been downloaded, you need to restart the app to use the newest version of it.


How do I change my password?

I forgotten my password


What does my Operator license include?

A license includes access to all Operator applications, including periodic software updates.


How do I add multiple AWS accounts?

How do I launch an app?

You can launch a Operator app from the toolbar application by selecting the Launch icon next to the application.

How do I install new Operator apps?


The Functions app helps you deploy and manage serverless code.

Create a Function

To create a function, choose Create from the Functions menu.

Git Integration

Enabling git integration will ensure you and your team are always working with the latest version of the code.

New Functions

If you create a new function that points to a directory on your computer and that code is initalized as a git repository, the Functions app can automatically detect your remote. All you have to do is click the toggle labeled Git Integration.

If you create a new function and don't have any code on your computer, you can get it by entering the remote and clicking the Git Integration toggle.

Existing Functions

If you create a new function that points to a directory on your If someone else created the function using the Functions app, you will see the remote already entered into the input and you can click the Git Integration toggle.

Quick Edit

The Functions app will show you the files form your function in the tree. The app isn't inteneded to replace your editor but in some cases it's convenient to quickly view or edit source files.






When you are ready to deploy, go to the main menu and select Code and then Deploy.

Preparing for Production

The total number of concurrent connections for all functions in a particular region is, by default, limited to 100. This limit is a guard-rail that AWS puts in place by default to protect you from run-away costs. If you want to increase the limit, follow the steps found in this guide.

Log output

You can log to stdout or stderr from any function. Logs are piped to CloudWatch and you can tail them immediately using the built-in console. The console shoud correctly highlight JSON and other notable things that you log.


The Buckets app is a GUI for viewing and managing cloud files.


Manage, sync, filter, search, drag and drop between folders, buckets and even accounts with this remte file explorer.


The Operator Data app is a DymanoDB compatible UI for NoSQL data.


The input at the top of the app is for searching. There are three different ways to use it. Clicking the input's label will toggle between Scan, Query and PQL modes.

The difference between modes

A scan iterates over all rows in a database. Scans are simple, but the trade-off is that the larger the table gets, the slower the scan will be. A query allows you to be more specific about what you are searching for by only looking at rows within a certain range. PQL has the highest amount of specificity, and its cost varies depending on how complicated and intensive your queries are.


Consider a table where a row has a property called app. The following query will show all entries where the app value is equal to buckets. All you need to type is...

app = 'buckets'

You can check for multiple properties by adding more conditions...

app = 'buckets' AND tag = 'beta'

If you want help deciding how to formulate your search, click the up/down arrow inside the input box (right side) and a form will appear. This form will help you add more conditions. From here you can choose how to compare the value you are searching for with the values in the database. This form will also help you discover property names and input the correct value type for your search.


Tables are rows of related data. All rows of data are just objects with properties. But when you create your table, you pick one or two special properties that are known as the partition and range properties.

Dynamo uses the partition and range properties as the keys to organize your tables. A query will give you faster results because it can focus-in on a single partition of your table and look at only rows that match.

Note: DynamoDB requires your partition property when for queries (your range is optional).

hash = 'release' AND begins_with(range, 'alpha')

In this example, we used a function. You can see a complete list of functions and operators here.

SQL-compatible queries

DynamoDB data can be relational. And sometimes you want to query it that way. PartiQL is a SQL-compatible language that allows you to query dynamodb in the same way you would query a regular relational database.

Query Inspector

A search will generate JSON that cab be used as the parameters to the with the DynamoDB aws-sdk. You can inspect, edit and copy this value with the Query inspector. This can be useful if you are trying to test and develop a query for your app.


When you select a row, it will open the value editor. Since DynamoDB rows are just objects, a tree is a good way to progressively disclose the value. From here you can change the type of a property, edit, delete and add new properties.

Note: the partition and range properties are only editable on new records.

If you want to edit the DynamoDB value directly, click the code icon at the bottom of the panel.

Create a Table

To create a table, choose Create from the Table menu. Any options you don't see here now you can change later in the properties panel.

Time Machine

The Time Machine app is a GUI for managing change.

Viewing changes

All changes that are made by Operator apps, by either you or your team members, can be reverted or exported. Changes can be reviewed by scrolling the table. It

Is also possible to refine the changes that you are seeing by sorting and or filtering. Expand the Filter section of the property panel on the right side of the screen for more options.


Time Machine can automatically create and or use a repositoy for your changes and sync them for you. Alternatively, you can sync only with your peers. To turn on sync, select the Manage with Git checkbox.


To create and export a snapshot from Time Machine, select the Actions section of the properties panel on the right side. Choose the format and select a location to save the JSON file.


What is the Operator Toolbox?

Toolbox launches and updates your wizards and apps. It also helps you manage your profiles.

When you start Operator, an icon will appear in your tray, near your Wifi icon (the top or lower bar of your desktop, depending on what OS you are using).

If you have a team license, this app is how your team members can find and connect to you.


Wizards guide you through common tasks. They make your job easier by reducing the steps to only what is needed. Some wizards for example...

Wizards are also extensible, see this section for more details.


Toolbox is a single place to get real-time notifications about what your team is working on and what they need. You can get alerts in realtime when...


Operator tries to not be annoying about updates. You never have to update if you don't want. Especially when you are busy, we wont harass you about updating your software. If you launch your app from Toolbox, you'll always be using the most up to date versions.


Settings that apply to all Opeartor apps.

Custom Wizards


npm install optoolco/example-wizard -g