# Make

> Remember and recall from any Make scenario with the HTTP app's Make a request module, with your key kept in a keychain.

Use Geniffy from any Make scenario with the **HTTP** app's **Make a request** module: one module remembers
what a trigger brings in, and another asks what is known. Your key stays in a keychain, out of the
scenario itself.

## Add your key as a keychain

Make a key under **API keys** in the Geniffy app and call it `Make`. In **Make a request**, set
**Authentication type** to **API key**, and add a keychain:

| Field | Value |
| --- | --- |
| Key | `Bearer gnf_live_...`, with your key after `Bearer` |
| API key placement | In the header |
| API key parameter name | `Authorization` |

Every Geniffy module in your scenarios can use the same keychain.

## Remember what a trigger brings in

| Field | Value |
| --- | --- |
| URL | `https://api.geniffy.com/v1/memories` |
| Method | POST |
| Body content type | `application/json` |
| Body input method | Data structure |
| Body content | `text`, mapped from your trigger, and `title` and `space` if you want them |
| Parse response | Yes |

Add a data structure with the fields `text`, `title` and `space`, each of type Text, and map the values
into it. A data structure escapes quotes and line breaks for you; a JSON string doesn't.

A space name uses letters, digits, dots, dashes and underscores, so use an id such as `customer_1042`
rather than an email address. Leave `space` out to use your own memory.

## Ask what is known

Add another **Make a request** module, with the same keychain:

| Field | Value |
| --- | --- |
| URL | `https://api.geniffy.com/v1/ask` |
| Method | POST |
| Body content type | `application/json` |
| Body input method | Data structure, with the fields `question` and `space` |
| Parse response | Yes |

The module returns `answer`, or no answer and a `message` saying that nothing remembered supports one. To
go on only when there is an answer, put a filter after it with `answer` and the operator **Exists**.

## Give an AI module what is known

To put what is known in front of an AI module, POST to `https://api.geniffy.com/v1/context` with `question`
set to the message the AI module will answer, and the same `space`. Map the `context` it returns into the
instructions or system prompt of the AI module that follows. When nothing is known, `context` says so in
one sentence, so the AI module doesn't guess.

Source: https://docs.geniffy.com/integrations/make
