# Operating a Shell

## Shell File

After [Creating a Shell](/assistant/shell/creating-a-shell.md), you will have a Shell file available to distribute to Operators who will use the Shell file. Shell files look and feel like the source workbook, and can be distributed through any method you would normally distribute Excel files - such as emails or through a webpage.

<figure><img src="/files/PliFH3eJ93JDwzt7EeQ7" alt=""><figcaption><p>Example of Shell file Operator interface.</p></figcaption></figure>

### Using a Shell File

To use the Shell file, the Shell operator must have the Coherent Assistant Add-in installed. If a user does not have the Add-in installed and opens a Shell file, they will see a prompt to download it.

When an operator uses a Shell file, it will look like a standard file, but calculations instead will be running through Spark's Xcall functionality (see <https://docs.coherent.global/build-spark-services/call-spark-service-apis/using-c.spark_xcall-udf> for more information). When a user changes inputs in their Shell, a request will be sent to the Spark service powering the Shell, and the response will be delivered to the workbook. Note that an internet connection is required to use Shell.

<figure><img src="/files/qOnYpHqV3Z9i9Ljyy9Kd" alt=""><figcaption><p>All formulas replaced with an Xcall to the Spark Service.</p></figcaption></figure>

If you choose to lock your Shell file, cells with formulas and static, non-input data will not be editable - inputs and blank cells can still be edited.

<figure><img src="/files/mMyFsuM0wz7p2JLJNujg" alt=""><figcaption><p>Users cannot edit protected cells.</p></figcaption></figure>

### Submit Button

Shell files will call the API and produce an output whenever inputs are changed, but creators can include a Submit button in their Shell file to denote a flagged calculation from users, if required for their process (e.g., the Submit button may be used to track the final quote given for a rating workbook, or the final loan terms for an underwriting workbook). If your Shell file includes a Submit button, when an operator clicks it, the submission will be flagged with a separate call purpose in the API Call History page, and an event will be written to the business event log on Spark. Additionally, creators can configure the Submit button to send data to an external URL to send this data to internal systems or other applications.

### Authentication

Shells can be configured to require the user to login to use the Shell. If this option is not selected during creation/update, the Shell will be usable by the Operator without login being required - the user will simply need the Coherent Assistant Add-in to use the Shell. If login is required for your Shell, a user will need Spark credentials within your tenant to use the Shell. If a user is not logged in and opens the Shell, they will see a prompt to login.

<figure><img src="/files/LzVUFvgOo6ffFXWNCMZD" alt=""><figcaption><p>Login screen for Shell.</p></figcaption></figure>

## Updated and Deactivated Shells

Users will be notified when the Shell file has been updated or deactivated by a Shell creator. In the case of updates, Shell will automatically present a link to download the new version of the Shell file. Once a Shell file is updated or deactivated, the submit button in previous versions of Shell files (if they contain submit buttons) will be disabled.

See [Managing Shell files](/assistant/shell/managing-shell-files.md) for more details on updating and deactivating Shell files.

<figure><img src="/files/Q78CCL6MhWH6Lyd7sX6H" alt=""><figcaption><p>Prompt to update Shell to the newest version</p></figcaption></figure>

<figure><img src="/files/nF78PjayS8snRC3DhuKW" alt=""><figcaption><p>Deactivated Shell file</p></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.coherent.global/assistant/shell/operating-a-shell.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
