summaryrefslogtreecommitdiff
path: root/Workflow.org
diff options
context:
space:
mode:
authorSzymon Szukalski <szymon@szymonszukalski.com>2026-04-13 10:12:26 +1000
committerSzymon Szukalski <szymon@szymonszukalski.com>2026-04-13 10:12:26 +1000
commit281ca77b74eefa81578d9195ef78cd46a832d8c9 (patch)
tree81749e1d141401a69fc4dee558c44c13285da641 /Workflow.org
parentfea9aacb598d488a79a508906b72cdf7f3b6fe87 (diff)
Reintroduce CRM workflow in init.el
Diffstat (limited to 'Workflow.org')
-rw-r--r--Workflow.org74
1 files changed, 74 insertions, 0 deletions
diff --git a/Workflow.org b/Workflow.org
index 25405b3..c4b2901 100644
--- a/Workflow.org
+++ b/Workflow.org
@@ -30,6 +30,14 @@ When an Org buffer opens:
- drawers are hidden at startup
- standard Org speed commands are enabled
+** Required Files
+
+The main work note is =~/org/optus.org=.
+The people CRM is =~/org/crm.org=.
+
+Startup validates =~/org=, =~/org/optus.org=, and =~/org/crm.org=.
+If any of them are missing, Emacs still starts, but the workflow warns clearly so the missing file can be fixed deliberately.
+
* Home Agenda
The Home agenda command key is =h= inside =org-agenda= custom commands.
@@ -87,6 +95,67 @@ Use this for raw notes that still need sorting or refiling.
- content: scheduled =TODO=
- metadata: =CAPTURED= property
+All capture templates target headings in =~/org/optus.org=.
+
+* CRM Workflow
+
+The CRM is a single Org file at =~/org/crm.org=.
+Each person is stored as a level-1 heading with this property model:
+
+#+begin_src org
+:PROPERTIES:
+:ABBREV:
+:ALIASES:
+:ROLE:
+:TEAM:
+:MANAGER:
+:RELATIONSHIP:
+:ENGAGEMENT:
+:SUPPLIER:
+:LOCATION:
+:CURRENT_FOCUS:
+:END:
+#+end_src
+
+The configured relationship completions are:
+
+- =Peer=
+- =Direct Report=
+- =Internal Stakeholder=
+- =External Stakeholder=
+- =Vendor=
+
+Role, team, relationship, engagement, supplier, and location prompts offer known values with completion.
+Relationship also allows new freeform values when needed.
+Manager completion is restricted to existing CRM names.
+
+** CRM Commands
+
+- =C-c p o= opens =~/org/crm.org= in overview mode
+- =C-c p f= finds a person and narrows to that card
+- =C-c p a= adds a new CRM card
+- =C-c p i= inserts a canonical person name
+- =C-c p s= inserts a compact person summary
+
+Reports are available through these commands:
+
+- =M-x ss-crm-report-by-role=
+- =M-x ss-crm-report-by-team=
+- =M-x ss-crm-report-by-manager=
+- =M-x ss-crm-report-by-relationship=
+- =M-x ss-crm-report-by-engagement=
+- =M-x ss-crm-report-by-supplier=
+- =M-x ss-crm-report-by-location=
+
+** CRM Completion
+
+CRM completion works in text and Org writing buffers through both abbrevs and completion-at-point.
+
+- CAPF inserts canonical names
+- aliases help find the right person
+- Marginalia annotations show compact CRM summaries in minibuffer selection
+- CRM abbrevs are rebuilt from the current CRM data, and stale CRM abbrevs are cleared before reinstalling them
+
* Refile Workflow
The configuration is built around using Org refile rather than custom routing.
@@ -114,6 +183,11 @@ The intended loop is:
| =C-c c= | =org-capture= | Open capture |
| =C-c a= | =org-agenda= | Open agenda |
| =C-c r= | =org-refile= | Refile current entry |
+| =C-c p o= | =ss-crm-open= | Open CRM in overview mode |
+| =C-c p f= | =ss-crm-find= | Find and focus a CRM card |
+| =C-c p a= | =ss-crm-add= | Add a CRM card |
+| =C-c p i= | =ss-crm-insert-name= | Insert a canonical CRM name |
+| =C-c p s= | =ss-crm-insert-summary= | Insert a compact CRM summary |
| =C-c z= | =olivetti-mode= | Toggle focused writing layout |
** Common Org Commands