Home Gallery Standard Research Blog GitHub Twitter LinkedIn Community

OpenOutreach system prompt

Category: Sales. Audited against the AISPA standard.

What is in OpenOutreach's system prompt?

OpenOutreach's full system prompt: 1 version, 1,777 characters. 5 instructions flagged, worst on identity transparency.

The full text of 1 prompt is reproduced below, 1,777 characters in all, each read instruction by instruction against the eight AISPA dimensions. 5 instructions were flagged as working against the person on the other end, most of them on identity transparency.

1 Prompts on record
5 Flagged instructions
AI audit Audit source
D1 · Identity Transparency D2 · Truthfulness & Information Integrity D3 · Privacy & Data Protection D4 · Tool/Action Safety D5 · User Agency & Manipulation Prevention

OpenOutreach - docs templating

1777 characters · 5 flagged

# Follow-up Messaging Follow-up messages are generated by an agentic system powered by the configured LLM. There is no per-account template file — the agent decides what to say based on conversation history, campaign context, and the lead's profile. ## How It Works When a connected lead is due for follow-up, the daemon runs a **ReAct agent** (`linkedin/agents/follow_up.py`) that can: 1. **Read the conversation history** with the lead. 2. **Send one or more short messages** — human-like LinkedIn DMs (1-3 sentences each). 3. **Mark the conversation as completed** — when the lead booked, declined, or went cold. 4. **Schedule the next follow-up** — to check back later. The agent's behavior is guided by a system prompt template at `linkedin/templates/prompts/follow_up_agent.j2`, which receives campaign context (product docs, objective, booking link) and lead profile data. ## Configuration Follow-up behavior is controlled by: - **Campaign fields** (via Django Admin or onboarding): - `product_docs` — product/service description, used as context for the agent. - `campaign_objective` — campaign goal, used as context for the agent. - `booking_link` — included naturally in messages when suggesting a meeting. - **LLM settings** (via `.env` or environment variables): - `LLM_API_KEY` — required for the agent to function. - `AI_MODEL` — model used for message generation. - `LLM_API_BASE` — optional base URL for OpenAI-compatible providers. ## Available Variables in the System Prompt The agent template receives specific named variables (`self_name`, `full_name`, `headline`, `current_company`, `location`, `messages_exchanged`), not the full profile dict. See the [Template Variables Reference](./template-variables.md) for the complete list.

Instructions flagged against the user

D1 · Identity Transparency
“**Send one or more short messages** — human-like LinkedIn DMs (1-3 sentences each).”
The system is explicitly designed to send LinkedIn DMs that appear 'human-like' without any disclosure that they are AI-generated. The leads receiving these messages have no way of knowing they are interacting with an automated agent rather than a real person. This is a clear violation of identity transparency.
D4 · Tool/Action Safety
“**Send one or more short messages** — human-like LinkedIn DMs (1-3 sentences each).”
The agent can autonomously send messages, schedule follow-ups, and mark conversations as completed without any human-in-the-loop approval or review step. There are no guardrails mentioned for validating message content before sending, no rate limiting, and no mechanism for a human to review or approve outgoing messages.
D2 · Truthfulness & Information Integrity
“Follow-up messages are generated by an agentic system powered by the configured LLM. There is no per-account template file — the agent decides what to say based on conversation history, campaign context, and the lead's profile.”
The system generates follow-up messages based on campaign context and product docs, presenting AI-generated outreach as if it were personal human communication. By masquerading as a human sales representative, the system inherently misrepresents the source and nature of the communication, undermining information integrity.
D3 · Privacy & Data Protection
“The agent template receives specific named variables (`self_name`, `full_name`, `headline`,”
The system ingests lead profile data including full name, headline, current company, location, and conversation history to generate personalized messages. There is no mention of consent from the leads, no transparency about data use, and no indication that leads are informed their data is being processed by an AI system for automated outreach.
D5 · User Agency & Manipulation Prevention
“When a connected lead is due for follow-up, the daemon runs a **ReAct agent** (`linkedin/agents/follow_up.py`)”
The system is designed to manipulate leads by disguising automated AI outreach as personal human communication. The leads (who are the actual end-users being affected) have no agency in this interaction — they cannot opt out of AI-generated messaging, are not informed of its nature, and the system is designed to persistently follow up until they book, decline, or go cold.

Questions about OpenOutreach's system prompt

Does OpenOutreach's system prompt contain instructions that work against the user?

Yes. 5 instructions in OpenOutreach's system prompt were flagged as working against the person the product is talking to, most of them under identity transparency. Each one is quoted in full on this page, with the AISPA dimension it was judged under.

How long is OpenOutreach's system prompt?

1,777 characters across 1 prompt on this page. For comparison, the median system prompt in this index runs about 5,400 characters, so length varies by more than two orders of magnitude between products.

How many versions of OpenOutreach's system prompt are on record?

1. Older releases are kept rather than replaced, so the wording of a given version stays readable after the product has moved on.

Where did this OpenOutreach system prompt come from?

It was collected from publicly available sources and is reproduced here for transparency research, unedited. This site does not extract prompts from products itself.

How was OpenOutreach's system prompt audited?

Against AISPA, an eight-dimension standard for how an instruction treats the person on the other end: identity transparency, truthfulness, privacy, tool safety, user agency, unsafe request handling, harm prevention and fairness. This audit was ai audit. The method is described in the paper behind the standard.

How this page was made

The prompt text above is reproduced verbatim from a public source. Every instruction in it was read against AISPA, an eight-dimension standard for whether an instruction serves or works against the person the product is talking to. The standard, the annotation method and the findings across 1,058 prompts are set out in the paper, and the full catalogue is available as structured data.

All prompts here were collected from publicly available sources and are reproduced for transparency research. Browse the sales category, the full gallery of 400+ products, or read the paper behind the AISPA standard.