# AI use cases for Open Instinct (Merit-Systems/OpenInstinct)

Repo: [Merit-Systems/OpenInstinct](https://github.com/Merit-Systems/OpenInstinct) | Use cases: 4 | Page: https://dedupedai.com/use-cases/merit-systems-openinstinct/

OpenInstinct is a self-hostable TypeScript iMessage assistant that can use a cloud browser for tasks, with an encrypted password vault.

This file holds every use case of this repo. Each one starts with a "## " heading and ends with its URL.

- Book tickets and run errands by iMessage: https://dedupedai.com/use-cases/merit-systems-openinstinct/book-errands-through-imessage/
- Let the assistant sign in using a vault: https://dedupedai.com/use-cases/merit-systems-openinstinct/sign-in-to-sites-without-exposing-passwords/
- Manage Gmail, Calendar, and Contacts by text: https://dedupedai.com/use-cases/merit-systems-openinstinct/handle-gmail-calendar-and-contacts/
- Approve purchases from your Link wallet: https://dedupedai.com/use-cases/merit-systems-openinstinct/approve-purchases-from-a-link-wallet/

## How to book tickets and run errands by iMessage with Open Instinct

Repo: [Merit-Systems/OpenInstinct](https://github.com/Merit-Systems/OpenInstinct) | Difficulty: Intermediate | Time: 60 minutes | Basis: From the README

Text your assistant a chore and it uses a cloud browser to try to finish it.

**Who it is for:** A busy person who wants to hand off chores like booking movie tickets or ordering groceries from a phone text thread.

**The problem:** Routine online errands take time that could go to other work, and most assistants cannot act inside a website for you.

**The outcome:** You text a task to your own assistant line and it works through a browser on your behalf while you stay in control.

### Steps

1. Open https://github.com/Merit-Systems/OpenInstinct and click Deploy with Vercel, selecting a Pro team.
2. In the connector's Vercel Connect settings, complete the one-time Phone Numbers verification for the Linq line.
3. Open your deployed app and sign in with your phone number.
4. Text the Linq number a task such as booking movie tickets or ordering groceries.

### Prompt to paste into your agent

```text
Using the repo Merit-Systems/OpenInstinct, deploy it to a Vercel Pro team and confirm the Linq line is verified for <target phone number>. Expected output: a live app URL and a reply to a test iMessage from the assistant. Verify that sign-in with the phone number works before reporting success.
```

### Caveat

The app needs a Vercel Pro plan because the Hobby plan only allows daily cron jobs and Open Instinct checks for scheduled work every minute.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/merit-systems-openinstinct/book-errands-through-imessage/

## How to let the assistant sign in using a vault with Open Instinct

Repo: [Merit-Systems/OpenInstinct](https://github.com/Merit-Systems/OpenInstinct) | Difficulty: Intermediate | Time: 60 minutes | Basis: From the README

Store site logins in an encrypted vault so autofill keeps passwords out of the model.

**Who it is for:** A person who wants an agent to log in to websites for them without pasting passwords into chat.

**The problem:** Giving an AI model your passwords puts them in its context, and you have no way to keep them out of prompts.

**The outcome:** Saved vault secrets are encrypted before storage, and browser autofill fills saved passwords without the model seeing them.

### Steps

1. Deploy the app from https://github.com/Merit-Systems/OpenInstinct and sign in with your phone number.
2. Open the vault in your deployed app and save the login for the site you need. (inferred, check the README)
3. Keep the private Blob store intact, since deleting it loses the automatically generated encryption key.
4. Ask the assistant to sign in to that site as part of a task.

### Prompt to paste into your agent

```text
Using the repo Merit-Systems/OpenInstinct, deploy the app and save a login for <target site> in its vault. Expected output: confirmation that the login is saved and that a later task signs in without the password appearing in chat. Verify that the private Blob store is still present before finishing.
```

### Caveat

The README does not describe the vault screens, so confirm the exact steps for saving a login in the deployed app before relying on them.

Risk, credentials: Vault secrets are encrypted, but deleting the private Blob store loses the generated encryption key and rotating it requires re-encrypting stored values.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/merit-systems-openinstinct/sign-in-to-sites-without-exposing-passwords/

## How to manage Gmail, Calendar, and Contacts by text with Open Instinct

Repo: [Merit-Systems/OpenInstinct](https://github.com/Merit-Systems/OpenInstinct) | Difficulty: Advanced | Time: 120 minutes | Basis: From the README

Connect a Google account so the assistant can work with your email, events, and contacts.

**Who it is for:** A professional who wants to ask an assistant to send email, schedule events, or look up a contact from iMessage.

**The problem:** Switching between Gmail, Calendar, and Contacts for simple requests takes time, and an assistant needs safe, user-scoped access to do it.

**The outcome:** A user-scoped Google grant lets the assistant read and modify Gmail, manage Calendar, and search read-only Contacts.

### Steps

1. In Google Cloud, configure the OAuth consent screen and enable the Gmail API, Google Calendar API, and People API.
2. Create OAuth web credentials, add https://connect.vercel.com/callback as a redirect URI, and download the client-secret JSON.
3. Run `jq '{clientId: .web.client_id, clientSecret: .web.client_secret}' /absolute/path/to/downloaded-client-secret.json > "$google_credentials_file"` to make the file Vercel expects, then create the connector with `vercel connect create google --connection-method oauth --name open-instinct --data @"$google_credentials_file"`.
4. Run `vercel connect attach --project <project> --environment production --yes` and then `rm -f "$google_credentials_file"`. (inferred, check the README)
5. Set GOOGLE_CONNECTOR_UID to the returned UID and redeploy.

### Prompt to paste into your agent

```text
Using the repo Merit-Systems/OpenInstinct, create and attach a Google connector for the project <project> and set GOOGLE_CONNECTOR_UID. Expected output: the connector UID and a redeployed app. Verify that the credential file was deleted and that no credential file is staged in git.
```

### Caveat

A Google OAuth app in Testing mode only works for listed test users and those grants expire after seven days.

Risk, credentials: The Google client-secret download holds OAuth credentials, so keep it outside the repository and never commit it.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/merit-systems-openinstinct/handle-gmail-calendar-and-contacts/

## How to approve purchases from your Link wallet with Open Instinct

Repo: [Merit-Systems/OpenInstinct](https://github.com/Merit-Systems/OpenInstinct) | Difficulty: Advanced | Time: 120 minutes | Basis: From the README

Connect Stripe Link so the assistant can buy things you approve from your own wallet.

**Who it is for:** A US or Canadian consumer who wants an assistant to make purchases for them after they approve each one.

**The problem:** An assistant that buys things needs a payment method, and handing it a card directly is a risk.

**The outcome:** Purchases approved through Link are paid from your wallet, with the assistant using the Stripe Link Agent Wallet.

### Steps

1. Create or sign in to a Stripe account, follow Stripe's Link OAuth registration guide, and submit the Link Agent Wallet application form.
2. Register the callback URL https://<your-app>/api/auth/callback/link in that application.
3. In Vercel under Project, Settings, Environment Variables, add LINK_CLIENT_ID, LINK_CLIENT_SECRET, STRIPE_PUBLISHABLE_KEY, and BETTER_AUTH_URL.
4. Push a commit to the connected Git repository to redeploy.

### Prompt to paste into your agent

```text
Using the repo Merit-Systems/OpenInstinct, configure the Link environment variables for the project <your-app> without committing any secret. Expected output: a redeployed app with the Link wallet page showing the callback URL. Verify that STRIPE_PUBLISHABLE_KEY starts with pk_ and not sk_.
```

### Caveat

Stripe currently supports Link Agent Wallet only for US and Canadian consumers, and the deploy button does not configure Link for you.

Risk, credentials: The LINK_CLIENT_SECRET must stay in server settings and must not be pasted into chat or committed.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/merit-systems-openinstinct/approve-purchases-from-a-link-wallet/
