Connectors
A connector is an application from outside — Airtable, a CRM, a messaging service, your own ERP — that a role can use without leaving Organtia. The view is called Connectors under Settings, Applications tab (the page address is still the one for “connected applications”).
Each connector is a declarative record: it says what connection data it asks for, how it authenticates and which actions it offers. There is no code per application: adding one means adding a file to the catalogue. The engine makes HTTP requests, stores keys encrypted and logs every call.
Four rules worth keeping in mind:
- The keys belong to this installation. They live encrypted in its database and never leave through the screen or the API.
- No permission, no connection: a role only uses what it has been granted. You, as the owner, see everything.
- Every call is audited: who, which action, which response code and how long it took.
- Internal network addresses are closed by default. They are opened connection by connection, with “Allow local network”.
The header and search
Section titled “The header and search”| Element | What it does |
|---|---|
| Title | “Applications” with a counter: how many records are in the catalogue. |
| Search box | “Search application…”. Searches the name, the identifier and the description. |
Below there is a row of category buttons. The first is “All (N)”; then one per category, with its count. Tapping one leaves the gallery with only that category. The active category is highlighted.
Catalogue categories in this version:
| Category | Applications |
|---|---|
| Messaging | 62 |
| Development | 46 |
| Marketing | 28 |
| Others | 26 |
| Sales | 25 |
| Productivity | 23 |
| Documents | 23 |
| Data | 16 |
| Infrastructure | 8 |
| Finance | 8 |
| Automation | 2 |
| Communication | 1 |
| Security | 1 |
| CRM | 1 |
| AI | 1 |
| Artificial intelligence | 1 |
| Systems | 1 |
| Projects | 1 |
In total, 274 records. The numbers on the buttons are computed on the fly: if the catalogue changes, they change with it.
The gallery
Section titled “The gallery”Each application is a card with its icon and its name. Hovering over it shows its description. If the application is one of those requiring OAuth2 and that flow is not available yet, the card carries the “OAuth2” badge.
Tapping a card opens the form to connect that application. Nothing is connected just by tapping it.
If the search finds nothing: “No application matches “text”. Add it with a file in
app/conectores/“. It is literal: the catalogue is JSON files in that folder of the installation.
“Your connections”
Section titled ““Your connections””Below the gallery is the list of connections set up in this installation. If there are none: “None yet. Tap an icon above and it will ask only for what that application needs. You can test it before giving it to anyone”.
Each row shows:
| Part | What it is |
|---|---|
| Icon and name | The name you gave this connection, with a tag for the connector it comes from. |
| Authentication | The type in plain language: “No authentication”, “Token (Bearer)”, “Custom header”, “Username and password”, “Parameter in the URL”, “Token inside the URL”, “Keys in the URL” or “OAuth2 (pending)”. |
| Key | “key saved” or “no key”. The key is never shown. |
| Local network | “local network allowed”, only if you opened it. |
| Permissions | The roles that can use it, separated by commas, or “nobody else uses it”. |
And these buttons:
| Button | When it appears or is active | What it does |
|---|---|---|
| Connect | Only on OAuth2 connections that are not pending and do not have a token yet. | Opens the provider’s authorisation screen in another tab. When you authorise and come back, the connection saves the token itself. |
| Test | Always. | Opens the real test dialogue for that connection. |
| Permissions | Always. | Opens the “Who can use it” dialogue. |
| Edit | Always. | Opens the form with what is saved. Key fields come up empty so you do not change them by accident. |
| Bin | Always. | Deletes the connection, without asking for confirmation. |
Connection form
Section titled “Connection form”It opens when you tap a card in the gallery (“Connect name”) or with “Edit” (“Edit name”). What it asks for is dictated by the connector’s record, not by the screen: that is why some applications have two fields and others six.
| Element | What it is |
|---|---|
| OAuth2 pending notice | If the application requires a flow that does not exist yet, it explains that it will connect when it does. The Save button stays disabled. |
| Unsupported notice | If the connector does not speak HTTP, it says why and the Save button stays disabled. |
| Name of this connection | How you will recognise it in the list. Required; without it you cannot save. |
| Connection data | The application’s own fields (for example a base ID and a table name). Each one carries its label, an asterisk if it is required and an example as a hint. |
| Authentication | Dropdown, only if the connector accepts more than one type. Changing it asks for the new type’s fields. |
| Keys | One or more password fields, depending on the type. The label comes from the record itself when it has one (“Personal token”, “Username”, “Password”…). If the type asks for none, it says so: “there are no keys to save”. |
| “How to get it” | If the record has it, it explains where the key or token is generated. |
| Redirect URL | Only on OAuth2: the URL to copy into the remote application. If the connection is already saved, “Connect and authorise” appears; if not, it warns that you have to save first. |
| “Allow local network” | Checkbox off by default. Only for applications on your own network (192.168.x, 10.x, localhost). |
When saving, empty data fields are not sent, and neither are empty keys: when editing, leaving a key blank keeps the previous one.
Authentication types the engine understands:
| Type | What it asks for |
|---|---|
| No authentication | Nothing. |
| Token (Bearer) | A token. |
| Custom header | The header name and its value. |
| Username and password | Username and password. |
| Parameter in the URL | The parameter name and its value. |
| Token inside the URL | A token that travels in the address itself. |
| Keys in the URL | Several keys as parameters. |
| OAuth2 (pending) | Authorisation on the provider’s website; not yet available across the whole gallery. |
If a record carries a type that is not in this list, the screen shows its technical name (for
example aws_sigv4) instead of a translated label.
Private addresses
Section titled “Private addresses”If the application’s URL points to a private or local address, or to a loopback address, the server rejects the call unless you have ticked “Allow local network”. The error says so plainly: “the URL points to a private or local address. If it is your internal server, enable “allow local network” on that connection”.
Only http:// and https:// are accepted.
Applications you cannot connect
Section titled “Applications you cannot connect”The catalogue shows some applications the engine cannot use, so that you know they exist and why they are not there:
| Application | Reason |
|---|---|
| MQTT | It does not speak HTTP: it is publish and subscribe over TCP with a permanent connection. It would need a bridge. |
| Redis | It uses its own protocol over TCP, not HTTP. |
| SSH | It is not a web API: it cannot be called with an https address. |
And two that require OAuth2 and do not yet have the full flow: Microsoft Dataverse and ServiceNow. In all five, the Save button is disabled and the record explains why.
The “Who can use it” dialogue
Section titled “The “Who can use it” dialogue”This is where a connection is given to a role, action by action.
| Element | What it is |
|---|---|
| Permissions list | Each role that already uses it, with the actions granted and a bin to take the permission away. |
| No-permissions notice | If nobody uses it: “Nobody uses it yet. Only you, as the owner”. |
| Role | Dropdown with “Adrián (CEO)” and all active roles. |
| Actions | One checkbox per action that connector offers. |
| “Grant” | Disabled if no role is chosen or no action is ticked. When you press it, it says “Permission granted to code” and closes the dialogue. |
Removing a permission is done with the bin on its row, without confirmation. The notice is “Permission withdrawn from code”.
There is a second route, quicker and blunter: in the role’s profile, “Applications” tab, tapping a connection’s icon gives it all its actions; tapping again takes them away. To fine-tune which action yes and which action no, use this Connectors dialogue.
The “Test the connection” dialogue
Section titled “The “Test the connection” dialogue”The test is real: it goes out to the external application and it is logged. The subtitle says so: “the call is real and it is logged”.
| Element | What it is |
|---|---|
| Action | Dropdown with the actions the connector offers. Changing it reloads its parameters with the default values. |
| Description | The explanation of the chosen action. |
| Parameters | One field per parameter, with its label and an asterisk if it is required. If the parameter accepts a list of values, it is a dropdown; if it expects an object or a list, it is a text area for JSON; the rest are normal fields. |
| “Run” | Launches the call. It is disabled while it is in progress. |
| Result | Header “Response · code · N ms” or “Error · N ms”, and below it the response body in a scrollable block. |
Empty parameters that have a default value are sent with that value. Text that starts with { or
[ is sent as JSON; text with a numeric default value is sent as a number; the rest as text.
Testing a connection does not grant permissions or change anything about the connection: it only checks that it answers.
