Create online courses and membership sites with Thinkific and feel confident that you've got the easiest technology and the best support in the industry.
Emit an event for each new or modified record in a table
Emit an event for each new or modified record in a view
Emits an event each time a record is added, updated, or deleted in an Airtable table. Supports tables up to 10,000 records
Create one or more records in a table by passing an array of objects containing field names and values as key/value pairs.
Retrieve records from a table with automatic pagination. Optionally sort and filter results.
Retrieve records in a view with automatic pagination. Optionally sort and filter results.
The Thinkific API provides a comprehensive set of tools to help you create an
engaging online course. It can be used to create automated course creation,
course delivery, and course management systems. You can build a variety of
different applications and integrations with Thinkific’s API, ranging from
customer service to marketing to sales automation.
Here are a few examples of how you can benefit from the Thinkific API:
There are many more possibilities with the Thinkific API, giving you complete
control over how you build and manage your online course. With the Thinkific
API, you have full control to bring all your ideas to life.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
thinkific: {
type: "app",
app: "thinkific",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.thinkific.com/api/public/v1/courses`,
headers: {
"X-Auth-API-Key": `${this.thinkific.$auth.api_key}`,
"X-Auth-Subdomain": `${this.thinkific.$auth.subdomain}`,
"Content-Type": `application/json`,
},
})
},
})
Using the Airtable API, you can build applications that can:
module.exports = defineComponent({
props: {
airtable: {
type: "app",
app: "airtable",
},
baseId: {
type: "$.airtable.baseId",
appProp: "airtable",
},
tableId: {
type: "$.airtable.tableId",
baseIdProp: "baseId",
},
},
async run({steps, $}) {
const Airtable = require('airtable');
const base = new Airtable({apiKey: this.airtable.$auth.api_key}).base(this.baseId);
const data = []
await base(this.tableId).select({
// pass optional config parameters here
}).eachPage(function page(records, fetchNextPage) {
// This function (`page`) will get called for each page of records.
records.forEach(function(record) {
data.push(record._rawJson)
});
// To fetch the next page of records, call `fetchNextPage`.
// If there are more records, `page` will get called again.
// If there are no more records, `done` will get called.
fetchNextPage();
})
return data
},
})