This is an experimental feature and likely to change in the future. We don't yet recommend deploying projects with connected services into production.
With the TakeShape Mesh, you can combine the APIs of other services and edit their data directly in TakeShape.
Connect a service
You can connect new services from the Schema page. To get there, go to your project's "Schema" tab. Then, use the "Connect Service" button at the top of the services list.
Choose the kind of service you'd like to connect. Currently, we support Shopify, generic GraphQL endpoints, and generic REST endpoints, with support for more services soon!
Provide the requested data, then hit save. In the case of Shopify, you'll be asked to connect your project via OAuth. In the case of generic services, you'll likely provide an authentication token.
Add service data to shapes
To use a connected service, you'll add it to a new or existing shape. When editing your shape, you'll find connected services at the top of the list of available fields. Drag it in to your shape and configure it, then save.
Working with service data
For supported services (currently: Shopify), you can view and edit data from your service using TakeShape.
Link an existing item
First, you'll need to provide an object ID to the service field you provided in the previous step. After you save, the entry will include data from the object you provided.
When you edit the data in your service, it will stay up to date in TakeShape. And if you change the data in TakeShape, your changes will be synced back to the service. This way, everything stays in sync!
Create a new item
It gets better: you can also create new service items directly from TakeShape, as well. After selecting "Create new item" from the service field, provide data for the new item and then save. The item will be created in your connected service, too!
Query for service data
Finally, the data from you connected service will be available from TakeShape's GraphQL API.
Not only can you access data on fields connected to your Shapes, but you can define new queries and mutations to interact with the connected service. (Note: defining new queries and mutations are currently only available as GraphQL operations—a visual interface is on its way!)
Generic GraphQL Services
When adding a generic GraphQL service, you'll just need to provide a few details so we can access the GraphQL endpoint. If the GraphQL service is authenticated, fill out the Access Token and Auth Header fields, otherwise you can leave them blank.
Afterwards, you'll get a prompt to add queries to your TakeShape schema from the remote service.
You'll be able to use these new queries from the TakeShape API: try it out in the API Explorer! If you want to learn how to further customize your schema, let us know!
Generic REST Services
We also support generic REST services. Contact us for more information about how to set up your schema to query a REST service.