-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathplugin.json
More file actions
181 lines (181 loc) Β· 6.26 KB
/
plugin.json
File metadata and controls
181 lines (181 loc) Β· 6.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
{
"noteplan.minAppVersion": "3.21.0",
"plugin.id": "np.jokky102.crm",
"plugin.name": "π CRM",
"plugin.description": "A simple CRM for NotePlan. Manage contacts, log interactions, and schedule follow-up reminders β all stored as notes in your CRM folder.",
"plugin.icon": "users",
"plugin.iconColor": "blue-500",
"plugin.author": "jokky102",
"plugin.version": "1.4.2",
"plugin.script": "script.js",
"plugin.commands": [
{
"name": "Add Contact",
"description": "Create a new contact in the CRM",
"jsFunction": "addRelationship",
"alias": ["ac"]
},
{
"name": "Log Interaction",
"description": "Log an interaction with a contact (no reminder)",
"jsFunction": "addInteraction",
"alias": ["li"]
},
{
"name": "Log Interaction & Schedule Reminder",
"description": "Log an interaction with a contact and schedule a follow-up reminder",
"jsFunction": "logInteractionWithReminder",
"alias": ["lir"]
},
{
"name": "Set Reminder",
"description": "Set a reminder to follow up with a contact",
"jsFunction": "setReminder",
"alias": ["sr"]
},
{
"name": "Show CRM Dashboard",
"description": "Open the CRM Dashboard",
"jsFunction": "showCRMDashboard",
"alias": ["crm"],
"sidebarView": {
"windowID": "np.jokky102.crm.main",
"title": "CRM Dashboard",
"icon": "users",
"iconColor": "blue-500"
}
},
{
"name": "CRM Settings",
"description": "Update CRM plugin settings",
"jsFunction": "updateSettings",
"alias": ["crms"]
}
],
"plugin.settings": [
{
"type": "heading",
"title": "Contact & Folder"
},
{
"key": "crm-data-folder",
"title": "CRM folder",
"description": "The NotePlan folder where contact notes are stored. Defaults to '@CRM'. You can use a nested path, e.g. 'Work/CRM'.",
"type": "string",
"default": "@CRM",
"required": true
},
{
"key": "crm-relationship-tag",
"title": "Contact tag prefix",
"description": "The hashtag prefix used to categorise contacts (e.g. 'contact' produces #contact/Client, #contact/Friend, etc.).",
"type": "string",
"default": "contact",
"required": true
},
{
"key": "crm-custom-categories",
"title": "Custom categories",
"description": "Additional contact categories beyond the defaults (Client, Colleague, Friend, Family, Business, Other). Enter a comma-separated list, e.g. Mentor, Investor, Partner.",
"type": "string",
"default": ""
},
{
"type": "heading",
"title": "Interaction Logging"
},
{
"key": "crm-interaction-types",
"title": "Interaction types",
"description": "Comma-separated list of interaction types shown when logging an interaction. You can use any emoji + label combination. Leave empty to use the defaults (βοΈ Call, π§ Email, π€ Meeting, π¬ Text, π± Social, π Other).",
"type": "string",
"default": ""
},
{
"key": "crm-interaction-datetime",
"title": "Timestamp format",
"description": "Choose whether to log interactions with date only or with date and time (24h format).\n\nExamples:\n- Date only: 2026-03-31 βοΈ Call - ...\n- Date + time: 2026-03-31 | 09:52 βοΈ Call - ...",
"type": "string",
"default": "Date + Time",
"choices": [
"Date Only",
"Date + Time"
],
"required": true
},
{
"key": "crm-interaction-position",
"title": "Interaction position in note",
"description": "Where to insert new interactions inside the contact note.\n\n- append: newest at the bottom (chronological order)\n- prepend: newest at the top (reverse chronological, below the ## Interactions heading)",
"type": "string",
"default": "append",
"choices": [
"append",
"prepend"
],
"required": true
},
{
"key": "crm-show-interaction-confirm",
"title": "Show confirmation popup after logging interaction",
"description": "When enabled, a popup confirms that the interaction was logged successfully. Disable this if you log interactions from another app and don't want NotePlan to come to the foreground.",
"type": "string",
"default": "true",
"choices": [
"true",
"false"
],
"required": true
},
{
"type": "heading",
"title": "Reminders"
},
{
"key": "crm-reminder-backend",
"title": "Reminder backend",
"description": "Where to store follow-up reminders.\n\n- Reminders: Apple Reminders (shows native notifications)\n- NotePlan: tasks inside the contact note under a ## Tasks heading (visible in NotePlan dashboard/notecard views)",
"type": "string",
"default": "Reminders",
"choices": ["Reminders", "NotePlan"],
"required": true
},
{
"key": "crm-reminder-list",
"title": "Reminder list (Apple Reminders only)",
"description": "The Reminders list where CRM reminders are saved. Leave empty to use the system default. Only used when the reminder backend is set to 'Reminders'.",
"type": "string",
"default": ""
},
{
"key": "crm-reminder-prefix",
"title": "Reminder message prefix",
"description": "The text that appears before the contact name in automatic reminders. Examples: 'Follow up with', 'Reach out to', 'Check in with'.",
"type": "string",
"default": "Follow up with"
},
{
"key": "crm-reminder-tag",
"title": "Reminder tag",
"description": "Optional tag appended to automatic reminder titles, e.g. '#follow-up' produces 'Follow up with John #follow-up'. Leave empty for no tag.",
"type": "string",
"default": ""
},
{
"type": "heading",
"title": "Navigation"
},
{
"key": "crm-navigate-after-interaction",
"title": "Open contact note after logging interaction",
"description": "When enabled, NotePlan will navigate to the contact's note after you log an interaction. When disabled, you stay in your current context.",
"type": "string",
"default": "true",
"choices": [
"true",
"false"
],
"required": true
}
]
}