📁 Docs
Thinking in neome

Thinking in neome

neome, a conversational automation platform, is designed to be used by the least technology-savvy end users. While developing in neome requires only moderate technical skills, because most of the heavy lifting is done by neome.

💡
If you know how to text, you already know how to use neome. If you know how to create spreadsheets for your use case, you already know how to build with neome.

This article discusses concepts and processes required to build your enterprise app with neome. The Tutorials reinforce the ideas discussed here with many examples.

We recommend you check out Tutorial: Task list, which has a simple example to quickly get the flavor of neome before proceeding with the rest of the article.

This article provides a high-level overview of neome. The richness and actual usage of these ideas are documented in the reference manual.

Enterprise

Through enterprise, a group of people collaborate on typical enterprise workflows. We use the words enterprise and app interchangeably. You could also assume an enterprise as a project, a workspace, a community, a team, a company, a business, a department, or an organization.

To deploy a neome enterprise app, create a backend and the frontend of the enterprise app, as discussed below.

💡
It would help if you did not create the whole backend and then build its front end. Instead, building your apps in several feature-oriented iterations would be best. To implement each feature, build the backend, make the frontend, test the feature, and repeat.

Backend

The backend comprises spreadsheets and associated layouts, reports, and automation. Use plugins to get data from external systems into your spreadsheets. At the same time, roles and permissions allow finer control over spreadsheet access.

Decompose app's use case into a set of spreadsheets. For example, OrderSheet, TaskList, ItemMaster etc.

Create reusable parts

  • A form is used for data exchange or storage.
  • A form contains a set of sections and grids.
  • A section includes a set of fields to allow one-to-one relationships.
  • A grid has a set of rows, each containing a set of fields to enable one-to-many relationships.
  • The variable allows a value to be reused across the backend, frontend, and forms.
  • Forms and variables are reused across the app and created when required.

Create spreadsheets

  • App's data is stored in spreadsheets.
  • To specify the kind of spreadsheet data associate a form.
  • There are special fields called Ref fields that allow one spreadsheet to refer to another. For example, FormOrder of OrderSheet can refer to FormItem from ItemMaster.
  • To make the spreadsheets queryable and searchable, you provide a set of fields on which the platform will create appropriate indexes for faster querying and searching.

Create reports

  • Create reports to extract data out of spreadsheets.
  • A report takes an input form argument to provide an output form. For example, ReportGetOrders could have InputDateRange as the input form and OutputOrderList as the output form.
  • Unlike traditional reporting engines, neome does not provide a cursor of records. You only get one output form.
  • For simple reports, neome has visual query builders; for complex reports with multiple spreadsheet joins, neome provides neoQL query language.

Create layouts

  • With layouts attached to the form and spreadsheet, control what end-users will see.
  • Can associate multiple layouts with forms and spreadsheets and switch between them.

Import plugins

  • Use plugins to integrate with a set of external systems.
  • Plugins are downloaded and executed by neome agent within your data center.
  • Reuse plugins from a library or create custom plugins.

Automate

  • Automate manual tasks with built-in automation kit.
  • Do not worry about automation initially; first, get the manual workflows right by building both the backend and frontend, then add automation to optimize manual steps.
  • Automation is not an alternative to plugins or code.

Roles and permissions

  • Almost everything in neome has role-based access and permissions. An enterprise app can control who can see and do what at the most granular level.

Frontend

The frontend comprises actions and deep links accessed via the neome web app, neome mobile app, neome drive, WhatsApp, email, SMS, and API.

Create actions

  • Actions expose the underlying backend function like spreadsheet row insert, spreadsheet editor, report, or audit trail.
  • Action ties label, icon, tooltip, and default input forms for the underlying backend function.

Create groups

  • Groups provide role-based access to actions.
  • Groups also determine if specified roles can chat.

Create deeplinks

  • Deeplinks, like actions, expose underlying backend functions that can be sent as hyperlinks in emails, SMS, WhatsApp, etc.
  • Can control visibility, expiry, and WhatsApp preview of the deeplink.
  • Can use deeplinks to embed appropriate user interface in external apps with zero coding.

Create drive

  • Specific spreadsheets can be downloaded on your laptop through drive sheet configuration.
  • Can control spreadsheet data partitions, update duration, retention, priority, and media downloads.

Create prompts

  • While deeplinks are outbound, prompts are inbound. Associate a prompt with action invocation.
  • With prompts and deeplinks entire workflows can be started and finished through email, SMS, or WhatsApp.

Create translations

  • Provide translations to almost every text element to allow multi-lingual support in the application.

Deploy

Deploy separates the abstract enterprise application from a runtime instance. API tokens for plugins and configuration about the runtime environment are required to deploy.

What next?

  1. Dig deeper, read about the Architecture.
  2. Skip to Tutorials to check out few real world use cases.
  3. Contact us to see a live demo, start proof-of-concept, or subscribe to our services.