n8n-nodes-tukimate 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,140 @@
1
+ # n8n-nodes-tukimate
2
+
3
+ [n8n](https://n8n.io) community node for [TukiMate](https://tukimate.com) API.
4
+
5
+ ## Installation
6
+
7
+ ### In n8n Community Nodes
8
+
9
+ 1. Go to **Settings** > **Community Nodes**
10
+ 2. Select **Install**
11
+ 3. Enter `n8n-nodes-tukimate`
12
+ 4. Click **Install**
13
+
14
+ ### Manual Installation
15
+
16
+ ```bash
17
+ cd ~/.n8n/custom
18
+ npm install n8n-nodes-tukimate
19
+ ```
20
+
21
+ ## Credentials
22
+
23
+ To use this node, you need a TukiMate API key:
24
+
25
+ 1. Log in to your TukiMate account
26
+ 2. Go to **Settings** > **API Keys**
27
+ 3. Create a new API key
28
+ 4. Copy the key (starts with `tuki_`)
29
+
30
+ In n8n:
31
+ 1. Go to **Credentials**
32
+ 2. Click **Add Credential**
33
+ 3. Search for "TukiMate API"
34
+ 4. Paste your API key
35
+ 5. Save
36
+
37
+ ## Supported Resources & Operations
38
+
39
+ ### Conversation
40
+ | Operation | Description |
41
+ |-----------|-------------|
42
+ | List | Get a list of conversations with optional filters |
43
+ | Get | Get a single conversation by ID |
44
+ | Create | Create a new conversation |
45
+ | Update | Update an existing conversation |
46
+
47
+ ### Contact
48
+ | Operation | Description |
49
+ |-----------|-------------|
50
+ | List | Get a list of contacts |
51
+ | Get | Get a single contact by ID |
52
+ | Create | Create a new contact |
53
+ | Update | Update an existing contact |
54
+
55
+ ### Team
56
+ | Operation | Description |
57
+ |-----------|-------------|
58
+ | List | Get a list of teams |
59
+ | Get | Get a single team by ID |
60
+ | Create | Create a new team |
61
+ | Update | Update an existing team |
62
+
63
+ ### Project
64
+ | Operation | Description |
65
+ |-----------|-------------|
66
+ | List | Get a list of projects |
67
+ | Get | Get a single project by ID |
68
+ | Create | Create a new project |
69
+ | Update | Update an existing project |
70
+
71
+ ### Client
72
+ | Operation | Description |
73
+ |-----------|-------------|
74
+ | List | Get a list of clients |
75
+ | Get | Get a single client by ID |
76
+ | Create | Create a new client |
77
+ | Update | Update an existing client |
78
+
79
+ ### Source
80
+ | Operation | Description |
81
+ |-----------|-------------|
82
+ | List | Get a list of sources |
83
+ | Get | Get a single source by ID |
84
+ | Create | Create a new source |
85
+ | Update | Update an existing source |
86
+
87
+ ### Conversation Type
88
+ | Operation | Description |
89
+ |-----------|-------------|
90
+ | List | Get available conversation types (read-only) |
91
+
92
+ ## Example Usage
93
+
94
+ ### Create a Conversation
95
+
96
+ 1. Add a **TukiMate** node to your workflow
97
+ 2. Select **Conversation** as the resource
98
+ 3. Select **Create** as the operation
99
+ 4. Fill in the required fields:
100
+ - Title
101
+ - Date/Time
102
+ - Transcript
103
+ - Source (e.g., "api")
104
+ 5. Optionally add:
105
+ - Team
106
+ - Project
107
+ - Client
108
+ - Participants
109
+
110
+ ### List Conversations with Filters
111
+
112
+ 1. Add a **TukiMate** node
113
+ 2. Select **Conversation** > **List**
114
+ 3. Optionally filter by:
115
+ - Search term
116
+ - Team
117
+ - Project
118
+ - Limit/Offset for pagination
119
+
120
+ ## Development
121
+
122
+ ```bash
123
+ # Install dependencies
124
+ pnpm install
125
+
126
+ # Build
127
+ pnpm build
128
+
129
+ # Watch mode
130
+ pnpm dev
131
+ ```
132
+
133
+ ## License
134
+
135
+ MIT
136
+
137
+ ## Support
138
+
139
+ - [TukiMate Documentation](https://app.tukimate.com/api-docs)
140
+ - [GitHub Issues](https://github.com/broobe/n8n-nodes-tukimate/issues)
@@ -0,0 +1,9 @@
1
+ import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
2
+ export declare class TukiMateApi implements ICredentialType {
3
+ name: string;
4
+ displayName: string;
5
+ documentationUrl: string;
6
+ properties: INodeProperties[];
7
+ authenticate: IAuthenticateGeneric;
8
+ test: ICredentialTestRequest;
9
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TukiMateApi = void 0;
4
+ class TukiMateApi {
5
+ name = 'tukiMateApi';
6
+ displayName = 'TukiMate API';
7
+ documentationUrl = 'https://app.tukimate.com/api-docs';
8
+ properties = [
9
+ {
10
+ displayName: 'API Key',
11
+ name: 'apiKey',
12
+ type: 'string',
13
+ typeOptions: {
14
+ password: true,
15
+ },
16
+ default: '',
17
+ required: true,
18
+ description: 'Your TukiMate API key (starts with tuki_)',
19
+ },
20
+ ];
21
+ authenticate = {
22
+ type: 'generic',
23
+ properties: {
24
+ headers: {
25
+ Authorization: '=Bearer {{$credentials.apiKey}}',
26
+ },
27
+ },
28
+ };
29
+ test = {
30
+ request: {
31
+ baseURL: 'https://app.tukimate.com/api',
32
+ url: '/conversation-types',
33
+ method: 'GET',
34
+ },
35
+ };
36
+ }
37
+ exports.TukiMateApi = TukiMateApi;
@@ -0,0 +1,20 @@
1
+ import { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription, ILoadOptionsFunctions, INodePropertyOptions } from 'n8n-workflow';
2
+ declare function getTeamOptions(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
3
+ declare function getProjectOptions(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
4
+ declare function getClientOptions(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
5
+ declare function getSourceOptions(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
6
+ declare function getConversationTypeOptions(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
7
+ export declare class TukiMate implements INodeType {
8
+ description: INodeTypeDescription;
9
+ methods: {
10
+ loadOptions: {
11
+ getTeams: typeof getTeamOptions;
12
+ getProjects: typeof getProjectOptions;
13
+ getClients: typeof getClientOptions;
14
+ getSources: typeof getSourceOptions;
15
+ getConversationTypes: typeof getConversationTypeOptions;
16
+ };
17
+ };
18
+ execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
19
+ }
20
+ export {};