/einer states what is known about juniper heartwood extractives — the sesquiterpenes that carry the scent are the ones that inhibit decay fungi — and what is not, then takes the two things the project needs: people following along, and people with wood, equipment or lab time. Both land in one bucket, worked from /review, because at this stage they are the same conversation. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015GeH3y8fwTaTudaD88P57o
238 lines
6.8 KiB
YAML
238 lines
6.8 KiB
YAML
name: What came in?
|
|
description: >
|
|
Sign in as an organizational owner to see what's come in.
|
|
alternatives:
|
|
- name: Applicants
|
|
description: ""
|
|
action: /review
|
|
consequence: [Confirm]
|
|
features:
|
|
- name: ""
|
|
description: ""
|
|
resource:
|
|
source:
|
|
kind: kv
|
|
bucket: applicants
|
|
requires_group: owners
|
|
transitions:
|
|
- to: invited
|
|
label: Invite
|
|
- to: declined
|
|
label: Decline
|
|
- from: invited
|
|
to: active
|
|
label: Onboard
|
|
- from: invited
|
|
to: declined
|
|
label: Decline
|
|
- from: active
|
|
to: departed
|
|
label: Depart
|
|
|
|
- name: Organizations
|
|
description: >
|
|
Client relationships as tracked state — advanced as the
|
|
relationship becomes real.
|
|
action: /review
|
|
consequence: [Confirm]
|
|
features:
|
|
- name: ""
|
|
description: ""
|
|
resource:
|
|
source:
|
|
kind: kv
|
|
bucket: organizations
|
|
requires_group: owners
|
|
transitions:
|
|
- from: prospect
|
|
to: client
|
|
label: Becomes client
|
|
- from: prospect
|
|
to: past_client
|
|
label: Archive
|
|
- from: client
|
|
to: past_client
|
|
label: Churn
|
|
|
|
- name: Record a prospect
|
|
description: >
|
|
A relationship worth tracking before it's a project — enter it
|
|
here and walk it through its states from the desk.
|
|
action: /review
|
|
consequence: [Record]
|
|
record_as: organizations
|
|
encouragements:
|
|
- Written down is halfway to followed up.
|
|
features:
|
|
- name: ""
|
|
description: The organization and one person there to reach.
|
|
requirements:
|
|
- name: name
|
|
label: Organization
|
|
- name: contact
|
|
label: Contact
|
|
- name: note
|
|
label: Anything worth remembering
|
|
type: textarea
|
|
optional: true
|
|
|
|
# A guest for a conversation on chat.uhhm.no: an account at id.uhhm.no
|
|
# with a passkey of their own, a place in cnats_users (which is what
|
|
# lets someone into the lobby, where the video calls are), and a mail
|
|
# saying when to turn up. The link lasts 24 hours.
|
|
- name: Invite to a conversation
|
|
description: >
|
|
Someone you want to talk to on chat.uhhm.no. They get a mail from
|
|
bl@uhhm.no with a link to make a passkey with us (valid for 24
|
|
hours) and the time to turn up in the lobby, where the video is.
|
|
action: /review
|
|
consequence: [Send the invite]
|
|
invite:
|
|
group: cnats_users
|
|
mail:
|
|
subject: "A conversation with {site_name}, {tidspunkt}"
|
|
body: |-
|
|
Hello {name},
|
|
|
|
You are invited to a conversation on chat.uhhm.no, {tidspunkt}.
|
|
|
|
First, make a passkey with us. Open the link below, add a
|
|
passkey, and press "Save" at the end: without Save it is not
|
|
kept. The link works until {expires}:
|
|
|
|
{link}
|
|
|
|
Your username is {username}.
|
|
|
|
When the time comes, go to https://chat.uhhm.no, sign in with
|
|
the passkey, and you land in the lobby. Press the video button
|
|
there, and we are in.
|
|
|
|
{notat}
|
|
features:
|
|
- name: ""
|
|
description: Who, and when to meet in the lobby.
|
|
requirements:
|
|
- name: name
|
|
label: Name
|
|
- name: email
|
|
label: Email
|
|
type: email
|
|
- name: tidspunkt
|
|
label: When
|
|
type: datetime-local
|
|
- name: notat
|
|
label: A line for them (optional)
|
|
type: textarea
|
|
optional: true
|
|
|
|
# Every invite sent from here, from portal's own invites bucket. The
|
|
# row carries the one-time link too, should the mail not reach them.
|
|
- name: Invited
|
|
description: >
|
|
Everyone invited from this desk, with their one-time link and when
|
|
it runs out. The mail went out by itself; the link is here should
|
|
it not reach them. A link that ran out can be sent again; mark an
|
|
invite done once they have signed in.
|
|
action: /review
|
|
consequence: [Confirm]
|
|
features:
|
|
- name: ""
|
|
description: One row per invite.
|
|
resource:
|
|
source: { kind: kv, bucket: portal_invites }
|
|
requires_group: owners
|
|
transitions:
|
|
- { from: open, to: done, label: Done }
|
|
- { from: expired, to: open, label: Send again }
|
|
- { from: expired, to: done, label: Done }
|
|
|
|
- name: Projects
|
|
description: ""
|
|
action: /review
|
|
consequence: [Confirm]
|
|
features:
|
|
- name: ""
|
|
description: ""
|
|
resource:
|
|
source:
|
|
kind: kv
|
|
bucket: projects
|
|
requires_group: owners
|
|
transitions:
|
|
- to: accepted
|
|
label: Accept
|
|
- to: declined
|
|
label: Decline
|
|
|
|
- name: Subscribers
|
|
description: ""
|
|
action: /review
|
|
consequence: [Send]
|
|
features:
|
|
- name: ""
|
|
description: ""
|
|
resource:
|
|
source:
|
|
kind: kv
|
|
bucket: subscribers
|
|
requires_group: owners
|
|
- name: Compose newsletter
|
|
description: >
|
|
Sends to everyone above - picked up by an automation watching
|
|
this question, not portal itself.
|
|
requirements:
|
|
- name: subject
|
|
label: Subject
|
|
- name: body
|
|
label: Body
|
|
type: prosekit
|
|
|
|
# The juniper question (/einer): everyone following along and everyone
|
|
# offering wood, equipment or lab time, in one list.
|
|
- name: Einer
|
|
description: >
|
|
Innkomne fra /einer — svar dem, eller lukk raden når samtalen er
|
|
ferdig.
|
|
action: /review
|
|
consequence: [Confirm]
|
|
features:
|
|
- name: ""
|
|
description: ""
|
|
resource:
|
|
source:
|
|
kind: kv
|
|
bucket: einer
|
|
requires_group: owners
|
|
transitions:
|
|
- to: answered
|
|
label: Answered
|
|
- to: closed
|
|
label: Close
|
|
- from: answered
|
|
to: closed
|
|
label: Close
|
|
|
|
- name: Announced pages
|
|
description: >
|
|
Pages with an `event:` window, kept here by portal itself. When a
|
|
window closes the record becomes a task: post what happened,
|
|
then mark it done.
|
|
action: /review
|
|
consequence: [Confirm]
|
|
features:
|
|
- name: ""
|
|
description: ""
|
|
resource:
|
|
source:
|
|
kind: kv
|
|
bucket: portal_events
|
|
requires_group: owners
|
|
transitions:
|
|
- from: awaiting_summary
|
|
to: summarized
|
|
label: Posted what happened
|
|
- from: announced
|
|
to: summarized
|
|
label: Needs no summary
|