Alimenter une base de données Notion depuis Apple Shortcuts
Pour améliorer mon workflow de blogging (j'y reviendrai plus en détail prochainement), je souhaitais créer des entrées dans ma base de données Notion dans laquelle je gère mes d'idées d'articles. J'avais trouvé sur iOS comment le faire en natif, Notion apparaissant dans la liste des apps disponibles dans l'application Apple Raccourcis/Shortcuts. La fonction disponible est très basique : elle permet de créer une nouvelle entrée dans une base de données en lui indiquant le titre et le contenu. Elle ne permet pas d'alimenter les autres champs de la base.
J'ai donc cherché sur le net et trouvé différentes sources qui m'ont éclairé sur la façon de le faire en utilisant l'API de Notion. Je savais que l'on pouvait appeler des APIs depuis Shortcuts mais mes compétences sur l'application d'Apple se limitent à quelques notions ( 🤣 vous l'avez ? ). Après avoir lu ces sources et fait quelques tests, j'avais avancé mais butais toujours sur la compréhension du truc :
- Notion Developers Guide : on commence par la base indispensable, la documentation officielle de Notion sur l'API, la structure des données et des exemples de code. Je dois signaler que cette documentation est un modèle du genre, vraiment claire et complète. Hélas dans mon cas, elle n'est pas suffisante, car Apple Shortcuts est plutôt particulier dans son approche et sa façon de travailler avec les APIs.
- Quickly save selected text (in all apps) to Notion in two clicks : j'ai presque réussi à le faire fonctionner sur ma base de données mais la manipulation des Dictionnaires dans Shortcuts est tout sauf intuitive et j'ai fini par abandonner.
- Fill a Notion database via iOS home screen shortcuts through the notion API : bien plus didactique et apporte surtout l'idée qu'on peut utiliser du JSON plutôt que les Dictionnaires pour envoyer les données à l'API. Bien plus lisible et maintenable.
Et puis j'ai eu un déclic. YouTube ! Comment se fait-il que je n'eusse pas commencé par cela. C'est pourtant mon réflexe quand je cherche ce type d'information technique, un bon vieux tuto détaillé. Première recherche, première vidéo et c'était la bonne : THIS is how I capture ALL my thoughts using Apple Shortcuts and Notion de Vikash Analytics. Une autre leçon : ne pas toujours se fier au nombre d'abonnés, c'est même sa toute première vidéo.
En résumé, il faut juste 3 étapes dans Shortcuts :
- Définir un
Texte
avec le JSON décrivant les données à mettre à jour. - Créer un élément
url
qui contient l'url d'appel de l'API Notion à savoirhttps://api.notion.com/v1/pages
- Créer un élément
Obtenir le contenu de l'url
et définir les options suivantes. Remarque : sur la copie d'écran n'apparaît pas en face de la mentionFichier:
la sélection qui est faite par le menu déroulant de la variable contenant le JSON (variable Json dans mon cas).
Voici pour exemple le contenu du JSON que j'ai établi pour créer une entrée dans ma base de données des contenus. Je mets à jour 4 champs :
{
"parent": {
"type": "database_id",
"database_id": "ID_DE_LA_BASE_DE_DONNEES"
},
"properties": {
"Contenu": {
"type": "title",
"title": [
{
"type": "text",
"text": {
"content": "VARIABLE1_A_ENVOYER"
}
}
]
},
"ID": {
"type": "number",
"number": VARIABLE2_A_ENVOYER
},
"Status": {
"type": "select",
"select": {
"name": "Idea"
}
},
"Canal": {
"type": "multi_select",
"multi_select": [
{
"name": "blog"
},
{
"name": "YouTube"
}
]
}
}
}
- Le champ
Contenu
est le champ clé de ma base de données (celui qui s'appelle par défautNom
lorsque vous créez une nouvelle base de données). Comme vous le voyez, son type particuliertite
nécessite une syntaxe spécifique. - Le champ
ID
qui est un nombre. - Le champ
Status
est un champ de type Sélection unique. - Le champ
Canal
est un champ de type Sélection multiple.
Et ça marche !