> ## Documentation Index
> Fetch the complete documentation index at: https://doc.lucidworks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ResponseService

export const LwTemplate = ({title = "Key questions to get you started", icon = "sparkles", cta = "Powered by Agent Studio", linkHref = "https://lucidworks.com/demo/?utm_source=docs&utm_medium=referral&utm_campaign=docs_cta_ai"}) => {
  const [isLoaded, setIsLoaded] = useState(false);
  useEffect(() => {
    const timer = setTimeout(() => {
      setIsLoaded(true);
    }, 500);
    return () => clearTimeout(timer);
  }, []);
  return <div className="lw-template-container">
      <Card title={title} icon={icon}>
        {isLoaded && <span dangerouslySetInnerHTML={{
    __html: `<lw-template id="a029c1a9-28be-427e-b0e1-5d918920246a"></lw-template
            >`
  }} />}
        <Link href={linkHref} className="agent-studio-link text-left text-gray-600 gap-2 dark:text-gray-400 text-sm font-medium flex flex-row items-center hover:text-primary dark:hover:text-primary-light group-hover:text-primary group-hover:dark:text-primary-light">Powered by Lucidworks Agent Studio</Link>
      </Card>
    </div>;
};

[localhost link]: http://localhost:3000/docs/5/app-studio/reference/services/lightning.ResponseService

[mintlify link]: https://doc.lucidworks.com/docs/5/app-studio/reference/services/lightning.ResponseService

[old doc.lw link]: https://doc.lucidworks.com/app-studio/4.2/1210

<LwTemplate />

## Description

Twigkit service for setting and getting responses.

## Methods

### clearResponses()

Removes all responses from the factory.

#### Example

```js wrap  theme={"dark"}
ResponseService.clearResponses();
```

### createResponseFromResults(results)

Creates a response object from the set of results you provide

#### Parameters

| Param   | Type  | Details                                      |
| ------- | ----- | -------------------------------------------- |
| results | array | The list of results to add to this response. |

#### Returns

|        |                                                                    |
| ------ | ------------------------------------------------------------------ |
| Object | Returns a newly created response object with the results provided. |

#### Example

```js wrap  theme={"dark"}
ResponseService.createResponseFromResults(results);
```

### getResponse(name, keys)

Gets response from the factory.

#### Parameters

| Param             | Type   | Details                                                                                          |
| ----------------- | ------ | ------------------------------------------------------------------------------------------------ |
| name              | string | The name of the response to retrieve                                                             |
| keys *(optional)* | string | A comma separated list of keys you would like returned. If null whole response will be returned. |

#### Returns

|        |                                                                                         |
| ------ | --------------------------------------------------------------------------------------- |
| Object | Returns the response object from the factory, if it doesn't exist it will return `null` |

#### Example

```js wrap  theme={"dark"}
ResponseService.getResponse(name);
```

### setResponse(name, value)

Adds response to response factory for retrieval using the getResponse method. Broadcasts an event of 'responsename\_updated' with the new response value.

#### Parameters

| Param | Type   | Details                                    |
| ----- | ------ | ------------------------------------------ |
| name  | string | The name of the response                   |
| value | Object | The response object to add to the factory. |

#### Example

```js wrap  theme={"dark"}
ResponseService.setResponse(name, value);
```
