# How to: Create a Spark service

## Define the service details

See [Get started in 5 minutes](/getting-started-in-5-minutes.md) for an overview of this process. Ensure you have applied the input and output mappings as described in [How to: Map inputs and outputs](/build-spark-services/map-inputs-and-outputs.md) before proceeding!

<figure><img src="/files/t4alagzrL9OFv2lRhOiL" alt=""><figcaption></figcaption></figure>

To quickly start the **New service** process:

* Click on the **New service** button in your folder.
* Alternatively Excel files can be drag and dropped into the folder to initiate the "Excel-to-code" process.

<figure><img src="/files/QqgGCbh1lN6UWprJUJv0" alt=""><figcaption></figcaption></figure>

1. There will be a prompt to select the source Excel file.
2. Once the file is selected Upload and conversion process will start immediately and the *New service* modal will appear. A progress bar that is showing the state of the upload process.
3. Enter the *Service name*.
   * The *Service name* is automatically fetched from the Excel uploaded filename.
   * The *Service name* can be modified during while the service is created.
   * The *Service name* cannot be changed after this process is complete!
4. Review the *Version number* and *Version label*.
   * *Version number* and *version label* are completely semantic in nature help to identify different versions of your service. The service number is designed to indicate the progressive nature of each version. The version the label helps to differentiate versions in service version dropdowns.
   * Version `0.1.0` is the initial default, following [Semantic Versioning](https://semver.org/#how-should-i-deal-with-revisions-in-the-0yz-initial-development-phase) guidelines.
5. If *Tags* are enabled by your admistrator, you can choose to apply particular tags to the uploaded service version. Tags can then be searched in the [Options](/navigation/options.md#services) screen.
6. Modify the *Effective dates* if required.
   * *Effective dates* determine the active period for the service version.
   * By default, the effective start date is set to the upload date. The effective end date is 100 years into the future.
   * These dates can be modified to align with the start and end dates for a particular calculation change.
   * Dates and times are defined in the local time of the logged in user. Check the detected time zone in [Navigation menu](/navigation/navigation-menu.md#user-menu).
   * Learn more about this functionality in[Manage service versions and effective dates](/build-spark-services/manage-versions-and-effective-dates.md).
7. Once the progress bar below is completed, this means the "Excel-to-code" conversion is complete. By clicking **Publish**, the service can be published into a Spark service and an [Execute API](/spark-apis/execute-api.md) endpoint.

## Review the *Upload log*

<figure><img src="/files/RaYTzy2chWn35AVzXZPl" alt=""><figcaption></figcaption></figure>

If there are any warnings or errors encountered in the "Excel-to-code" conversion, a notification will be shown in the during the conversion process. After the conversion is complete, the specific messages will be listed in the *Upload log* tab.

* This can be reviewed again later in the service [Service Documentation](/navigation/service-documentation.md#upload-details).
* Learn more about these messages in [Upload log messages](/build-spark-services/upload-log-messages.md).

Click **Publish**. Upon the successful operation, the [API Tester](/navigation/api-tester.md) for the published service should appear!


---

# 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/build-spark-services/how-to-create-a-spark-service.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.
