{% if ct %}{{ ct.name }}{% else %}{{ i.contact }}{% endif %} {% if ct and ct.title %}{{ ct.title }}{% endif %} {% if ct and ct.linkedin %}LinkedIn ↗{% endif %} {% if ct and ct.email %}{{ ct.email }}{% endif %} {{ i.channel }} {{ i.state }} {% if i.kind == 'reply-to-interest' %}reply to interest{% endif %}
{% if co %}{{ co.name }} · {{ co.stage }}{% else %}{{ i.company }}{% endif %} · {% if card.fit is not none %}fit {{ card.fit }}{% else %}no fit score{% endif %} {% if co and co.website %}· website ↗{% endif %} · {{ i.approach or 'no approach' }}{% if i.language %} · {{ i.language }}{% endif %}
{% if card.followed.count %}Followed {{ card.followed.count }} lesson{{ 's' if card.followed.count != 1 }}
{% if card.followed.texts %}- {% for t in card.followed.texts %}
- {{ t }} {% endfor %}
{{ card.followed.count - card.followed.texts | length }} since retired or reworded.
{% endif %}These lessons were in the prompt for this draft. Learning
Modeled on: {% for m in card.modeled %}{{ m.label }}{% if not loop.last %}, {% endif %}{% endfor %}. Learning
{% endif %} {% if i.flags %}- {% for f in i.flags %}
- {{ f }} {% endfor %}
Their reply, {{ fmt_date(card.reply.date) }}
{% if card.reply.subject %}{{ card.reply.subject }}
{% endif %}{{ card.reply.body }}
Notes ({{ nc.rows | length }}{% if nc.rows %}, {{ nc.rows | selectattr('used') | list | length }} used{% endif %})
The draft is written from these notes, which also appear on their page and the company timeline.
{% if i.state == 'drafted' and nc.newer %}{{ nc.newer }} note{{ 's' if nc.newer != 1 }} added since this draft was written. Regenerate to use {{ 'it' if nc.newer == 1 else 'them' }}.
{% endif %}- {% for r in nc.rows %}
- {{ r.text }} · {{ fmt_date(r.note.date) }} · {% if r.source_url %}{{ r.source_url | replace('https://', '') | truncate(40) }}{% else %}{{ 'company' if r.origin == 'company' else 'you' }}{% endif %}{% if r.used %} · used{% endif %} · on the timeline {% endfor %}
From before notes were shared, saved as notes when you regenerate or mark ready:
- {% for f in nc.legacy %}
- {{ f.text }} ({{ f.source }}) {% endfor %}
- {% for n in i.norms %}
- {{ n }} {% endfor %}
Held back: {{ i.send_note }}
{% endif %} {% if i.channel == 'email' %}{{ i.subject }}
{% endif %}{{ i.body }}
{% if i.pitch %}after they accept
{{ i.pitch }}{% endif %}
{% if i.checks %}- {% for c in i.checks %}
- {{ c }} {% endfor %}
Critic {{ i.critic_score }}/5
Lowest: {% for name in critic_scores %}{{ name }} {{ i.critic[name] }}{% if not loop.last %}, {% endif %}{% endfor %}{% if i.critic_reason %}. {{ i.critic_reason }}{% endif %}
{{ i.subject }}
{% endif %} {% if i.state == 'queued' %}{% if i.send_at %}Goes out {{ i.send_at.strftime('%a') }} {{ fmt_date(i.send_at) }}, {{ i.send_at.strftime('%H:%M') }}{% else %}No free slot in the next 60 days{% endif %}{% if i.send_error %} last try: {{ i.send_error }}{% endif %}
{% else %}Not sent: {{ i.send_error }}
{% endif %}{{ i.body }}
{{ i.subject }}
{% endif %} {% if i.body %}The message
{{ i.body }}{% if i.state == 'skipped' %}Skipped: {{ i.skip_reason }}{% if i.skip_note %} ({{ i.skip_note }}){% endif %}{% if i.skipped %}, {{ fmt_datetime(i.skipped) }}{% endif %} {% elif i.sent %}Sent {{ fmt_datetime(i.sent) }}{% if i.sent_with %}, logged{% else %}, marked by hand{% endif %}{% endif %} {% if i.edit_distance is not none %} · {{ i.edit_distance }} word{{ 's' if i.edit_distance != 1 }} edited{% endif %}
{% endif %} {% if i.state not in ('drafted', 'ready', 'queued', 'failed') %}{{ history(card) }}{% endif %}{{ i.id }}{% if i.model %} · {{ i.model }}{% endif %}{% if i.seconds is not none %} · {{ i.seconds }}s{% endif %}{% if i.norms and not has_notes %} · norms: {{ i.norms | join('; ') }}{% endif %}