[GH-ISSUE #801] Feature Request: Push URLs to external webhooks to allow saving to Onenote #505

Closed
opened 2026-03-01 14:44:11 +03:00 by kerem · 10 comments
Owner

Originally created by @erickguan on GitHub (Jul 19, 2021).
Original GitHub issue: https://github.com/ArchiveBox/ArchiveBox/issues/801

Hello! I would like to request a feature to archive to OneNote.

Type

  • General question or discussion
  • Propose a brand new feature
  • Request modification of existing behavior or design

What is the problem that your feature request solves

I want to organize some notes, tweets (weibo too) in OneNote. It would be nice to use ArchiveBox to store them in various format. OneNote is better for personal access personally.

Describe the ideal specific solution you'd want, and whether it fits into any broader scope of changes

OneNote has an API. It doesn't support extract as its browser extension does. But it accepts data and files. So it can be one archive mechanism.

What hacks or alternative solutions have you tried to solve the problem?

Save as PDF, download it, and then upload it to OneNote.

How badly do you want this new feature?

  • It's an urgent deal-breaker, I can't live without it
  • It's important to add it in the near-mid term future
  • It would be nice to have eventually

  • I'm willing to contribute dev time / money to fix this issue
  • I like ArchiveBox so far / would recommend it to a friend
  • I've had a lot of difficulty getting ArchiveBox set up
Originally created by @erickguan on GitHub (Jul 19, 2021). Original GitHub issue: https://github.com/ArchiveBox/ArchiveBox/issues/801 Hello! I would like to request a feature to archive to OneNote. ## Type - [ ] General question or discussion - [x] Propose a brand new feature - [ ] Request modification of existing behavior or design ## What is the problem that your feature request solves I want to organize some notes, tweets (weibo too) in OneNote. It would be nice to use ArchiveBox to store them in various format. OneNote is better for personal access personally. ## Describe the ideal specific solution you'd want, and whether it fits into any broader scope of changes OneNote has an [API](https://docs.microsoft.com/en-us/graph/integrate-with-onenote). It doesn't support extract as its browser extension does. But it accepts data and files. So it can be one archive mechanism. ## What hacks or alternative solutions have you tried to solve the problem? Save as PDF, download it, and then upload it to OneNote. ## How badly do you want this new feature? - [ ] It's an urgent deal-breaker, I can't live without it - [ ] It's important to add it in the near-mid term future - [x] It would be nice to have eventually --- - [x] I'm willing to contribute [dev time](https://github.com/ArchiveBox/ArchiveBox#archivebox-development) / [money](https://github.com/sponsors/pirate) to fix this issue - [x] I like ArchiveBox so far / would recommend it to a friend - [ ] I've had a lot of difficulty getting ArchiveBox set up
kerem 2026-03-01 14:44:11 +03:00
Author
Owner

@pirate commented on GitHub (Jul 19, 2021):

Probably not going to build this into archivebox core, but you can definitely cobble something together using the CLI or REST API.

<!-- gh-comment-id:882902478 --> @pirate commented on GitHub (Jul 19, 2021): Probably not going to build this into archivebox core, but you can definitely cobble something together using the CLI or REST API.
Author
Owner

@erickguan commented on GitHub (Aug 2, 2021):

That's alright. As long as I can send an http request to a webhook, I can build something on my own. Or I can use webhooks from onenote to trigger archivebox action by REST API. Is this in documentation? If not, can you point me to the right module?

<!-- gh-comment-id:891224612 --> @erickguan commented on GitHub (Aug 2, 2021): That's alright. As long as I can send an http request to a webhook, I can build something on my own. Or I can use webhooks from onenote to trigger archivebox action by REST API. Is this in documentation? If not, can you point me to the right module?
Author
Owner

@pirate commented on GitHub (Aug 3, 2021):

/core/snapshot/add is the REST endpoint you want, you can find the source for it here: archivebox/core/views.py:AddView.form_valid(...) and archivebox/core/forms.py:AddLinkForm.

Use the dev version of ArchiveBox, as the REST API is still in beta: https://github.com/ArchiveBox/ArchiveBox#install-and-run-a-specific-github-branch

<!-- gh-comment-id:891713444 --> @pirate commented on GitHub (Aug 3, 2021): `/core/snapshot/add` is the REST endpoint you want, you can find the source for it here: `archivebox/core/views.py`:`AddView.form_valid(...)` and `archivebox/core/forms.py`:`AddLinkForm`. Use the `dev` version of ArchiveBox, as the REST API is still in beta: https://github.com/ArchiveBox/ArchiveBox#install-and-run-a-specific-github-branch
Author
Owner

@erickguan commented on GitHub (Dec 31, 2021):

I understand better with modules now. The general idea is to add an extractor to save to OneNote. OneNote is a bit complex. It needs OAuth 2 flow for authentication tokens. Then it needs users to choose where to save. Let's say simplified the saving location to a fixed path. Then I also need to save the config. What are your general thoughts about configs for additional extractors?

<!-- gh-comment-id:1003368539 --> @erickguan commented on GitHub (Dec 31, 2021): I understand better with modules now. The general idea is to add an extractor to save to OneNote. OneNote is a bit complex. It needs OAuth 2 flow for authentication tokens. Then it needs users to choose where to save. Let's say simplified the saving location to a fixed path. Then I also need to save the config. What are your general thoughts about configs for additional extractors?
Author
Owner

@mAAdhaTTah commented on GitHub (Dec 31, 2021):

@erickguan As an example, when I wrote the parser for the Pocket API, I included the keys as config options, so the OAuth flow wouldn't need to be built into the app but could be done outside of it and provided that way.

<!-- gh-comment-id:1003418042 --> @mAAdhaTTah commented on GitHub (Dec 31, 2021): @erickguan As an example, when I wrote the [parser for the Pocket API](https://github.com/ArchiveBox/ArchiveBox/pull/528), I included the keys as config options, so the OAuth flow wouldn't need to be built into the app but could be done outside of it and provided that way.
Author
Owner

@erickguan commented on GitHub (Dec 31, 2021):

Thanks @mAAdhaTTah. I can go with the same approach.

Anything you want to add before I start? @pirate

And happy new year people.

<!-- gh-comment-id:1003459184 --> @erickguan commented on GitHub (Dec 31, 2021): Thanks @mAAdhaTTah. I can go with the same approach. Anything you want to add before I start? @pirate And happy new year people.
Author
Owner

@pirate commented on GitHub (Jan 6, 2022):

Hmm not sure I'm comfortable building this much OneNote-specific functionality into ArchiveBox. Is there any way this could be broken out as a separate tool? It could pull from the ArchiveBox SQL db / use the ArchiveBox python API to do push stuff into OneNote without being built in directly.

ArchiveBox doesn't really have a webhook / outbound ping system to notify other services of events, and thats a lot of machinery to maintain long-term.

<!-- gh-comment-id:1006341407 --> @pirate commented on GitHub (Jan 6, 2022): Hmm not sure I'm comfortable building this much OneNote-specific functionality into ArchiveBox. Is there any way this could be broken out as a separate tool? It could pull from the ArchiveBox SQL db / use the ArchiveBox python API to do push stuff into OneNote without being built in directly. ArchiveBox doesn't really have a webhook / outbound ping system to notify other services of events, and thats a lot of machinery to maintain long-term.
Author
Owner

@erickguan commented on GitHub (Jan 6, 2022):

I see your concerns about maintenance costs. ArchiveBox has an extractor with Archive.org. That makes sense obviously. OneNote is similar to that except being controlled by users. OneNote provides similar page extraction and exposes the link to it too. It looks like a good fit within admin and visualization tool.
On the other hand, pulling DB will always work technically. Though I'd imagine people will click OneNote clipping tools instead of having another script process to try to automate it. As for having a webhook system, that would be too much configuration. It also requires crazy loads of changes to UI. For OneNote, it's perhaps several configs (say 3-5).
But of course, allowing OneNote extractor also means the project is open to other extractors. Every more extractor is more expensive to maintain given how ArchiveBox works. I don't mean to stress you or myself to work endlessly but I would say to consider that in roadmap discussion if it haven't been discussed. Either accepting the feature or not, it's a plus for the future of the project.

<!-- gh-comment-id:1006394754 --> @erickguan commented on GitHub (Jan 6, 2022): I see your concerns about maintenance costs. ArchiveBox has an extractor with Archive.org. That makes sense obviously. OneNote is similar to that except being controlled by users. OneNote provides similar page extraction and exposes the link to it too. It looks like a good fit within admin and visualization tool. On the other hand, pulling DB will always work technically. Though I'd imagine people will click OneNote clipping tools instead of having another script process to try to automate it. As for having a webhook system, that would be too much configuration. It also requires crazy loads of changes to UI. For OneNote, it's perhaps several configs (say 3-5). But of course, allowing OneNote extractor also means the project is open to other extractors. Every more extractor is more expensive to maintain given how ArchiveBox works. I don't mean to stress you or myself to work endlessly but I would say to consider that in roadmap discussion if it haven't been discussed. Either accepting the feature or not, it's a plus for the future of the project.
Author
Owner

@pirate commented on GitHub (Nov 28, 2022):

I think I'm going to make the hard choice to reject this feature to resist scope creep. It's a lot of surface area to maintain and I think external tooling will be easier to build the the future that can do this once we have a better REST API.

Thanks for the idea though and don't hesitate to open new issues in the future for other ideas. I'm closing this for now but I'll try to remember to comment back here if we ever implement outbound webhooks that could be used to push URLs to onenote.

Related: #496

<!-- gh-comment-id:1328490148 --> @pirate commented on GitHub (Nov 28, 2022): I think I'm going to make the hard choice to reject this feature to resist scope creep. It's a lot of surface area to maintain and I think external tooling will be easier to build the the future that can do this once we have a better REST API. Thanks for the idea though and don't hesitate to open new issues in the future for other ideas. I'm closing this for now but I'll try to remember to comment back here if we ever implement outbound webhooks that could be used to push URLs to onenote. Related: #496
Author
Owner

@erickguan commented on GitHub (Nov 30, 2022):

Not at all! You spent a lot of time building the project. And it should be managed in a way that I can continue using it. Marking a feature as a no-go is a step forward. Thanks for your response.

<!-- gh-comment-id:1332739968 --> @erickguan commented on GitHub (Nov 30, 2022): Not at all! You spent a lot of time building the project. And it should be managed in a way that I can continue using it. Marking a feature as a no-go is a step forward. Thanks for your response.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ArchiveBox#505
No description provided.