I'm unsure if this can be done, but wanted to see anyways.
I am using HelpScout Docs to manage a number of tutorials for a SaaS platform, as it relates to the rest of the HelpScount platform (for support inquiries). The problem is that HelpScout does not provide any way to customize its hosted doc solutions. (https://developer.helpscout.com/docs-api/)
What I'd like to do is create a script / plugin which could run as a CRON job and slurp in full articles & their respective categories into WordPress, so I could then have full control over design and search functionalities.
There is a docs API (linked above), although it does not seem to have an endpoint to get full-context articles (unless I'm missing it). There is a plugin out there though (which I've purchased) which can embed full articles (https://creativeminds.helpscoutdocs.com/article/448-cm-helpscout-docs-portal-cmhsdp-shortcodes) ... so the functionality must exist in some way. (The problem with this plugin is that I would need to manually create placeholder pages for each article, which would not be a ideal if a more automated process was possible).
I'm happy to offer more if anyone is able to pull this off.
TL;DR, here are the requirements:
- Plugin which accepts API key and let's you choose desired post type & taxonomy for HelpScout categories
- Full articles are pulled from HelpScout API nightly (or whenever on some schedule) and either new posts are created on existing content is updated within WP
Kyle answers:
Andrew,
I can write this no problem, I have done the same thing with Salesforce and lead generation. However the $75 budget is very short of what it would take. If you want to email me here https://blueskycoding.com/contact-us/ I can give you a quote.
Dbranes answers:
This sounds like a job for wp-cli to e.g. avoid timeout.
Have you looked at:
https://github.com/alessandrotesoro/wp-cli-helpscout-docs-parser
It supports this command line:
wp helpscout generate {collection ID}
that could be used in linux cron job.
It uses the HTTP API, like:
$request = wp_remote_get( 'https://docsapi.helpscout.net/v1/articles/' . $id , $params );
$request = wp_remote_retrieve_body( $request );
$request = json_decode( $request );
But note that this generates static files instead of post types, but it gives you a way to customize the layout.
If this kind of wp-cli solution is an option then you could e.g. look into modifying it to create/update posts instead
with help of get_page_by_path() and wp_insert_post() / wp_update_post(),
https://github.com/alessandrotesoro/wp-cli-helpscout-docs-parser/blob/master/class-helpscout-parser-cli.php
Cesar Contreras answers:
If you want to create a "cron job", try this...
https://www.elegantthemes.com/blog/tips-tricks/how-to-add-cron-jobs-to-wordpress