From 60efa8b7f8cf2e96e6d512f6af10bcb39f9ec37c Mon Sep 17 00:00:00 2001 From: Renato Byrro Date: Mon, 10 Nov 2025 16:30:41 -0300 Subject: [PATCH 1/3] customer.io MCP servers (3x) --- .../customer-support/customerio-api/page.mdx | 4033 +++++++++++++++++ .../customerio-pipelines-api/page.mdx | 247 + .../customerio-track-api/page.mdx | 513 +++ ...eck_email_suppression_example_call_tool.js | 31 + ...eck_email_suppression_example_call_tool.py | 29 + ...create_manual_segment_example_call_tool.js | 32 + ...create_manual_segment_example_call_tool.py | 31 + ...create_new_collection_example_call_tool.js | 32 + ...create_new_collection_example_call_tool.py | 30 + .../create_webhook_example_call_tool.js | 32 + .../create_webhook_example_call_tool.py | 30 + .../delete_collection_example_call_tool.js | 31 + .../delete_collection_example_call_tool.py | 29 + ...delete_manual_segment_example_call_tool.js | 31 + ...delete_manual_segment_example_call_tool.py | 29 + .../delete_newsletter_example_call_tool.js | 31 + .../delete_newsletter_example_call_tool.py | 29 + ...ete_reporting_webhook_example_call_tool.js | 31 + ...ete_reporting_webhook_example_call_tool.py | 29 + ...ad_export_signed_link_example_call_tool.js | 31 + ...ad_export_signed_link_example_call_tool.py | 29 + .../export_customer_data_example_call_tool.js | 32 + .../export_customer_data_example_call_tool.py | 29 + .../export_delivery_data_example_call_tool.js | 32 + .../export_delivery_data_example_call_tool.py | 30 + ...ch_message_deliveries_example_call_tool.js | 36 + ...ch_message_deliveries_example_call_tool.py | 34 + ...r_people_in_workspace_example_call_tool.js | 34 + ...r_people_in_workspace_example_call_tool.py | 32 + ..._segment_dependencies_example_call_tool.js | 31 + ..._segment_dependencies_example_call_tool.py | 29 + ...essed_email_addresses_example_call_tool.js | 33 + ...essed_email_addresses_example_call_tool.py | 29 + ...ind_workspace_objects_example_call_tool.js | 34 + ...ind_workspace_objects_example_call_tool.py | 32 + .../get_all_segments_example_call_tool.js | 29 + .../get_all_segments_example_call_tool.py | 29 + .../get_allowlist_ips_example_call_tool.js | 29 + .../get_allowlist_ips_example_call_tool.py | 29 + .../get_archived_message_example_call_tool.js | 31 + .../get_archived_message_example_call_tool.py | 29 + ...broadcast_action_info_example_call_tool.js | 32 + ...broadcast_action_info_example_call_tool.py | 29 + ...t_action_link_metrics_example_call_tool.js | 35 + ...t_action_link_metrics_example_call_tool.py | 33 + ...adcast_action_metrics_example_call_tool.js | 35 + ...adcast_action_metrics_example_call_tool.py | 33 + ...get_broadcast_actions_example_call_tool.js | 31 + ...get_broadcast_actions_example_call_tool.py | 29 + .../get_broadcast_errors_example_call_tool.js | 33 + .../get_broadcast_errors_example_call_tool.py | 29 + ...roadcast_link_metrics_example_call_tool.js | 34 + ...roadcast_link_metrics_example_call_tool.py | 32 + ...roadcast_message_info_example_call_tool.js | 36 + ...roadcast_message_info_example_call_tool.py | 34 + ...et_broadcast_metadata_example_call_tool.js | 31 + ...et_broadcast_metadata_example_call_tool.py | 29 + ...get_broadcast_metrics_example_call_tool.js | 34 + ...get_broadcast_metrics_example_call_tool.py | 32 + .../get_broadcast_status_example_call_tool.js | 32 + .../get_broadcast_status_example_call_tool.py | 29 + ...cast_translation_info_example_call_tool.js | 33 + ...cast_translation_info_example_call_tool.py | 29 + ...et_broadcast_triggers_example_call_tool.js | 31 + ...et_broadcast_triggers_example_call_tool.py | 29 + ..._campaign_action_info_example_call_tool.js | 32 + ..._campaign_action_info_example_call_tool.py | 29 + ...n_action_link_metrics_example_call_tool.js | 34 + ...n_action_link_metrics_example_call_tool.py | 32 + ...mpaign_action_metrics_example_call_tool.js | 38 + ...mpaign_action_metrics_example_call_tool.py | 36 + ...paign_journey_metrics_example_call_tool.js | 34 + ...paign_journey_metrics_example_call_tool.py | 32 + ...campaign_link_metrics_example_call_tool.js | 34 + ...campaign_link_metrics_example_call_tool.py | 32 + .../get_campaign_list_example_call_tool.js | 29 + .../get_campaign_list_example_call_tool.py | 29 + ...get_campaign_messages_example_call_tool.js | 36 + ...get_campaign_messages_example_call_tool.py | 34 + ...get_campaign_metadata_example_call_tool.js | 31 + ...get_campaign_metadata_example_call_tool.py | 29 + .../get_campaign_metrics_example_call_tool.js | 36 + .../get_campaign_metrics_example_call_tool.py | 34 + ...t_customer_activities_example_call_tool.js | 33 + ...t_customer_activities_example_call_tool.py | 29 + .../get_customer_info_example_call_tool.js | 32 + .../get_customer_info_example_call_tool.py | 29 + ...er_profile_attributes_example_call_tool.js | 32 + ...er_profile_attributes_example_call_tool.py | 29 + ...get_customer_segments_example_call_tool.js | 32 + ...get_customer_segments_example_call_tool.py | 29 + ...delivery_message_info_example_call_tool.js | 31 + ...delivery_message_info_example_call_tool.py | 29 + .../get_export_info_example_call_tool.js | 31 + .../get_export_info_example_call_tool.py | 29 + .../get_import_status_example_call_tool.js | 31 + .../get_import_status_example_call_tool.py | 29 + ...wsletter_link_metrics_example_call_tool.js | 34 + ...wsletter_link_metrics_example_call_tool.py | 32 + ...tter_message_metadata_example_call_tool.js | 34 + ...tter_message_metadata_example_call_tool.py | 32 + ...et_newsletter_metrics_example_call_tool.js | 34 + ...et_newsletter_metrics_example_call_tool.py | 32 + ...ewsletter_test_groups_example_call_tool.js | 31 + ...ewsletter_test_groups_example_call_tool.py | 29 + ...variant_click_metrics_example_call_tool.js | 34 + ...variant_click_metrics_example_call_tool.py | 32 + ...wsletter_variant_info_example_call_tool.js | 32 + ...wsletter_variant_info_example_call_tool.py | 29 + ...etter_variant_metrics_example_call_tool.js | 35 + ...etter_variant_metrics_example_call_tool.py | 33 + ...r_variant_translation_example_call_tool.js | 32 + ...r_variant_translation_example_call_tool.py | 29 + ...t_newsletter_variants_example_call_tool.js | 31 + ...t_newsletter_variants_example_call_tool.py | 29 + .../get_newsletters_example_call_tool.js | 32 + .../get_newsletters_example_call_tool.py | 29 + ...get_object_attributes_example_call_tool.js | 33 + ...get_object_attributes_example_call_tool.py | 29 + .../get_object_types_example_call_tool.js | 29 + .../get_object_types_example_call_tool.py | 29 + .../get_people_by_email_example_call_tool.js | 31 + .../get_people_by_email_example_call_tool.py | 29 + ..._person_relationships_example_call_tool.js | 32 + ..._person_relationships_example_call_tool.py | 29 + .../get_related_people_example_call_tool.js | 33 + .../get_related_people_example_call_tool.py | 29 + ...egment_customer_count_example_call_tool.js | 31 + ...egment_customer_count_example_call_tool.py | 29 + .../get_segment_info_example_call_tool.js | 31 + .../get_segment_info_example_call_tool.py | 29 + .../get_segment_members_example_call_tool.js | 32 + .../get_segment_members_example_call_tool.py | 29 + .../get_sender_info_example_call_tool.js | 31 + .../get_sender_info_example_call_tool.py | 29 + .../get_sender_list_example_call_tool.js | 32 + .../get_sender_list_example_call_tool.py | 29 + .../get_sender_usage_example_call_tool.js | 31 + .../get_sender_usage_example_call_tool.py | 29 + ...scription_preferences_example_call_tool.js | 33 + ...scription_preferences_example_call_tool.py | 29 + ...t_subscription_topics_example_call_tool.js | 29 + ...t_subscription_topics_example_call_tool.py | 29 + ...actional_link_metrics_example_call_tool.js | 34 + ...actional_link_metrics_example_call_tool.py | 32 + ...al_message_deliveries_example_call_tool.js | 34 + ...al_message_deliveries_example_call_tool.py | 32 + ...transactional_message_example_call_tool.js | 31 + ...transactional_message_example_call_tool.py | 29 + ...ional_message_metrics_example_call_tool.js | 33 + ...ional_message_metrics_example_call_tool.py | 29 + ...onal_message_variants_example_call_tool.js | 31 + ...onal_message_variants_example_call_tool.py | 29 + ...transactional_variant_example_call_tool.js | 32 + ...transactional_variant_example_call_tool.py | 29 + .../get_webhook_info_example_call_tool.js | 31 + .../get_webhook_info_example_call_tool.py | 29 + .../list_broadcasts_example_call_tool.js | 29 + .../list_broadcasts_example_call_tool.py | 29 + ...list_campaign_actions_example_call_tool.js | 32 + ...list_campaign_actions_example_call_tool.py | 29 + .../list_collections_example_call_tool.js | 29 + .../list_collections_example_call_tool.py | 29 + .../list_exports_example_call_tool.js | 29 + .../list_exports_example_call_tool.py | 29 + ...ist_recent_activities_example_call_tool.js | 35 + ...ist_recent_activities_example_call_tool.py | 33 + ...st_reporting_webhooks_example_call_tool.js | 29 + ...st_reporting_webhooks_example_call_tool.py | 29 + ...st_snippets_workspace_example_call_tool.js | 29 + ...st_snippets_workspace_example_call_tool.py | 29 + ...ransactional_messages_example_call_tool.js | 29 + ...ransactional_messages_example_call_tool.py | 29 + .../list_workspaces_example_call_tool.js | 29 + .../list_workspaces_example_call_tool.py | 29 + ...ove_email_suppression_example_call_tool.js | 32 + ...ove_email_suppression_example_call_tool.py | 29 + ...remove_unused_snippet_example_call_tool.js | 31 + ...remove_unused_snippet_example_call_tool.py | 29 + ...e_collection_contents_example_call_tool.js | 33 + ...e_collection_contents_example_call_tool.py | 31 + ...e_collection_contents_example_call_tool.js | 31 + ...e_collection_contents_example_call_tool.py | 29 + ...ve_collection_details_example_call_tool.js | 31 + ...ve_collection_details_example_call_tool.py | 29 + ...eve_customer_messages_example_call_tool.js | 33 + ...eve_customer_messages_example_call_tool.py | 29 + ...tter_language_variant_example_call_tool.js | 33 + ...tter_language_variant_example_call_tool.py | 29 + ...e_newsletter_metadata_example_call_tool.js | 31 + ...e_newsletter_metadata_example_call_tool.py | 29 + ...d_transactional_email_example_call_tool.js | 32 + ...d_transactional_email_example_call_tool.py | 31 + ...nal_push_notification_example_call_tool.js | 32 + ...nal_push_notification_example_call_tool.py | 30 + ...end_transactional_sms_example_call_tool.js | 32 + ...end_transactional_sms_example_call_tool.py | 31 + ...suppress_email_at_esp_example_call_tool.js | 32 + ...suppress_email_at_esp_example_call_tool.py | 29 + ...late_campaign_message_example_call_tool.js | 33 + ...late_campaign_message_example_call_tool.py | 29 + ...ger_broadcast_message_example_call_tool.js | 33 + ...ger_broadcast_message_example_call_tool.py | 31 + ...date_broadcast_action_example_call_tool.js | 34 + ...date_broadcast_action_example_call_tool.py | 32 + ...dcast_action_language_example_call_tool.js | 35 + ...dcast_action_language_example_call_tool.py | 33 + ...pdate_campaign_action_example_call_tool.js | 34 + ...pdate_campaign_action_example_call_tool.py | 32 + ...gn_action_translation_example_call_tool.js | 35 + ...gn_action_translation_example_call_tool.py | 33 + ...pdate_collection_info_example_call_tool.js | 33 + ...pdate_collection_info_example_call_tool.py | 31 + ...e_customer_attributes_example_call_tool.js | 32 + ...e_customer_attributes_example_call_tool.py | 31 + ...update_event_metadata_example_call_tool.js | 32 + ...update_event_metadata_example_call_tool.py | 30 + ...te_newsletter_content_example_call_tool.js | 34 + ...te_newsletter_content_example_call_tool.py | 33 + ...tter_test_translation_example_call_tool.js | 35 + ...tter_test_translation_example_call_tool.py | 33 + ...r_variant_translation_example_call_tool.js | 34 + ...r_variant_translation_example_call_tool.py | 32 + ...ate_or_create_snippet_example_call_tool.js | 32 + ...ate_or_create_snippet_example_call_tool.py | 30 + ...ate_reporting_webhook_example_call_tool.js | 33 + ...ate_reporting_webhook_example_call_tool.py | 31 + ...e_transactional_email_example_call_tool.js | 34 + ...e_transactional_email_example_call_tool.py | 32 + ...ional_message_variant_example_call_tool.js | 34 + ...ional_message_variant_example_call_tool.py | 32 + ...oad_csv_to_customerio_example_call_tool.js | 32 + ...oad_csv_to_customerio_example_call_tool.py | 29 + .../add_to_group_example_call_tool.js | 33 + .../add_to_group_example_call_tool.py | 31 + .../alias_user_identity_example_call_tool.js | 33 + .../alias_user_identity_example_call_tool.py | 31 + ...son_and_assign_traits_example_call_tool.js | 33 + ...son_and_assign_traits_example_call_tool.py | 31 + .../send_batch_requests_example_call_tool.js | 33 + .../send_batch_requests_example_call_tool.py | 31 + .../send_page_view_event_example_call_tool.js | 33 + .../send_page_view_event_example_call_tool.py | 31 + ...end_screen_view_event_example_call_tool.js | 33 + ...end_screen_view_event_example_call_tool.py | 31 + .../track_user_event_example_call_tool.js | 33 + .../track_user_event_example_call_tool.py | 31 + ...e_to_customer_profile_example_call_tool.js | 33 + ...e_to_customer_profile_example_call_tool.py | 31 + ...add_people_to_segment_example_call_tool.js | 34 + ...add_people_to_segment_example_call_tool.py | 32 + ...atch_process_requests_example_call_tool.js | 32 + ...atch_process_requests_example_call_tool.py | 31 + .../delete_customer_example_call_tool.js | 31 + .../delete_customer_example_call_tool.py | 29 + .../get_track_api_region_example_call_tool.js | 29 + .../get_track_api_region_example_call_tool.py | 29 + ...obal_unsubscribe_user_example_call_tool.js | 32 + ...obal_unsubscribe_user_example_call_tool.py | 29 + .../manage_entity_example_call_tool.js | 32 + .../manage_entity_example_call_tool.py | 31 + ...rge_customer_profiles_example_call_tool.js | 32 + ...rge_customer_profiles_example_call_tool.py | 29 + ...emove_customer_device_example_call_tool.js | 32 + ...emove_customer_device_example_call_tool.py | 29 + ...ove_user_from_segment_example_call_tool.js | 34 + ...ove_user_from_segment_example_call_tool.py | 32 + ...report_custom_metrics_example_call_tool.js | 32 + ...report_custom_metrics_example_call_tool.py | 30 + .../send_customer_event_example_call_tool.js | 33 + .../send_customer_event_example_call_tool.py | 31 + .../submit_form_response_example_call_tool.js | 33 + .../submit_form_response_example_call_tool.py | 32 + ...ress_customer_profile_example_call_tool.js | 31 + ...ress_customer_profile_example_call_tool.py | 29 + ...track_anonymous_event_example_call_tool.js | 32 + ...track_anonymous_event_example_call_tool.py | 29 + ...ress_customer_profile_example_call_tool.js | 31 + ...ress_customer_profile_example_call_tool.py | 29 + .../update_or_add_person_example_call_tool.js | 33 + .../update_or_add_person_example_call_tool.py | 31 + 281 files changed, 13481 insertions(+) create mode 100644 app/en/mcp-servers/customer-support/customerio-api/page.mdx create mode 100644 app/en/mcp-servers/customer-support/customerio-pipelines-api/page.mdx create mode 100644 app/en/mcp-servers/customer-support/customerio-track-api/page.mdx create mode 100644 public/examples/integrations/mcp-servers/customerio_api/check_email_suppression_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/check_email_suppression_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/create_manual_segment_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/create_manual_segment_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/create_new_collection_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/create_new_collection_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/create_webhook_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/create_webhook_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/delete_collection_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/delete_collection_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/delete_manual_segment_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/delete_manual_segment_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/delete_newsletter_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/delete_newsletter_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/delete_reporting_webhook_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/delete_reporting_webhook_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/download_export_signed_link_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/download_export_signed_link_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/export_customer_data_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/export_customer_data_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/export_delivery_data_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/export_delivery_data_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/fetch_message_deliveries_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/fetch_message_deliveries_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/filter_people_in_workspace_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/filter_people_in_workspace_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/find_segment_dependencies_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/find_segment_dependencies_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/find_suppressed_email_addresses_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/find_suppressed_email_addresses_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/find_workspace_objects_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/find_workspace_objects_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_all_segments_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_all_segments_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_allowlist_ips_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_allowlist_ips_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_archived_message_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_archived_message_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_broadcast_action_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_broadcast_action_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_broadcast_action_link_metrics_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_broadcast_action_link_metrics_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_broadcast_action_metrics_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_broadcast_action_metrics_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_broadcast_actions_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_broadcast_actions_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_broadcast_errors_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_broadcast_errors_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_broadcast_link_metrics_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_broadcast_link_metrics_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_broadcast_message_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_broadcast_message_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_broadcast_metadata_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_broadcast_metadata_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_broadcast_metrics_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_broadcast_metrics_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_broadcast_status_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_broadcast_status_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_broadcast_translation_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_broadcast_translation_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_broadcast_triggers_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_broadcast_triggers_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_campaign_action_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_campaign_action_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_campaign_action_link_metrics_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_campaign_action_link_metrics_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_campaign_action_metrics_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_campaign_action_metrics_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_campaign_journey_metrics_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_campaign_journey_metrics_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_campaign_link_metrics_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_campaign_link_metrics_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_campaign_list_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_campaign_list_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_campaign_messages_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_campaign_messages_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_campaign_metadata_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_campaign_metadata_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_campaign_metrics_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_campaign_metrics_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_customer_activities_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_customer_activities_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_customer_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_customer_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_customer_profile_attributes_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_customer_profile_attributes_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_customer_segments_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_customer_segments_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_delivery_message_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_delivery_message_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_export_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_export_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_import_status_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_import_status_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_newsletter_link_metrics_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_newsletter_link_metrics_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_newsletter_message_metadata_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_newsletter_message_metadata_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_newsletter_metrics_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_newsletter_metrics_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_newsletter_test_groups_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_newsletter_test_groups_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_click_metrics_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_click_metrics_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_metrics_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_metrics_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_translation_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_translation_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variants_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variants_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_newsletters_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_newsletters_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_object_attributes_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_object_attributes_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_object_types_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_object_types_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_people_by_email_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_people_by_email_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_person_relationships_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_person_relationships_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_related_people_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_related_people_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_segment_customer_count_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_segment_customer_count_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_segment_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_segment_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_segment_members_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_segment_members_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_sender_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_sender_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_sender_list_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_sender_list_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_sender_usage_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_sender_usage_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_subscription_preferences_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_subscription_preferences_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_subscription_topics_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_subscription_topics_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_transactional_link_metrics_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_transactional_link_metrics_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_deliveries_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_deliveries_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_metrics_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_metrics_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_variants_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_variants_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_transactional_variant_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_transactional_variant_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_webhook_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/get_webhook_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/list_broadcasts_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/list_broadcasts_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/list_campaign_actions_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/list_campaign_actions_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/list_collections_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/list_collections_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/list_exports_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/list_exports_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/list_recent_activities_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/list_recent_activities_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/list_reporting_webhooks_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/list_reporting_webhooks_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/list_snippets_workspace_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/list_snippets_workspace_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/list_transactional_messages_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/list_transactional_messages_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/list_workspaces_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/list_workspaces_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/remove_email_suppression_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/remove_email_suppression_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/remove_unused_snippet_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/remove_unused_snippet_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/replace_collection_contents_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/replace_collection_contents_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/retrieve_collection_contents_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/retrieve_collection_contents_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/retrieve_collection_details_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/retrieve_collection_details_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/retrieve_customer_messages_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/retrieve_customer_messages_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/retrieve_newsletter_language_variant_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/retrieve_newsletter_language_variant_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/retrieve_newsletter_metadata_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/retrieve_newsletter_metadata_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/send_transactional_email_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/send_transactional_email_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/send_transactional_push_notification_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/send_transactional_push_notification_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/send_transactional_sms_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/send_transactional_sms_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/suppress_email_at_esp_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/suppress_email_at_esp_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/translate_campaign_message_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/translate_campaign_message_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/trigger_broadcast_message_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/trigger_broadcast_message_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_broadcast_action_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_broadcast_action_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_broadcast_action_language_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_broadcast_action_language_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_campaign_action_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_campaign_action_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_campaign_action_translation_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_campaign_action_translation_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_collection_info_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_collection_info_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_customer_attributes_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_customer_attributes_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_event_metadata_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_event_metadata_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_newsletter_content_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_newsletter_content_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_newsletter_test_translation_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_newsletter_test_translation_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_newsletter_variant_translation_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_newsletter_variant_translation_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_or_create_snippet_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_or_create_snippet_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_reporting_webhook_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_reporting_webhook_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_transactional_email_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_transactional_email_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_transactional_message_variant_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/update_transactional_message_variant_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_api/upload_csv_to_customerio_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_api/upload_csv_to_customerio_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_pipelines_api/add_to_group_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_pipelines_api/add_to_group_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_pipelines_api/alias_user_identity_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_pipelines_api/alias_user_identity_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_pipelines_api/identify_person_and_assign_traits_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_pipelines_api/identify_person_and_assign_traits_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_pipelines_api/send_batch_requests_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_pipelines_api/send_batch_requests_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_pipelines_api/send_page_view_event_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_pipelines_api/send_page_view_event_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_pipelines_api/send_screen_view_event_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_pipelines_api/send_screen_view_event_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_pipelines_api/track_user_event_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_pipelines_api/track_user_event_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/add_device_to_customer_profile_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/add_device_to_customer_profile_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/add_people_to_segment_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/add_people_to_segment_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/batch_process_requests_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/batch_process_requests_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/delete_customer_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/delete_customer_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/get_track_api_region_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/get_track_api_region_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/global_unsubscribe_user_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/global_unsubscribe_user_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/manage_entity_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/manage_entity_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/merge_customer_profiles_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/merge_customer_profiles_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/remove_customer_device_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/remove_customer_device_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/remove_user_from_segment_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/remove_user_from_segment_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/report_custom_metrics_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/report_custom_metrics_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/send_customer_event_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/send_customer_event_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/submit_form_response_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/submit_form_response_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/suppress_customer_profile_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/suppress_customer_profile_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/track_anonymous_event_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/track_anonymous_event_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/unsuppress_customer_profile_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/unsuppress_customer_profile_example_call_tool.py create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/update_or_add_person_example_call_tool.js create mode 100644 public/examples/integrations/mcp-servers/customerio_track_api/update_or_add_person_example_call_tool.py diff --git a/app/en/mcp-servers/customer-support/customerio-api/page.mdx b/app/en/mcp-servers/customer-support/customerio-api/page.mdx new file mode 100644 index 000000000..12113bf4f --- /dev/null +++ b/app/en/mcp-servers/customer-support/customerio-api/page.mdx @@ -0,0 +1,4033 @@ +# CustomerioApi + +import StarterToolInfo from "@/app/_components/starter-tool-info"; +import ToolInfo from "@/app/_components/tool-info"; +import Badges from "@/app/_components/badges"; +import TabbedCodeBlock from "@/app/_components/tabbed-code-block"; +import TableOfContents from "@/app/_components/table-of-contents"; +import ToolFooter from "@/app/_components/tool-footer"; +import { Callout } from "nextra/components"; + + + + + + + +The CustomerioApi MCP Server offers a comprehensive suite of tools for managing customer communications and marketing campaigns through the Customer.io platform. + +## Available Tools + + + + + If you need to perform an action that's not listed here, you can [get in touch + with us](mailto:contact@arcade.dev) to request a new tool, or [create your own + tools](/home/build-tools/create-a-mcp-server). + + +## CustomerioApi.TriggerBroadcastMessage + +
+ + +Trigger a broadcast to a specific audience using Customerio. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **broadcast_id** (`integer`, optional) The unique ID of the broadcast campaign you want to trigger in Customerio. This ID is required to specify which broadcast to activate. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetBroadcastErrors + +
+ + +Retrieve details of broadcast validation errors. + +**Parameters** + +- **broadcast_id** (`integer`, required) The ID of the broadcast to retrieve error information for. Use this to specify which broadcast's errors you want to investigate. +- **campaign_trigger_id** (`integer`, required) The ID of the campaign trigger to return information for. Use this to focus on specific trigger details. +- **page_start_token** (`string`, optional) Token to specify which page of results to return. Use the `next` value from responses to navigate pages. +- **results_per_page** (`integer`, optional) The maximum number of results to retrieve per page. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.SendTransactionalEmail + +
+ + +Send a customizable transactional email. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.SendTransactionalPushNotification + +
+ + +Send a customized transactional push notification. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.SendTransactionalSms + +
+ + +Send a transactional SMS message using a template. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetCampaignList + +
+ + +Retrieve a list of marketing campaigns. + +**Parameters** + +This tool does not take any parameters. +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetCampaignMetadata + +
+ + +Retrieve metadata for a specific campaign. + +**Parameters** + +- **campaign_id** (`integer`, required) The ID of the campaign for which metadata is requested. Provide a valid integer. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetCampaignMetrics + +
+ + +Fetch metrics for an individual campaign. + +**Parameters** + +- **campaign_id** (`integer`, required) The unique ID of the campaign to retrieve metrics for. +- **metrics_api_version** (`string`, required) Specify the version of the metrics API to use. Recommended value is '2'. +- **end_time_unix** (`integer`, optional) Unix timestamp marking the end of the metrics period. Use only with version 2. Limited to 10 years from the start parameter. +- **metrics_item_type** (`string`, optional) Specify the type of item for metrics: email, webhook, twilio, slack, push, in_app. Leave empty for all types. +- **metrics_start_timestamp** (`integer`, optional) Unix timestamp marking the start of the metrics period for version 2. +- **number_of_steps** (`integer`, optional) (Version 1 only) The number of periods to return, with defaults and maximum limits based on the period unit (e.g., hours, days). +- **resolution** (`string`, optional) Determines increment for metrics—hourly, daily, weekly, or monthly. Only for Version 2. +- **timezone_for_metrics** (`string`, optional) For version 2 only. Specify the time zone for the metrics requested. Defaults to EST if not provided. Use the region format. +- **version_1_time_unit** (`string`, optional) For Version 1 only, specify the time unit for the report. Options include hours, days, weeks, or months. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetCampaignLinkMetrics + +
+ + +Get link click metrics for a campaign over specified periods. + +**Parameters** + +- **campaign_identifier** (`integer`, required) The unique identifier for the campaign you want metrics for. Use this ID to specify the target campaign. +- **count_unique_customers** (`boolean`, optional) Set to true to only include unique customer results. Set to false to count all clicks. +- **number_of_periods** (`integer`, optional) The number of periods to return metrics for. Defaults to the maximum available, or 12 if the period is in months. Maximums are 24 hours, 45 days, 12 weeks, or 121 months. +- **report_time_unit** (`string`, optional) The unit of time for the report. Options are: 'hours', 'days', 'weeks', 'months'. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.ListCampaignActions + +
+ + +Retrieve operations in a campaign workflow. + +**Parameters** + +- **campaign_id** (`integer`, required) The ID of the campaign to retrieve workflow information for. Must be an integer. +- **page_token** (`string`, optional) Token for the results page to return. Use 'next' from the response as this value for subsequent pages. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetCampaignMessages + +
+ + +Retrieve message deliveries from a campaign. + +**Parameters** + +- **campaign_id** (`integer`, required) The ID of the campaign to fetch message deliveries from. +- **beginning_timestamp** (`integer`, optional) The starting timestamp for the query to filter messages from a specific time. +- **end_timestamp** (`integer`, optional) The ending timestamp for your query to specify the end of the time range for retrieving message deliveries. +- **message_type** (`string`, optional) Specify the type of item for metrics (e.g., email, webhook, slack, etc.). Defaults to all types if empty. +- **metrics_to_return** (`string`, optional) Specify the metrics you want to retrieve, such as 'sent', 'opened', or 'clicked'. +- **pagination_token** (`string`, optional) Token indicating the starting point for the page of results to return. Use the `next` property from previous responses. +- **results_per_page** (`integer`, optional) Specify the maximum number of results to retrieve per page. It determines the number of message deliveries returned in a single API response. +- **return_drafts** (`boolean`, optional) Set to true to return drafts rather than active/sent messages. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetCampaignActionInfo + +
+ + +Retrieve details for a specific action in a campaign. + +**Parameters** + +- **action_id** (`integer`, required) The identifier for the campaign action you want to look up or act on. Provide the integer ID of the action. +- **campaign_identifier** (`integer`, required) The unique ID of the campaign for retrieving specific action information. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.UpdateCampaignAction + +
+ + +Update campaign action details and content. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **campaign_id** (`integer`, optional) The numeric ID of the specific campaign to update or retrieve information about. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **action_id** (`integer`, optional) The identifier for the specific action within a campaign to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.TranslateCampaignMessage + +
+ + +Fetches a translated message for a specific campaign action. + +**Parameters** + +- **campaign_action_id** (`integer`, required) The ID of the action to look up or act on within the campaign. +- **campaign_id** (`integer`, required) The numeric ID of the campaign to get information about or trigger. +- **target_language** (`string`, required) A language tag for the language variant to translate to. Defaults to the default language if empty. Returns an error if the variant doesn't exist. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.UpdateCampaignActionTranslation + +
+ + +Update a language variant of a campaign action. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **campaign_id** (`integer`, optional) The ID of the campaign to update or retrieve information about. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **action_id** (`integer`, optional) The ID of the action to look up or act on for the campaign. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **language_tag** (`string`, optional) The language tag for the campaign action variant. Use an empty string for the default language. If the variant doesn't exist, an error is returned. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetCampaignActionMetrics + +
+ + +Retrieve metrics for a specific campaign action. + +**Parameters** + +- **action_identifier** (`integer`, required) The ID of the specific action to retrieve metrics for within a campaign. +- **campaign_id** (`integer`, required) The integer ID of the campaign to retrieve metrics for. +- **metrics_api_version** (`string`, required) Specify the version of the metrics API to use. Recommended to use version '2'. +- **item_type_for_metrics** (`string`, optional) Specify the type of item to return metrics for, such as 'email', 'webhook', 'twilio', etc. Leaving it empty returns metrics for all types. +- **metrics_end_timestamp** (`integer`, optional) The Unix timestamp marking the end of the metrics period. Applicable only for Version 2 and limited to 10 years from the start timestamp. +- **metrics_resolution** (`string`, optional) Specifies the increment for metrics in version 2. Options are hourly, daily, weekly, or monthly. +- **metrics_start_timestamp** (`integer`, optional) Unix timestamp for the start of metrics (Version 2 only). +- **number_of_steps** (`integer`, optional) For Version 1 only. Specifies the number of time periods to return. Defaults to the maximum, or `12` if in months. Maximums are 24 hours, 45 days, 12 weeks, or 120 months. +- **timezone** (`string`, optional) The time zone in region format for the metrics. Default is EST if not specified. +- **version_1_time_unit** (`string`, optional) Specifies the time unit for the report in Version 1 (e.g., hours, days, weeks, months). + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetCampaignActionLinkMetrics + +
+ + +Retrieve link click metrics for a specific campaign action. + +**Parameters** + +- **action_identifier** (`integer`, required) The identifier of the action to lookup or perform an operation on in the campaign. It is expected to be an integer. +- **campaign_id** (`integer`, required) The unique ID of the campaign to retrieve metrics for. Ensure this is a valid integer. +- **metric_item_type** (`string`, optional) Specify the type of item to return metrics for. Acceptable values are 'email', 'webhook', 'twilio', 'slack', 'push', 'in_app'. Leave empty for metrics of all types. +- **number_of_periods_to_return** (`integer`, optional) Number of periods to return metrics for. Defaults to max available or 12 if in months. Max: 24 hours, 45 days, 12 weeks, 121 months. +- **report_time_unit** (`string`, optional) The unit of time for the report. Options: hours, days, weeks, or months. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetCampaignJourneyMetrics + +
+ + +Retrieve journey metrics for a specific campaign. + +**Parameters** + +- **campaign_id** (`integer`, required) The ID of the campaign to return journey metrics for. +- **end_timestamp** (`integer`, required) The Unix timestamp marking the end of the journey metrics report period. +- **metrics_resolution** (`string`, required) Determines the increment for metrics reporting: hourly, daily, weekly, or monthly. +- **start_timestamp** (`integer`, required) The UNIX timestamp marking the start of the journey metrics report period. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.ListRecentActivities + +
+ + +Retrieve recent activity logs from the past 30 days. + +**Parameters** + +- **activity_type** (`string`, optional) Specifies the type of activity to search for. Use specific activity types or patterns like `_o:` for objects and `_r:` for relationships. +- **customer_id_type** (`string`, optional) Specify the type of `customer_id` to reference a person. Options are `id`, `email`, or `cio_id`. Default is `id`. +- **event_or_attribute_name** (`string`, optional) The name of the event or attribute to return in the activity logs. +- **include_deleted_people** (`boolean`, optional) If true, return results for deleted people in the list of activities. +- **pagination_token** (`string`, optional) Token to specify the page of results to return. Use the `next` property from the previous response. +- **person_identifier** (`string`, optional) The identifier for the person to look up, which can be their `id`, `email`, or `cio_id`. Prefix with `cio_` for `cio_id`. +- **results_per_page_limit** (`integer`, optional) Specify the maximum number of activity results to retrieve per page. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.ListBroadcasts + +
+ + +Retrieve a list of API-triggered broadcasts with metadata. + +**Parameters** + +This tool does not take any parameters. +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetBroadcastMetadata + +
+ + +Retrieve metadata for a specific broadcast. + +**Parameters** + +- **broadcast_identifier** (`integer`, required) The unique identifier for a specific broadcast. Use this to retrieve the corresponding metadata. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetBroadcastStatus + +
+ + +Retrieve the status of a broadcast using its trigger ID. + +**Parameters** + +- **broadcast_identifier** (`integer`, required) The unique ID of the broadcast to retrieve information about. This should be an integer. +- **campaign_trigger_id** (`integer`, required) The ID of the specific campaign trigger whose status you want to retrieve. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetBroadcastMetrics + +
+ + +Retrieve metrics for a specific broadcast over defined time steps. + +**Parameters** + +- **broadcast_identifier** (`integer`, required) The unique integer identifier for a specific broadcast. +- **metric_type** (`string`, optional) Specify the type of item to return metrics for. Options include 'email', 'webhook', 'twilio', 'slack', 'push', and 'in_app'. Leave empty to get metrics for all types. +- **number_of_time_periods** (`integer`, optional) The number of time periods to return metrics for. Follow the specific period limits: 24 for hours, 45 for days, 12 for weeks, or 121 for months. Defaults if not specified: to maximum available or 12 for monthly periods. Days start at 00:00 EST, weeks at 00:00 EST on Sunday, and months at 00:00 EST on the 1st. +- **time_period_unit** (`string`, optional) Specifies the unit of time for the report, such as hours, days, weeks, or months. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetBroadcastLinkMetrics + +
+ + +Retrieve metrics for link clicks in a broadcast. + +**Parameters** + +- **broadcast_identifier** (`integer`, required) The numeric identifier of the broadcast for which link metrics are needed. +- **period_steps** (`integer`, optional) Specify the number of time periods to return. Defaults to the maximum or 12 if the period is 'months'. Max: 24 hours, 45 days, 12 weeks, or 121 months. +- **report_period** (`string`, optional) Defines the unit of time for the report. Options are 'hours', 'days', 'weeks', or 'months'. +- **return_unique_customer_results** (`boolean`, optional) Set to true to return only unique customer results, ensuring each customer is counted once regardless of clicks. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetBroadcastActions + +
+ + +Retrieve actions from a specific broadcast. + +**Parameters** + +- **broadcast_identifier** (`integer`, required) The unique identifier of the broadcast to retrieve its actions. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetBroadcastMessageInfo + +
+ + +Retrieve details about broadcast message deliveries. + +**Parameters** + +- **broadcast_identifier** (`integer`, required) The ID used to identify the specific broadcast to retrieve information about. +- **beginning_timestamp** (`integer`, optional) The start timestamp for the query, defining the beginning of the time range for message retrieval. +- **broadcast_state** (`string`, optional) Specifies the state of a broadcast message. Options are: 'failed', 'sent', 'drafted', or 'attempted'. +- **ending_timestamp** (`integer`, optional) The endpoint of the time range for the query. It must be an integer representing a timestamp. +- **item_type** (`string`, optional) Specify the type of item to return metrics for (e.g., email, webhook). Leave empty for all types. +- **maximum_results_per_page** (`integer`, optional) Specify the maximum number of message deliveries to retrieve per page. Adjust to control the pagination size for results. +- **metric_type** (`string`, optional) Select the metric(s) to be returned. Options include: 'attempted', 'sent', 'delivered', 'opened', 'clicked', 'converted', 'bounced', 'spammed', 'unsubscribed', 'dropped', 'failed', 'undeliverable'. +- **pagination_start_token** (`string`, optional) Token for the page of results to return. Use the 'next' property from responses for this value to get the next page. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetBroadcastActionInfo + +
+ + +Retrieve details of a specific broadcast action. + +**Parameters** + +- **action_id** (`integer`, required) The ID of the action to look up or act on within a broadcast. +- **broadcast_identifier** (`integer`, required) The numeric identifier of the broadcast to retrieve action details from. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.UpdateBroadcastAction + +
+ + +Update the contents of a broadcast action. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **broadcast_id** (`integer`, optional) The identifier of a broadcast to update its contents. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **lookup_action_id** (`integer`, optional) The unique identifier for the action to update or modify in the broadcast. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetBroadcastTranslationInfo + +
+ + +Retrieve translation info for a broadcast message. + +**Parameters** + +- **action_id** (`integer`, required) The identifier for the action you want to lookup or act on. Used to retrieve specific translation details. +- **broadcast_identifier** (`integer`, required) The unique identifier for a broadcast. Integer type is expected. +- **language_tag** (`string`, required) The language tag for the translation. Use an empty string for the default language. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.UpdateBroadcastActionLanguage + +
+ + +Update the translation for a broadcast action. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **broadcast_identifier** (`integer`, optional) The unique identifier for the broadcast you want to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **action_id** (`integer`, optional) The ID of the broadcast action you wish to update or query. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **broadcast_action_language** (`string`, optional) Specify the language tag for the broadcast translation. Defaults to the default language if an empty string is provided. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetBroadcastActionMetrics + +
+ + +Retrieve metrics for a broadcast action over time steps. + +**Parameters** + +- **broadcast_identifier** (`integer`, required) The ID of the broadcast you wish to retrieve metrics for. +- **lookup_action_id** (`integer`, required) The ID of the action you want to look up or act on. Provide an integer value. +- **metrics_item_type** (`string`, optional) Specifies the type of item (e.g., email, webhook) to return metrics for. If not provided, metrics for all types are returned. +- **period_steps** (`integer`, optional) Specify the number of time periods to return metrics for. Defaults to the maximum allowed (24 hours, 45 days, 12 weeks, or 121 months) or `12` if the period is in months. +- **time_unit_for_report** (`string`, optional) The unit of time for the report, such as hours, days, weeks, or months. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetBroadcastActionLinkMetrics + +
+ + +Retrieve link click metrics for a specific broadcast action. + +**Parameters** + +- **broadcast_action_id** (`integer`, required) The ID of the action you want to look up or act on. +- **broadcast_identifier** (`integer`, required) The unique identifier for the broadcast to retrieve metrics for. It should be an integer value. +- **item_type** (`string`, optional) Specifies the type of item to return metrics for; options include email, webhook, twilio, slack, push, and in_app. Leave empty for all types. +- **number_of_periods_to_return** (`integer`, optional) The number of time periods to return metrics for. Defaults to the maximum, or 12 if in months. Max: 24 hours, 45 days, 12 weeks, 121 months. +- **time_period_unit** (`string`, optional) The unit of time for the report. Acceptable values are 'hours', 'days', 'weeks', or 'months'. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetBroadcastTriggers + +
+ + +Retrieve triggers for a specific broadcast. + +**Parameters** + +- **broadcast_identifier** (`integer`, required) The identifier of a broadcast to retrieve its triggers. Must be an integer. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.UpdateCustomerAttributes + +
+ + +Add or update customer attribute metadata in your workspace. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.UpdateEventMetadata + +
+ + +Update or add new events in the workspace. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.CheckEmailSuppression + +
+ + +Retrieve suppression status and reason for an email. + +**Parameters** + +- **email_to_check_suppression** (`string`, required) The email address to check for suppression status and reasons. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.FindSuppressedEmailAddresses + +
+ + +Retrieve email addresses suppressed for specific reasons. + +**Parameters** + +- **suppression_reason** (`string`, required) Specify the reason for email address suppression, such as bounces or spam reports. +- **max_results_per_page** (`integer`, optional) The maximum number of suppression records to retrieve per page, up to 1000. +- **skip_records** (`integer`, optional) The number of records to skip before retrieving results. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.RemoveEmailSuppression + +
+ + +Remove an email address from the suppression list. + +**Parameters** + +- **email_address_to_remove** (`string`, required) The email address to remove from the suppression list, allowing future communications. +- **suppression_reason** (`string`, required) The reason the email address was suppressed (e.g., 'bounces', 'spam_reports'). + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.SuppressEmailAtEsp + +
+ + +Suppress an email address at the email service provider. + +**Parameters** + +- **email_address_to_suppress** (`string`, required) The email address of the person you want to suppress at the ESP. +- **suppression_reason** (`string`, required) Specify the reason for suppressing the email address, such as 'bounces' or 'spam_reports'. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.ListExports + +
+ + +Retrieve a list of exports for people or campaign metrics. + +**Parameters** + +This tool does not take any parameters. +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetExportInfo + +
+ + +Returns information about a specific export from Customerio. + +**Parameters** + +- **export_id_to_access** (`integer`, required) The unique ID of the export you want to access in Customerio. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.DownloadExportSignedLink + +
+ + +Retrieve a temporary signed link to download an export. + +**Parameters** + +- **export_identifier** (`integer`, required) The unique ID of the export you want to access and download. Must be an integer. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.ExportCustomerData + +
+ + +Export customer data based on specified filters. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.ExportDeliveryData + +
+ + +Initiates export of delivery data for newsletters and campaigns. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.UploadCsvToCustomerio + +
+ + +Upload a CSV file to Customerio for bulk data processing. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetImportStatus + +
+ + +Retrieve the status of an import operation. + +**Parameters** + +- **import_id** (`integer`, required) The ID of the import to lookup from a previously queued import operation. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetAllowlistIps + +
+ + +Retrieve IP addresses to allowlist for secure access. + +**Parameters** + +This tool does not take any parameters. +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.FetchMessageDeliveries + +
+ + +Retrieve a list of message deliveries and their metrics. + +**Parameters** + +- **beginning_timestamp** (`integer`, optional) The beginning timestamp in Unix format for your query. Returns deliveries created after this time. +- **desired_metrics** (`string`, optional) Specifies the metrics to retrieve. Options include: attempted, sent, delivered, opened, clicked, converted, bounced, spammed, unsubscribed, dropped, failed, undeliverable. +- **ending_timestamp_for_query** (`integer`, optional) The ending timestamp for your query. If not specified, it defaults to the current time. +- **filter_by_action_id** (`integer`, optional) Specify the action ID to filter the message deliveries. This narrows the results to messages associated with the given action. +- **filter_by_campaign_id** (`integer`, optional) The ID of the campaign to filter message deliveries. Use this to retrieve data for a specific campaign only. +- **filter_by_newsletter_id** (`integer`, optional) An integer representing the ID of the newsletter to filter deliveries for. +- **item_type_for_metrics** (`string`, optional) Specify the item type to return metrics for, such as 'email', 'webhook', 'twilio', 'slack', 'push', or 'in_app'. Leave empty for all types. +- **page_token** (`string`, optional) The token to fetch the specified page of delivery results. +- **results_per_page_limit** (`integer`, optional) Specifies the maximum number of results to retrieve per page. +- **return_drafts_only** (`boolean`, optional) Set to true to return drafts instead of active or sent messages. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetDeliveryMessageInfo + +
+ + +Retrieve metrics and details for a specific message delivery. + +**Parameters** + +- **message_identifier** (`string`, required) The unique identifier for a specific message instance to retrieve its information and metrics. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetArchivedMessage + +
+ + +Retrieve an archived copy of a message delivery. + +**Parameters** + +- **message_id** (`string`, required) The unique identifier for the message to be retrieved. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetNewsletters + +
+ + +Retrieve a list of newsletters and their metadata. + +**Parameters** + +- **max_results_per_page** (`integer`, optional) The maximum number of newsletters to retrieve per page, up to 100. +- **sort_order** (`string`, optional) Specify the order to sort results: `asc` for chronological, `desc` for reverse. +- **start_token** (`string`, optional) Token to retrieve a specific page of newsletter results. Use the `next` property from previous responses as this token. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.RetrieveNewsletterMetadata + +
+ + +Retrieve metadata for an individual newsletter. + +**Parameters** + +- **newsletter_identifier** (`integer`, required) The unique identifier for the newsletter to retrieve metadata. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.DeleteNewsletter + +
+ + +Delete an individual newsletter and its associated data. + +**Parameters** + +- **newsletter_identifier** (`integer`, required) The unique identifier of the newsletter you want to delete. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetNewsletterMetrics + +
+ + +Retrieve metrics for a specific newsletter over time. + +**Parameters** + +- **newsletter_identifier** (`integer`, required) The identifier for the specific newsletter to retrieve metrics for. Expected to be an integer. +- **item_type_for_metrics** (`string`, optional) Specify the type of item to return metrics for, such as 'email', 'webhook', 'twilio', etc. If not provided, metrics for all types are returned. +- **number_of_time_periods** (`integer`, optional) The number of time periods to return metrics for. Minimum is 2. Defaults to max: 24 hours, 45 days, 12 weeks, 121 months. Use this to specify the time span for newsletter metrics. +- **time_period_unit** (`string`, optional) The unit of time to report metrics (options: hours, days, weeks, months). + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetNewsletterLinkMetrics + +
+ + +Retrieve metrics for link clicks in a newsletter. + +**Parameters** + +- **newsletter_identifier** (`integer`, required) The identifier of the newsletter to retrieve metrics for. Must be an integer. +- **include_unique_customers** (`boolean`, optional) If true, response includes only unique customer results (each customer counted once); if false, includes total click results. +- **number_of_periods** (`integer`, optional) The number of periods to return metrics for. Defaults to maximum available, or 12 if in months. Maximums: 24 hours, 45 days, 12 weeks, or 121 months. +- **time_unit_for_report** (`string`, optional) The unit of time for your report. Options are 'hours', 'days', 'weeks', or 'months'. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetNewsletterVariants + +
+ + +Fetch content variants for a specified newsletter. + +**Parameters** + +- **newsletter_identifier** (`integer`, required) The unique integer identifier of a newsletter to fetch its content variants. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetNewsletterMessageMetadata + +
+ + +Retrieve delivery info for messages sent from a newsletter. + +**Parameters** + +- **newsletter_identifier** (`integer`, required) The unique identifier of the newsletter to retrieve delivery information for. +- **begin_query_timestamp** (`integer`, optional) The Unix timestamp marking the start of the time range for your query. Without this, data defaults to the earliest available from 6 months prior. +- **ending_timestamp_for_query** (`integer`, optional) The ending timestamp for your query in Unix format. It specifies the end of the time range for retrieving message delivery data. +- **metrics_to_return** (`string`, optional) Specify one or more metrics to return, such as 'attempted', 'sent', 'delivered', etc. +- **pagination_start_token** (`string`, optional) The token to specify the start of the result page to return. Use the `next` value from previous responses for pagination. +- **results_per_page_limit** (`integer`, optional) The maximum number of message delivery results to retrieve per page. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetNewsletterVariantInfo + +
+ + +Retrieve variant details of a specific newsletter. + +**Parameters** + +- **message_identifier_in_newsletter** (`integer`, required) Identifier for a message within a newsletter, used for A/B tests or multi-language editions. +- **newsletter_identifier** (`integer`, required) The unique identifier for a newsletter. Required to retrieve specific variant information. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.UpdateNewsletterContent + +
+ + +Update a newsletter variant's content. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **newsletter_identifier** (`integer`, optional) The identifier of the newsletter you want to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **message_content_id** (`integer`, optional) The identifier for a message within a newsletter, used in A/B tests or multiple language variants. Retrieve IDs via getNewsletters. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetNewsletterVariantTranslation + +
+ + +Get information on a newsletter's language variant. + +**Parameters** + +- **language_tag** (`string`, required) The language tag of a newsletter variant. Leave empty for default language. +- **newsletter_identifier** (`integer`, required) The unique identifier of a newsletter to retrieve its specific language variant. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.UpdateNewsletterVariantTranslation + +
+ + +Update a newsletter variant's translation. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **newsletter_identifier** (`integer`, optional) The unique identifier for a newsletter that you want to update the translation for. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **language_tag** (`string`, optional) A language tag for the newsletter variant. If omitted, defaults to the company's default language. An error is returned if the language variant doesn't exist. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetNewsletterTestGroups + +
+ + +Retrieve test group details for a specific newsletter. + +**Parameters** + +- **newsletter_identifier** (`integer`, required) The unique identifier of a newsletter to retrieve its test group details. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.RetrieveNewsletterLanguageVariant + +
+ + +Get info on a newsletter's language variant in A/B test. + +**Parameters** + +- **ab_test_group_id** (`string`, required) The unique ID of the A/B test group for retrieving the language variant. +- **language_tag** (`string`, required) Specify the language tag of the newsletter variant. Use an empty string to default to your primary language. +- **newsletter_identifier** (`integer`, required) Specify the unique identifier of the newsletter to retrieve its language variant details. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.UpdateNewsletterTestTranslation + +
+ + +Update a newsletter's translation for A/B testing. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **newsletter_identifier** (`integer`, optional) The unique identifier for the newsletter. Use this to specify which newsletter to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **ab_test_group_id** (`string`, optional) The identifier for the A/B test group to update the newsletter translation for. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **newsletter_language_tag** (`string`, optional) Specify a language tag for the newsletter translation. Utilize an empty string to default to your system's language. Invalid tags result in an error. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetNewsletterVariantMetrics + +
+ + +Fetch metrics for a specific newsletter variant. + +**Parameters** + +- **newsletter_identifier** (`integer`, required) The unique identifier for the newsletter to fetch metrics for. +- **newsletter_message_id** (`integer`, required) The ID of a message in a newsletter, used for identifying variants or languages within a newsletter. Useful for A/B tests or multilingual content. +- **item_type_for_metrics** (`string`, optional) Specify the type of item to return metrics for (e.g., email, webhook, etc.). If left empty, metrics for all types are returned. +- **number_of_period_steps** (`integer`, optional) The number of time periods to return, requiring a minimum of 2 steps. Maximum limits apply based on the period type. +- **reporting_period_unit** (`string`, optional) The time unit for the report, such as 'hours', 'days', 'weeks', or 'months'. Used to define the granularity of the metrics. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetNewsletterVariantClickMetrics + +
+ + +Get link click metrics for a newsletter variant. + +**Parameters** + +- **message_content_identifier** (`integer`, required) The ID of a specific message within a newsletter, useful for A/B tests or multilingual newsletters. Retrieve from newsletter details. +- **newsletter_identifier** (`integer`, required) The unique integer identifier of a specific newsletter to retrieve click metrics. +- **item_type_for_metrics** (`string`, optional) The type of item to return metrics for. Options are: email, webhook, twilio, slack, push, in_app. When left empty, metrics for all types are included. +- **number_of_periods** (`integer`, optional) Specify the number of time periods to retrieve data for. Defaults to the maximum if not specified, or 12 for months. Maximum limits: 24 hours, 45 days, 12 weeks, or 121 months. +- **time_unit_for_report** (`string`, optional) The unit of time for generating the report. Options are: hours, days, weeks, months. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetObjectTypes + +
+ + +Retrieve a list of object types and their IDs. + +**Parameters** + +This tool does not take any parameters. +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.FindWorkspaceObjects + +
+ + +Find objects in your workspace using filter conditions. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **page_start_token** (`string`, optional) Token for the page of results to return. Use the `next` property from a prior response to continue paging. Only used when mode is 'execute'. +- **maximum_results_per_page** (`integer`, optional) The maximum number of results to retrieve per page. Only used when mode is 'execute'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetRelatedPeople + +
+ + +Retrieve people related to a specified object. + +**Parameters** + +- **object_identifier** (`string`, required) The ID of the object. This can be `object_id` or `cio_object_id` based on the `id_type` query parameter. Defaults to `object_id`. +- **object_type_identifier** (`integer`, required) The ID representing the object type, such as 'Companies' or 'Accounts'. Starts from 1 and increments for each new type. +- **identification_type** (`string`, optional) Specifies whether the object identifier is an `object_id` or a `cio_object_id`. Choose between these two options. +- **maximum_results_per_page** (`integer`, optional) The maximum number of results to retrieve per page. Specify an integer value. +- **pagination_start_token** (`string`, optional) Token for starting the page of results. Use the 'next' property from a response to paginate. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetObjectAttributes + +
+ + +Retrieve a list of attributes for a specific object. + +**Parameters** + +- **object_identifier** (`string`, required) The unique identifier for the object, which can be either `object_id` or `cio_object_id`, depending on the id_type specified in query params. +- **object_type_identifier** (`integer`, required) The ID representing the object type, beginning at 1 for each new type, like 'Companies' or 'Accounts'. +- **object_id_type** (`string`, optional) Specify the type of ID used for the object: 'object_id' or 'cio_object_id'. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.CreateWebhook + +
+ + +Create a new webhook configuration for reporting. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.ListReportingWebhooks + +
+ + +Retrieve a list of reporting webhooks. + +**Parameters** + +This tool does not take any parameters. +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetWebhookInfo + +
+ + +Get detailed information about a specific webhook. + +**Parameters** + +- **webhook_identifier** (`integer`, required) The unique identifier of the webhook you want to retrieve information for. This should be an integer. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.UpdateReportingWebhook + +
+ + +Update the configuration of a reporting webhook. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **webhook_identifier** (`integer`, optional) The unique identifier for the specific webhook to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.DeleteReportingWebhook + +
+ + +Delete a reporting webhook's configuration. + +**Parameters** + +- **webhook_identifier** (`integer`, required) The unique identifier for the reporting webhook to be deleted. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.CreateManualSegment + +
+ + +Create a manual segment with name and description. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetAllSegments + +
+ + +Retrieve a list of all segments for your account. + +**Parameters** + +This tool does not take any parameters. +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetSegmentInfo + +
+ + +Retrieve information about a specific segment. + +**Parameters** + +- **segment_identifier** (`integer`, required) The ID for a segment. Find this on its page in the dashboard or using the App API. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.DeleteManualSegment + +
+ + +Delete a specified manual segment by ID. + +**Parameters** + +- **segment_identifier** (`integer`, required) The ID of the segment to delete, found under 'Usage' in the Segment page on the dashboard or via the App API. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.FindSegmentDependencies + +
+ + +Identify campaigns and newsletters using a segment. + +**Parameters** + +- **segment_identifier** (`integer`, required) The ID for a segment, found on its dashboard page or via the App API. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetSegmentCustomerCount + +
+ + +Retrieve the customer count for a specific segment. + +**Parameters** + +- **segment_id** (`integer`, required) The unique identifier for the segment to retrieve the customer count. Find this ID on the segment's page or via the App API. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetSegmentMembers + +
+ + +Retrieve customer details from a specific segment. + +**Parameters** + +- **segment_identifier** (`integer`, required) The unique identifier for a segment. Find this ID on the segment's page in the dashboard, under _Usage_. +- **maximum_results_per_page** (`integer`, optional) Specify the maximum number of customer identifiers to retrieve per page. +- **pagination_token** (`string`, optional) Token to specify the start of the page of results. Use the `next` value from a previous response to paginate. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetSenderList + +
+ + +Retrieve a list of senders from your workspace. + +**Parameters** + +- **max_results_per_page** (`integer`, optional) The maximum number of sender results to retrieve per page. Specify an integer value. +- **pagination_token** (`string`, optional) Token for the page of results to return. Use the `next` property from the response for pagination. +- **results_sort_order** (`string`, optional) Sort results: 'asc' for chronological, 'desc' for reverse chronological order. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetSenderInfo + +
+ + +Retrieve information about a specific sender by ID. + +**Parameters** + +- **sender_identifier** (`integer`, required) The unique identifier for a sender, required to fetch their information. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetSenderUsage + +
+ + +Retrieve campaigns and newsletters using a specific sender. + +**Parameters** + +- **sender_identifier** (`integer`, required) The unique identifier for the sender to retrieve associated campaigns and newsletters. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.ListSnippetsWorkspace + +
+ + +Retrieve a list of reusable content snippets from your workspace. + +**Parameters** + +This tool does not take any parameters. +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.UpdateOrCreateSnippet + +
+ + +Update or create a snippet with a unique name. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.RemoveUnusedSnippet + +
+ + +Removes an unused snippet from the system. + +**Parameters** + +- **snippet_name** (`string`, required) The name of the snippet to be removed. Must be unused to avoid errors. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetSubscriptionTopics + +
+ + +Retrieve subscription topics from your workspace. + +**Parameters** + +This tool does not take any parameters. +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.ListTransactionalMessages + +
+ + +Retrieve your list of transactional message IDs. + +**Parameters** + +This tool does not take any parameters. +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetTransactionalMessage + +
+ + +Retrieve details of a transactional message. + +**Parameters** + +- **transactional_message_id** (`integer`, required) The ID of the transactional message, found in the UI or URL, e.g., `/transactional/3/templates/139` has an ID of 3. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetTransactionalMessageVariants + +
+ + +Retrieve content variants of a transactional message. + +**Parameters** + +- **transactional_message_id** (`integer`, required) The ID of the transactional message, found in the UI or URL, e.g., `/transactional/3/templates/139` means ID is 3. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.UpdateTransactionalEmail + +
+ + +Overwrite a transactional email's body with new content. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **transactional_email_id** (`integer`, optional) The ID of your transactional email. Found in the UI or URL of the transactional message. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **content_variant_id** (`integer`, optional) The unique identifier for the specific content version of your transactional email, found in the message URL. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetTransactionalVariant + +
+ + +Fetch translation details of a transactional message. + +**Parameters** + +- **language_tag** (`string`, required) Specify the language tag for the message variant. Use an empty string for the default language. If the variant does not exist, an error is returned. +- **transactional_message_id** (`integer`, required) The identifier of the transactional message, found in the UI or URL, e.g., `/transactional/3/templates/139` has an ID of 3. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.UpdateTransactionalMessageVariant + +
+ + +Fully update a language variant of a transactional message. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **transactional_message_id** (`integer`, optional) The identifier of the transactional message. Found in the UI or URL of the message, e.g., `/transactional/3/templates/139` where the ID is 3. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **language_tag** (`string`, optional) Specify a language tag for a language variant. If not provided, default language is used. Errors if variant does not exist. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetTransactionalMessageMetrics + +
+ + +Retrieve metrics for a transactional message over time periods. + +**Parameters** + +- **transactional_message_id** (`integer`, required) The identifier of the transactional message. Found in the UI or URL, e.g., `/transactional/3/templates/139` means an ID of 3. +- **number_of_periods** (`integer`, optional) The number of periods to retrieve metrics for. Defaults to the maximum available, or 12 if the period is in months. Maximums are 24 hours, 45 days, 12 weeks, or 121 months. Days start at 00:00 EST. Weeks start at 00:00 EST on Sunday. Months start at 00:00 EST on the 1st of the month. +- **time_unit_for_report** (`string`, optional) Specify the unit of time for the report, such as 'hours', 'days', 'weeks', or 'months'. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetTransactionalLinkMetrics + +
+ + +Retrieve metrics for clicked links in transactional messages. + +**Parameters** + +- **transactional_message_id** (`integer`, required) The identifier for the transactional message, found in the UI or URL (e.g., in `/transactional/3/templates/139`, the ID is 3). +- **include_only_unique_customers** (`boolean`, optional) Return only unique customer results if true; false includes all click instances. +- **number_of_periods** (`integer`, optional) Specify the number of periods to return metrics for. Cannot be fewer than 2 periods. Defaults to the maximum available, or 12 if the period is in months. Maximums: 24 hours, 45 days, 12 weeks, or 121 months. +- **time_unit_for_report** (`string`, optional) The unit of time for the report. Options are: hours, days, weeks, or months. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetTransactionalMessageDeliveries + +
+ + +Fetch delivery details for transactional messages. + +**Parameters** + +- **transactional_message_id** (`integer`, required) The unique identifier for the transactional message, found in the UI or URL, e.g., '/transactional/3/templates/139' where the ID is 3. +- **beginning_timestamp** (`integer`, optional) The start time for the query, specified as a Unix timestamp. Limits the query to data starting from this time. +- **broadcast_state** (`string`, optional) Specifies the state of the broadcast to filter results. Options are 'failed', 'sent', 'drafted', or 'attempted'. +- **max_results_per_page** (`integer`, optional) The maximum number of results to return per page, as an integer. +- **page_token** (`string`, optional) Specify the token for the page of results you want to return. Use the `next` property from previous responses as the value to paginate. +- **query_ending_timestamp** (`integer`, optional) The ending timestamp for the query, determining the end of the time range for message data retrieval. +- **return_metrics** (`string`, optional) Specify one or more metrics to return, such as 'sent', 'delivered', or 'clicked'. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.ListWorkspaces + +
+ + +Retrieve a list of workspaces in your account. + +**Parameters** + +This tool does not take any parameters. +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.CreateNewCollection + +
+ + +Create a new data collection in Customerio. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.ListCollections + +
+ + +Retrieve a list of all collections including names and schemas. + +**Parameters** + +This tool does not take any parameters. +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.RetrieveCollectionDetails + +
+ + +Retrieve details about a specific collection. + +**Parameters** + +- **collection_identifier** (`integer`, required) The unique identifier for a specific collection to retrieve its details. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.DeleteCollection + +
+ + +Delete a collection and its contents. + +**Parameters** + +- **collection_id** (`integer`, required) The unique identifier for the collection to be deleted. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.UpdateCollectionInfo + +
+ + +Update collection name or replace its contents in Customerio. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **collection_identifier** (`integer`, optional) The unique identifier for the collection to be updated. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.RetrieveCollectionContents + +
+ + +Retrieve contents of a specified collection. + +**Parameters** + +- **collection_identifier** (`integer`, required) The unique identifier for the collection to retrieve contents from. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.ReplaceCollectionContents + +
+ + +Replace the entire contents of a data collection. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **collection_identifier** (`integer`, optional) The unique identifier for the collection whose contents are being replaced. This is required for identifying the specific collection to update. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetPeopleByEmail + +
+ + +Retrieve a list of people matching an email address. + +**Parameters** + +- **search_email_address** (`string`, required) The email address to find in the workspace. Returns a list of individuals matching this email. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.FilterPeopleInWorkspace + +
+ + +Filter and search for people in your workspace. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **page_start_token** (`string`, optional) The token for the page of results to return. Use the 'next' property from responses as this value to access subsequent pages. Only used when mode is 'execute'. +- **results_per_page_limit** (`integer`, optional) Specify the maximum number of people to retrieve per page. Limited to 1000. Only used when mode is 'execute'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetCustomerProfileAttributes + +
+ + +Retrieve a customer's profile attributes. + +**Parameters** + +- **customer_identifier** (`string`, required) The unique identifier of the customer to fetch their profile attributes. +- **customer_id_type** (`string`, optional) Specifies the type of `customer_id` to reference a person. Options: 'id', 'email', 'cio_id'. Default is 'id' if not provided. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetPersonRelationships + +
+ + +Retrieve a list of objects a person is related to. + +**Parameters** + +- **customer_id** (`string`, required) The unique identifier for the customer whose relationships you wish to retrieve. +- **max_results_per_page** (`integer`, optional) The maximum number of results to retrieve per page. +- **pagination_start_token** (`string`, optional) Token to specify the page of results to return. Use the `next` property's value from a previous response to get subsequent pages. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetCustomerInfo + +
+ + +Retrieve attributes and devices for specified customers by ID. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetCustomerSegments + +
+ + +Retrieve segments of a specific customer from Customerio. + +**Parameters** + +- **customer_identifier** (`string`, required) The unique ID of the customer for segment retrieval in Customerio. +- **customer_id_type** (`string`, optional) Specifies the type of customer identifier to use ('id', 'email', or 'cio_id'). Default is 'id'. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.RetrieveCustomerMessages + +
+ + +Retrieve deliveries sent to a customer within a time range. + +**Parameters** + +- **customer_identifier** (`string`, required) The unique ID of the customer whose message deliveries you want to retrieve. +- **customer_id_type** (`string`, optional) Specifies the type of customer_id used to reference a person. Options: 'id', 'email', 'cio_id'. Defaults to 'id' if not provided. +- **max_results_per_page** (`integer`, optional) The maximum number of results to retrieve per page. This limits the number of messages returned in a single response. +- **pagination_token** (`string`, optional) Token for the page of results to return. Use the `next` property from previous responses to get the next page. +- **query_end_timestamp** (`integer`, optional) The ending timestamp (in integer format) for the query to limit data retrieval to specific time ranges. +- **starting_timestamp** (`integer`, optional) The beginning timestamp for the query in integer format, used to filter messages by start date. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetCustomerActivities + +
+ + +Retrieve recent activities for a customer. + +**Parameters** + +- **customer_id** (`string`, required) The unique identifier for the customer whose activities you want to retrieve. +- **activity_type_filter** (`string`, optional) Filter activities by specific type, such as 'add_relationship' or 'attribute_change'. +- **customer_id_type** (`string`, optional) Specify the type of `customer_id` used to reference a person (e.g., `id`, `email`, or `cio_id`). Defaults to `id` if unspecified. +- **event_or_attribute_name** (`string`, optional) Specify the event or attribute name to search for within activities of type `event` or `attribute_update`. +- **max_results_per_page** (`integer`, optional) Specify the maximum number of activity results to retrieve per page. +- **start_token** (`string`, optional) Token to specify which page of results to return. Use the `next` property from a previous response. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioApi.GetSubscriptionPreferences + +
+ + +Retrieve a person's subscription preferences. + +**Parameters** + +- **customer_identifier** (`string`, required) The ID of the customer to retrieve subscription preferences for. +- **accept_language** (`string`, optional) Language tag for translating content. If not specified, defaults to the subscription center's language. +- **customer_id_type** (`string`, optional) Type of customer_id used to reference a person, e.g., 'id', 'email', or 'cio_id'. Defaults to 'id'. +- **translation_language** (`string`, optional) Specify the language tag for translating the subscription preferences content. If not provided, the default language is used. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## Reference + +Below is a reference of enumerations used by some of the tools in the CustomerioApi MCP Server: + +### ToolMode + +- **GET_REQUEST_SCHEMA**: `get_request_schema` +- **EXECUTE**: `execute` + + diff --git a/app/en/mcp-servers/customer-support/customerio-pipelines-api/page.mdx b/app/en/mcp-servers/customer-support/customerio-pipelines-api/page.mdx new file mode 100644 index 000000000..aefed3107 --- /dev/null +++ b/app/en/mcp-servers/customer-support/customerio-pipelines-api/page.mdx @@ -0,0 +1,247 @@ +# CustomerioPipelinesApi +import StarterToolInfo from "@/app/_components/starter-tool-info"; +import ToolInfo from "@/app/_components/tool-info"; +import Badges from "@/app/_components/badges"; +import TabbedCodeBlock from "@/app/_components/tabbed-code-block"; +import TableOfContents from "@/app/_components/table-of-contents"; +import ToolFooter from "@/app/_components/tool-footer"; +import { Callout } from "nextra/components"; + + + + + + + +The CustomerioPipelinesApi MCP Server offers a comprehensive set of tools for managing user data and tracking interactions within Customer.io. With this server, users can: + +## Available Tools + + + + + If you need to perform an action that's not listed here, you can [get in touch + with us](mailto:contact@arcade.dev) to request a new tool, or [create your + own tools](/home/build-tools/create-a-mcp-server). + + +## CustomerioPipelinesApi.IdentifyPersonAndAssignTraits + +
+ + +Identify a person and assign traits using Customerio. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **enable_strict_validation** (`string`, optional) Set to `True` to enable strict HTTP error validation (400/401) for validation failures. Defaults to permissive mode when `False`. Only used when mode is 'execute'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioPipelinesApi.TrackUserEvent + +
+ + +Record user events with properties for analysis. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **enable_strict_validation** (`string`, optional) Set to `True` to enable strict validation and return error codes (400/401) for validation failures. `False` for permissive mode. Only used when mode is 'execute'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioPipelinesApi.SendPageViewEvent + +
+ + +Sends a page view event for tracking user interactions. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **enable_strict_mode** (`string`, optional) Set to '1' to enable strict validation, returning 400/401 for errors. Any other value uses permissive mode logging. Only used when mode is 'execute'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioPipelinesApi.SendScreenViewEvent + +
+ + +Send a screen view event for app usage analytics. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **enable_strict_validation** (`string`, optional) Enable strict validation for returning proper HTTP error codes (400/401) for failures. Set to `1` to enable. Only used when mode is 'execute'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioPipelinesApi.AddToGroup + +
+ + +Add a person to a specified group. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **enable_strict_validation** (`string`, optional) Set to '1' to enable strict validation, returning HTTP error codes for validation failures. Otherwise, the API operates in permissive mode. Only used when mode is 'execute'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioPipelinesApi.AliasUserIdentity + +
+ + +Reconcile anonymous and identified user IDs for select destinations. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **enable_strict_validation** (`string`, optional) Set to 'True' to enable strict validation, returning HTTP error codes (400/401) for validation failures. Defaults to permissive mode if not set. Only used when mode is 'execute'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioPipelinesApi.SendBatchRequests + +
+ + +Send multiple requests in a single batch call. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **enable_strict_mode** (`string`, optional) Set to `True` to enable strict validation, returning HTTP error codes (400/401) for validation failures instead of HTTP 200. Only used when mode is 'execute'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + + +## Reference + +Below is a reference of enumerations used by some of the tools in the CustomerioPipelinesApi MCP Server: + +### ToolMode + +- **GET_REQUEST_SCHEMA**: `get_request_schema` +- **EXECUTE**: `execute` + + + + \ No newline at end of file diff --git a/app/en/mcp-servers/customer-support/customerio-track-api/page.mdx b/app/en/mcp-servers/customer-support/customerio-track-api/page.mdx new file mode 100644 index 000000000..d40cf5a23 --- /dev/null +++ b/app/en/mcp-servers/customer-support/customerio-track-api/page.mdx @@ -0,0 +1,513 @@ +# CustomerioTrackApi +import StarterToolInfo from "@/app/_components/starter-tool-info"; +import ToolInfo from "@/app/_components/tool-info"; +import Badges from "@/app/_components/badges"; +import TabbedCodeBlock from "@/app/_components/tabbed-code-block"; +import TableOfContents from "@/app/_components/table-of-contents"; +import ToolFooter from "@/app/_components/tool-footer"; +import { Callout } from "nextra/components"; + + + + + + + +The CustomerioTrackApi MCP Server offers a comprehensive suite of tools for managing customer data and interactions within Customer.io. Users can perform a variety of actions, including: + +## Available Tools + + + + + If you need to perform an action that's not listed here, you can [get in touch + with us](mailto:contact@arcade.dev) to request a new tool, or [create your + own tools](/home/build-tools/create-a-mcp-server). + + +## CustomerioTrackApi.GetTrackApiRegion + +
+ + +Retrieve the region and URL for Track API credentials. + +**Parameters** + +This tool does not take any parameters. +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioTrackApi.UpdateOrAddPerson + +
+ + +Add or update a person's information in the database. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **person_identifier** (`string`, optional) The unique value used to identify a person, such as an ID, email, or `cio_id` (with `cio_` prefix for updates). Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioTrackApi.DeleteCustomer + +
+ + +Delete a customer and all associated information. + +**Parameters** + +- **customer_identifier** (`string`, required) The unique identifier for a person, which can be an ID, email, or 'cio_id'. Use 'cio_' prefix for 'cio_id'. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioTrackApi.AddDeviceToCustomerProfile + +
+ + +Add or update a device for a customer profile. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **unique_person_identifier** (`string`, optional) A unique identifier for a person, such as `id`, `email`, or `cio_id` prefixed with `cio_`. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioTrackApi.RemoveCustomerDevice + +
+ + +Remove a device from a customer's profile. + +**Parameters** + +- **customer_identifier** (`string`, required) Unique identifier for a person in the system. Can be `id`, `email`, or `cio_id` (prefixed with `cio_`). +- **device_unique_id** (`string`, required) The ID representing the device to be removed from the customer's profile. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioTrackApi.SuppressCustomerProfile + +
+ + +Permanently delete and suppress a customer profile. + +**Parameters** + +- **unique_person_identifier** (`string`, required) The unique identifier for a customer, which can be an ID, email, or 'cio_id' (prefixed with 'cio_'). + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioTrackApi.UnsuppressCustomerProfile + +
+ + +Unsuppress a customer profile in Customer.io. + +**Parameters** + +- **customer_identifier** (`string`, required) The unique identifier for a customer, which can be an ID, email, or prefixed cio_id, based on workspace settings. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioTrackApi.GlobalUnsubscribeUser + +
+ + +Set a user's global unsubscribe status in Customer.io. + +**Parameters** + +- **delivery_id_for_unsubscription** (`string`, required) The unique identifier of the delivery associated with the unsubscription request. This links the unsubscribe action to a specific email or message delivery. +- **set_unsubscribed_attribute** (`boolean`, optional) If true, sets a person's `unsubscribed` attribute to true, associated with a specific delivery. + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioTrackApi.SendCustomerEvent + +
+ + +Send an event associated with a customer by identifier. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **customer_identifier** (`string`, optional) A unique identifier for a person, such as `id`, `email`, or `cio_id`, depending on workspace settings. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioTrackApi.TrackAnonymousEvent + +
+ + +Log anonymous events for unidentified users. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioTrackApi.SubmitFormResponse + +
+ + +Submit and record form responses with Customer.io. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **form_identifier** (`string`, optional) The unique identifier for the form. If unrecognized, a new form connection is created. Choose a meaningful or traceable value. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioTrackApi.MergeCustomerProfiles + +
+ + +Merge two customer profiles into one primary profile. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioTrackApi.ReportCustomMetrics + +
+ + +Report metrics from non-native Customer.io channels. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioTrackApi.AddPeopleToSegment + +
+ + +Add people to a manual segment by ID. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **segment_identifier** (`integer`, optional) The unique identifier for a manual segment. This can be found on its page in the dashboard or via the App API. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **identifier_type** (`string`, optional) Specifies the type of identifiers in the `ids` array, such as `id`, `email`, or `cio_id`. Defaults to `id`. Only used when mode is 'execute'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioTrackApi.RemoveUserFromSegment + +
+ + +Remove users from a manual segment by ID. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **segment_identifier** (`integer`, optional) The unique identifier for the segment. Found on the segment's page in the dashboard under 'Usage'. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **identification_type** (`string`, optional) The type of identifiers used for the users to be removed. Options are 'id', 'email', or 'cio_id'. Defaults to 'id' if not specified. Only used when mode is 'execute'. +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioTrackApi.ManageEntity + +
+ + +Create, update, or delete entities and manage relationships. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## CustomerioTrackApi.BatchProcessRequests + +
+ + +Batch process requests for people and object entities. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + + +## Reference + +Below is a reference of enumerations used by some of the tools in the CustomerioTrackApi MCP Server: + +### ToolMode + +- **GET_REQUEST_SCHEMA**: `get_request_schema` +- **EXECUTE**: `execute` + + + + \ No newline at end of file diff --git a/public/examples/integrations/mcp-servers/customerio_api/check_email_suppression_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/check_email_suppression_example_call_tool.js new file mode 100644 index 000000000..40b684f74 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/check_email_suppression_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.CheckEmailSuppression"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "email_to_check_suppression": "example@example.com" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/check_email_suppression_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/check_email_suppression_example_call_tool.py new file mode 100644 index 000000000..aef19dcd2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/check_email_suppression_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.CheckEmailSuppression" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'email_to_check_suppression': 'example@example.com' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/create_manual_segment_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/create_manual_segment_example_call_tool.js new file mode 100644 index 000000000..486c8d952 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/create_manual_segment_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.CreateManualSegment"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"name\":\"New Segment\",\"description\":\"This is a new manual segment for organizing contacts.\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/create_manual_segment_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/create_manual_segment_example_call_tool.py new file mode 100644 index 000000000..523ac3c1c --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/create_manual_segment_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.CreateManualSegment" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"name":"New Segment","description":"This is a new manual segment for ' + 'organizing contacts."}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/create_new_collection_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/create_new_collection_example_call_tool.js new file mode 100644 index 000000000..ab44a0901 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/create_new_collection_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.CreateNewCollection"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"name\":\"New Collection\",\"description\":\"A collection of customer data.\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/create_new_collection_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/create_new_collection_example_call_tool.py new file mode 100644 index 000000000..d2df75c14 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/create_new_collection_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.CreateNewCollection" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"name":"New Collection","description":"A collection of customer data."}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/create_webhook_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/create_webhook_example_call_tool.js new file mode 100644 index 000000000..438f4f7d3 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/create_webhook_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.CreateWebhook"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"url\":\"https://example.com/webhook\",\"event\":\"report_generated\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/create_webhook_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/create_webhook_example_call_tool.py new file mode 100644 index 000000000..dc2e846a5 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/create_webhook_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.CreateWebhook" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"url":"https://example.com/webhook","event":"report_generated"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/delete_collection_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/delete_collection_example_call_tool.js new file mode 100644 index 000000000..9c1e67787 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/delete_collection_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.DeleteCollection"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "collection_id": 12345 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/delete_collection_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/delete_collection_example_call_tool.py new file mode 100644 index 000000000..642dad2fc --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/delete_collection_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.DeleteCollection" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'collection_id': 12345 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/delete_manual_segment_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/delete_manual_segment_example_call_tool.js new file mode 100644 index 000000000..27a33a48b --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/delete_manual_segment_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.DeleteManualSegment"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "segment_identifier": 12345 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/delete_manual_segment_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/delete_manual_segment_example_call_tool.py new file mode 100644 index 000000000..a98923bea --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/delete_manual_segment_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.DeleteManualSegment" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'segment_identifier': 12345 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/delete_newsletter_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/delete_newsletter_example_call_tool.js new file mode 100644 index 000000000..495d00e81 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/delete_newsletter_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.DeleteNewsletter"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "newsletter_identifier": 12345 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/delete_newsletter_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/delete_newsletter_example_call_tool.py new file mode 100644 index 000000000..e1dbfc039 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/delete_newsletter_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.DeleteNewsletter" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'newsletter_identifier': 12345 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/delete_reporting_webhook_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/delete_reporting_webhook_example_call_tool.js new file mode 100644 index 000000000..be6f3a707 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/delete_reporting_webhook_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.DeleteReportingWebhook"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "webhook_identifier": 12345 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/delete_reporting_webhook_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/delete_reporting_webhook_example_call_tool.py new file mode 100644 index 000000000..dba485f45 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/delete_reporting_webhook_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.DeleteReportingWebhook" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'webhook_identifier': 12345 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/download_export_signed_link_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/download_export_signed_link_example_call_tool.js new file mode 100644 index 000000000..a02e39ec2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/download_export_signed_link_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.DownloadExportSignedLink"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "export_identifier": 12345 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/download_export_signed_link_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/download_export_signed_link_example_call_tool.py new file mode 100644 index 000000000..8a8e08cff --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/download_export_signed_link_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.DownloadExportSignedLink" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'export_identifier': 12345 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/export_customer_data_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/export_customer_data_example_call_tool.js new file mode 100644 index 000000000..8b95897c7 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/export_customer_data_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.ExportCustomerData"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"filters\":{\"status\":\"active\"},\"attributes\":[\"name\",\"email\"]}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/export_customer_data_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/export_customer_data_example_call_tool.py new file mode 100644 index 000000000..2c592cf69 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/export_customer_data_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.ExportCustomerData" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"filters":{"status":"active"},"attributes":["name","email"]}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/export_delivery_data_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/export_delivery_data_example_call_tool.js new file mode 100644 index 000000000..ca400dbff --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/export_delivery_data_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.ExportDeliveryData"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"time_range\":\"last_30_days\",\"filters\":{\"campaign_id\":\"12345\"}}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/export_delivery_data_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/export_delivery_data_example_call_tool.py new file mode 100644 index 000000000..210dfa38b --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/export_delivery_data_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.ExportDeliveryData" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"time_range":"last_30_days","filters":{"campaign_id":"12345"}}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/fetch_message_deliveries_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/fetch_message_deliveries_example_call_tool.js new file mode 100644 index 000000000..9555a878f --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/fetch_message_deliveries_example_call_tool.js @@ -0,0 +1,36 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.FetchMessageDeliveries"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "beginning_timestamp": 1672531200, + "desired_metrics": "opened", + "ending_timestamp_for_query": 1675209600, + "filter_by_campaign_id": 12345, + "item_type_for_metrics": "email", + "results_per_page_limit": 50 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/fetch_message_deliveries_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/fetch_message_deliveries_example_call_tool.py new file mode 100644 index 000000000..45cf0167d --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/fetch_message_deliveries_example_call_tool.py @@ -0,0 +1,34 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.FetchMessageDeliveries" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'beginning_timestamp': 1672531200, + 'desired_metrics': 'opened', + 'ending_timestamp_for_query': 1675209600, + 'filter_by_campaign_id': 12345, + 'item_type_for_metrics': 'email', + 'results_per_page_limit': 50 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/filter_people_in_workspace_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/filter_people_in_workspace_example_call_tool.js new file mode 100644 index 000000000..c03d31f0a --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/filter_people_in_workspace_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.FilterPeopleInWorkspace"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "page_start_token": "abc123", + "results_per_page_limit": 100, + "request_body": "{\"filter\":{\"segment_id\":\"seg001\",\"attributes\":{\"role\":\"developer\"}}}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/filter_people_in_workspace_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/filter_people_in_workspace_example_call_tool.py new file mode 100644 index 000000000..b8227575c --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/filter_people_in_workspace_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.FilterPeopleInWorkspace" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'page_start_token': 'abc123', + 'results_per_page_limit': 100, + 'request_body': '{"filter":{"segment_id":"seg001","attributes":{"role":"developer"}}}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/find_segment_dependencies_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/find_segment_dependencies_example_call_tool.js new file mode 100644 index 000000000..7a98b47db --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/find_segment_dependencies_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.FindSegmentDependencies"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "segment_identifier": 12345 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/find_segment_dependencies_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/find_segment_dependencies_example_call_tool.py new file mode 100644 index 000000000..37360501f --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/find_segment_dependencies_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.FindSegmentDependencies" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'segment_identifier': 12345 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/find_suppressed_email_addresses_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/find_suppressed_email_addresses_example_call_tool.js new file mode 100644 index 000000000..bb83ca739 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/find_suppressed_email_addresses_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.FindSuppressedEmailAddresses"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "suppression_reason": "bounces", + "max_results_per_page": 100, + "skip_records": 10 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/find_suppressed_email_addresses_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/find_suppressed_email_addresses_example_call_tool.py new file mode 100644 index 000000000..43867210c --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/find_suppressed_email_addresses_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.FindSuppressedEmailAddresses" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'suppression_reason': 'bounces', 'max_results_per_page': 100, 'skip_records': 10 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/find_workspace_objects_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/find_workspace_objects_example_call_tool.js new file mode 100644 index 000000000..1407a4942 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/find_workspace_objects_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.FindWorkspaceObjects"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "page_start_token": "abc123", + "maximum_results_per_page": 10, + "request_body": "{\"filter\":\"active\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/find_workspace_objects_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/find_workspace_objects_example_call_tool.py new file mode 100644 index 000000000..7e7480e5d --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/find_workspace_objects_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.FindWorkspaceObjects" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'page_start_token': 'abc123', + 'maximum_results_per_page': 10, + 'request_body': '{"filter":"active"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_all_segments_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_all_segments_example_call_tool.js new file mode 100644 index 000000000..193932aa8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_all_segments_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetAllSegments"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = {}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_all_segments_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_all_segments_example_call_tool.py new file mode 100644 index 000000000..b7f6518f0 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_all_segments_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetAllSegments" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_allowlist_ips_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_allowlist_ips_example_call_tool.js new file mode 100644 index 000000000..648490c68 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_allowlist_ips_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetAllowlistIps"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = {}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_allowlist_ips_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_allowlist_ips_example_call_tool.py new file mode 100644 index 000000000..da6acfe76 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_allowlist_ips_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetAllowlistIps" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_archived_message_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_archived_message_example_call_tool.js new file mode 100644 index 000000000..6e3bb28b0 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_archived_message_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetArchivedMessage"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "message_id": "msg_12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_archived_message_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_archived_message_example_call_tool.py new file mode 100644 index 000000000..0a25c4817 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_archived_message_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetArchivedMessage" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'message_id': 'msg_12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_action_info_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_action_info_example_call_tool.js new file mode 100644 index 000000000..239e56990 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_action_info_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetBroadcastActionInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "action_id": 123, + "broadcast_identifier": 456 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_action_info_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_action_info_example_call_tool.py new file mode 100644 index 000000000..68eb9dd2e --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_action_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetBroadcastActionInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'action_id': 123, 'broadcast_identifier': 456 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_action_link_metrics_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_action_link_metrics_example_call_tool.js new file mode 100644 index 000000000..c07b569b8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_action_link_metrics_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetBroadcastActionLinkMetrics"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "broadcast_action_id": 12345, + "broadcast_identifier": 67890, + "item_type": "email", + "number_of_periods_to_return": 30, + "time_period_unit": "days" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_action_link_metrics_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_action_link_metrics_example_call_tool.py new file mode 100644 index 000000000..4d932f7f0 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_action_link_metrics_example_call_tool.py @@ -0,0 +1,33 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetBroadcastActionLinkMetrics" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'broadcast_action_id': 12345, + 'broadcast_identifier': 67890, + 'item_type': 'email', + 'number_of_periods_to_return': 30, + 'time_period_unit': 'days' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_action_metrics_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_action_metrics_example_call_tool.js new file mode 100644 index 000000000..8a2a6f4d9 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_action_metrics_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetBroadcastActionMetrics"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "broadcast_identifier": 12345, + "lookup_action_id": 67890, + "metrics_item_type": "email", + "period_steps": 7, + "time_unit_for_report": "days" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_action_metrics_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_action_metrics_example_call_tool.py new file mode 100644 index 000000000..2e5682d65 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_action_metrics_example_call_tool.py @@ -0,0 +1,33 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetBroadcastActionMetrics" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'broadcast_identifier': 12345, + 'lookup_action_id': 67890, + 'metrics_item_type': 'email', + 'period_steps': 7, + 'time_unit_for_report': 'days' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_actions_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_actions_example_call_tool.js new file mode 100644 index 000000000..300de8c58 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_actions_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetBroadcastActions"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "broadcast_identifier": 12345 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_actions_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_actions_example_call_tool.py new file mode 100644 index 000000000..7af1a1451 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_actions_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetBroadcastActions" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'broadcast_identifier': 12345 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_errors_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_errors_example_call_tool.js new file mode 100644 index 000000000..e5de3d210 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_errors_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetBroadcastErrors"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "broadcast_id": 12345, + "campaign_trigger_id": 67890, + "results_per_page": 10 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_errors_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_errors_example_call_tool.py new file mode 100644 index 000000000..707b82f0e --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_errors_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetBroadcastErrors" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'broadcast_id': 12345, 'campaign_trigger_id': 67890, 'results_per_page': 10 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_link_metrics_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_link_metrics_example_call_tool.js new file mode 100644 index 000000000..a7eb36614 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_link_metrics_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetBroadcastLinkMetrics"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "broadcast_identifier": 12345, + "period_steps": 7, + "report_period": "days", + "return_unique_customer_results": true +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_link_metrics_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_link_metrics_example_call_tool.py new file mode 100644 index 000000000..e7750e9d6 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_link_metrics_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetBroadcastLinkMetrics" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'broadcast_identifier': 12345, + 'period_steps': 7, + 'report_period': 'days', + 'return_unique_customer_results': True +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_message_info_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_message_info_example_call_tool.js new file mode 100644 index 000000000..a9198cf08 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_message_info_example_call_tool.js @@ -0,0 +1,36 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetBroadcastMessageInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "broadcast_identifier": 12345, + "beginning_timestamp": 1672531200, + "ending_timestamp": 1672617600, + "broadcast_state": "sent", + "item_type": "email", + "maximum_results_per_page": 50 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_message_info_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_message_info_example_call_tool.py new file mode 100644 index 000000000..34fbc4110 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_message_info_example_call_tool.py @@ -0,0 +1,34 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetBroadcastMessageInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'broadcast_identifier': 12345, + 'beginning_timestamp': 1672531200, + 'ending_timestamp': 1672617600, + 'broadcast_state': 'sent', + 'item_type': 'email', + 'maximum_results_per_page': 50 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_metadata_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_metadata_example_call_tool.js new file mode 100644 index 000000000..0b903c6b5 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_metadata_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetBroadcastMetadata"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "broadcast_identifier": 12345 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_metadata_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_metadata_example_call_tool.py new file mode 100644 index 000000000..5ff2c3605 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_metadata_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetBroadcastMetadata" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'broadcast_identifier': 12345 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_metrics_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_metrics_example_call_tool.js new file mode 100644 index 000000000..04042eb0f --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_metrics_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetBroadcastMetrics"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "broadcast_identifier": 12345, + "metric_type": "email", + "number_of_time_periods": 30, + "time_period_unit": "days" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_metrics_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_metrics_example_call_tool.py new file mode 100644 index 000000000..771006cbc --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_metrics_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetBroadcastMetrics" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'broadcast_identifier': 12345, + 'metric_type': 'email', + 'number_of_time_periods': 30, + 'time_period_unit': 'days' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_status_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_status_example_call_tool.js new file mode 100644 index 000000000..2c07d77d2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_status_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetBroadcastStatus"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "broadcast_identifier": 12345, + "campaign_trigger_id": 67890 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_status_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_status_example_call_tool.py new file mode 100644 index 000000000..fe9984891 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_status_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetBroadcastStatus" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'broadcast_identifier': 12345, 'campaign_trigger_id': 67890 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_translation_info_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_translation_info_example_call_tool.js new file mode 100644 index 000000000..8169ff18f --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_translation_info_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetBroadcastTranslationInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "action_id": 123, + "broadcast_identifier": 456, + "language_tag": "en" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_translation_info_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_translation_info_example_call_tool.py new file mode 100644 index 000000000..cdc1c0df6 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_translation_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetBroadcastTranslationInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'action_id': 123, 'broadcast_identifier': 456, 'language_tag': 'en' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_triggers_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_triggers_example_call_tool.js new file mode 100644 index 000000000..d008a750b --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_triggers_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetBroadcastTriggers"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "broadcast_identifier": 12345 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_triggers_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_triggers_example_call_tool.py new file mode 100644 index 000000000..1025552f0 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_broadcast_triggers_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetBroadcastTriggers" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'broadcast_identifier': 12345 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_campaign_action_info_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_action_info_example_call_tool.js new file mode 100644 index 000000000..5318d76f7 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_action_info_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetCampaignActionInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "action_id": 123, + "campaign_identifier": 456 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_campaign_action_info_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_action_info_example_call_tool.py new file mode 100644 index 000000000..29f04af59 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_action_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetCampaignActionInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'action_id': 123, 'campaign_identifier': 456 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_campaign_action_link_metrics_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_action_link_metrics_example_call_tool.js new file mode 100644 index 000000000..0f53745fd --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_action_link_metrics_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetCampaignActionLinkMetrics"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "action_identifier": 123, + "campaign_id": 456, + "metric_item_type": "email", + "number_of_periods_to_return": 30 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_campaign_action_link_metrics_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_action_link_metrics_example_call_tool.py new file mode 100644 index 000000000..af68ff63f --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_action_link_metrics_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetCampaignActionLinkMetrics" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'action_identifier': 123, + 'campaign_id': 456, + 'metric_item_type': 'email', + 'number_of_periods_to_return': 30 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_campaign_action_metrics_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_action_metrics_example_call_tool.js new file mode 100644 index 000000000..a60553ec4 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_action_metrics_example_call_tool.js @@ -0,0 +1,38 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetCampaignActionMetrics"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "action_identifier": 12345, + "campaign_id": 67890, + "metrics_api_version": "2", + "item_type_for_metrics": "email", + "metrics_start_timestamp": 1690000000, + "metrics_end_timestamp": 1692592000, + "metrics_resolution": "daily", + "timezone": "UTC" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_campaign_action_metrics_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_action_metrics_example_call_tool.py new file mode 100644 index 000000000..d415a1f6b --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_action_metrics_example_call_tool.py @@ -0,0 +1,36 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetCampaignActionMetrics" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'action_identifier': 12345, + 'campaign_id': 67890, + 'metrics_api_version': '2', + 'item_type_for_metrics': 'email', + 'metrics_start_timestamp': 1690000000, + 'metrics_end_timestamp': 1692592000, + 'metrics_resolution': 'daily', + 'timezone': 'UTC' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_campaign_journey_metrics_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_journey_metrics_example_call_tool.js new file mode 100644 index 000000000..ec3d0d6f0 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_journey_metrics_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetCampaignJourneyMetrics"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "campaign_id": 12345, + "start_timestamp": 1672531200, + "end_timestamp": 1672617600, + "metrics_resolution": "daily" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_campaign_journey_metrics_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_journey_metrics_example_call_tool.py new file mode 100644 index 000000000..9f4f3463d --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_journey_metrics_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetCampaignJourneyMetrics" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'campaign_id': 12345, + 'start_timestamp': 1672531200, + 'end_timestamp': 1672617600, + 'metrics_resolution': 'daily' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_campaign_link_metrics_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_link_metrics_example_call_tool.js new file mode 100644 index 000000000..44b54e2e6 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_link_metrics_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetCampaignLinkMetrics"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "campaign_identifier": 12345, + "count_unique_customers": true, + "number_of_periods": 4, + "report_time_unit": "days" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_campaign_link_metrics_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_link_metrics_example_call_tool.py new file mode 100644 index 000000000..08a0bcd53 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_link_metrics_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetCampaignLinkMetrics" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'campaign_identifier': 12345, + 'count_unique_customers': True, + 'number_of_periods': 4, + 'report_time_unit': 'days' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_campaign_list_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_list_example_call_tool.js new file mode 100644 index 000000000..d432b00c5 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_list_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetCampaignList"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = {}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_campaign_list_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_list_example_call_tool.py new file mode 100644 index 000000000..2f4b37a44 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_list_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetCampaignList" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_campaign_messages_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_messages_example_call_tool.js new file mode 100644 index 000000000..91a23539e --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_messages_example_call_tool.js @@ -0,0 +1,36 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetCampaignMessages"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "campaign_id": 12345, + "beginning_timestamp": 1672531200, + "end_timestamp": 1672617600, + "message_type": "email", + "metrics_to_return": "opened", + "results_per_page": 10 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_campaign_messages_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_messages_example_call_tool.py new file mode 100644 index 000000000..0632caf63 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_messages_example_call_tool.py @@ -0,0 +1,34 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetCampaignMessages" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'campaign_id': 12345, + 'beginning_timestamp': 1672531200, + 'end_timestamp': 1672617600, + 'message_type': 'email', + 'metrics_to_return': 'opened', + 'results_per_page': 10 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_campaign_metadata_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_metadata_example_call_tool.js new file mode 100644 index 000000000..1f8726e0a --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_metadata_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetCampaignMetadata"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "campaign_id": 12345 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_campaign_metadata_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_metadata_example_call_tool.py new file mode 100644 index 000000000..8a0c7397b --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_metadata_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetCampaignMetadata" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'campaign_id': 12345 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_campaign_metrics_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_metrics_example_call_tool.js new file mode 100644 index 000000000..b945110f2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_metrics_example_call_tool.js @@ -0,0 +1,36 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetCampaignMetrics"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "campaign_id": 12345, + "metrics_api_version": "2", + "metrics_start_timestamp": 1690000000, + "end_time_unix": 1692592000, + "resolution": "daily", + "timezone_for_metrics": "America/New_York" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_campaign_metrics_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_metrics_example_call_tool.py new file mode 100644 index 000000000..fde88bce7 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_campaign_metrics_example_call_tool.py @@ -0,0 +1,34 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetCampaignMetrics" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'campaign_id': 12345, + 'metrics_api_version': '2', + 'metrics_start_timestamp': 1690000000, + 'end_time_unix': 1692592000, + 'resolution': 'daily', + 'timezone_for_metrics': 'America/New_York' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_customer_activities_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_customer_activities_example_call_tool.js new file mode 100644 index 000000000..7e4a607c6 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_customer_activities_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetCustomerActivities"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "customer_id": "12345", + "activity_type_filter": "attribute_change", + "max_results_per_page": 10 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_customer_activities_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_customer_activities_example_call_tool.py new file mode 100644 index 000000000..514901b32 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_customer_activities_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetCustomerActivities" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'customer_id': '12345', 'activity_type_filter': 'attribute_change', 'max_results_per_page': 10 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_customer_info_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_customer_info_example_call_tool.js new file mode 100644 index 000000000..77c147d5d --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_customer_info_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetCustomerInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"customer_ids\":[\"123\",\"456\"]}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_customer_info_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_customer_info_example_call_tool.py new file mode 100644 index 000000000..de242c242 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_customer_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetCustomerInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"customer_ids":["123","456"]}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_customer_profile_attributes_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_customer_profile_attributes_example_call_tool.js new file mode 100644 index 000000000..654f26681 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_customer_profile_attributes_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetCustomerProfileAttributes"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "customer_identifier": "12345", + "customer_id_type": "email" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_customer_profile_attributes_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_customer_profile_attributes_example_call_tool.py new file mode 100644 index 000000000..fb292f6fc --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_customer_profile_attributes_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetCustomerProfileAttributes" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'customer_identifier': '12345', 'customer_id_type': 'email' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_customer_segments_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_customer_segments_example_call_tool.js new file mode 100644 index 000000000..4591c8f60 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_customer_segments_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetCustomerSegments"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "customer_identifier": "12345", + "customer_id_type": "email" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_customer_segments_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_customer_segments_example_call_tool.py new file mode 100644 index 000000000..282adad9b --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_customer_segments_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetCustomerSegments" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'customer_identifier': '12345', 'customer_id_type': 'email' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_delivery_message_info_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_delivery_message_info_example_call_tool.js new file mode 100644 index 000000000..fb109f684 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_delivery_message_info_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetDeliveryMessageInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "message_identifier": "msg_12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_delivery_message_info_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_delivery_message_info_example_call_tool.py new file mode 100644 index 000000000..a7bc399e0 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_delivery_message_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetDeliveryMessageInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'message_identifier': 'msg_12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_export_info_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_export_info_example_call_tool.js new file mode 100644 index 000000000..f8a90bf4c --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_export_info_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetExportInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "export_id_to_access": 12345 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_export_info_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_export_info_example_call_tool.py new file mode 100644 index 000000000..8af3a6d21 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_export_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetExportInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'export_id_to_access': 12345 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_import_status_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_import_status_example_call_tool.js new file mode 100644 index 000000000..742a5104f --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_import_status_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetImportStatus"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "import_id": 12345 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_import_status_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_import_status_example_call_tool.py new file mode 100644 index 000000000..867a88713 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_import_status_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetImportStatus" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'import_id': 12345 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_link_metrics_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_link_metrics_example_call_tool.js new file mode 100644 index 000000000..50ee858e8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_link_metrics_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetNewsletterLinkMetrics"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "newsletter_identifier": 12345, + "include_unique_customers": true, + "number_of_periods": 4, + "time_unit_for_report": "weeks" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_link_metrics_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_link_metrics_example_call_tool.py new file mode 100644 index 000000000..63e2fdae8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_link_metrics_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetNewsletterLinkMetrics" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'newsletter_identifier': 12345, + 'include_unique_customers': True, + 'number_of_periods': 4, + 'time_unit_for_report': 'weeks' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_message_metadata_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_message_metadata_example_call_tool.js new file mode 100644 index 000000000..e36f1a9ca --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_message_metadata_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetNewsletterMessageMetadata"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "newsletter_identifier": 12345, + "begin_query_timestamp": 1672531200, + "metrics_to_return": "sent", + "results_per_page_limit": 10 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_message_metadata_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_message_metadata_example_call_tool.py new file mode 100644 index 000000000..f3ed1db44 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_message_metadata_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetNewsletterMessageMetadata" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'newsletter_identifier': 12345, + 'begin_query_timestamp': 1672531200, + 'metrics_to_return': 'sent', + 'results_per_page_limit': 10 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_metrics_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_metrics_example_call_tool.js new file mode 100644 index 000000000..904a8e4fe --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_metrics_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetNewsletterMetrics"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "newsletter_identifier": 123, + "item_type_for_metrics": "email", + "number_of_time_periods": 7, + "time_period_unit": "days" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_metrics_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_metrics_example_call_tool.py new file mode 100644 index 000000000..d6fd46fb1 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_metrics_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetNewsletterMetrics" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'newsletter_identifier': 123, + 'item_type_for_metrics': 'email', + 'number_of_time_periods': 7, + 'time_period_unit': 'days' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_test_groups_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_test_groups_example_call_tool.js new file mode 100644 index 000000000..771d8baf7 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_test_groups_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetNewsletterTestGroups"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "newsletter_identifier": 12345 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_test_groups_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_test_groups_example_call_tool.py new file mode 100644 index 000000000..ef47b862f --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_test_groups_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetNewsletterTestGroups" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'newsletter_identifier': 12345 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_click_metrics_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_click_metrics_example_call_tool.js new file mode 100644 index 000000000..1613c2b33 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_click_metrics_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetNewsletterVariantClickMetrics"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "message_content_identifier": 12345, + "newsletter_identifier": 67890, + "item_type_for_metrics": "email", + "number_of_periods": 30 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_click_metrics_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_click_metrics_example_call_tool.py new file mode 100644 index 000000000..4578df18e --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_click_metrics_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetNewsletterVariantClickMetrics" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'message_content_identifier': 12345, + 'newsletter_identifier': 67890, + 'item_type_for_metrics': 'email', + 'number_of_periods': 30 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_info_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_info_example_call_tool.js new file mode 100644 index 000000000..1f845adf1 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_info_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetNewsletterVariantInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "message_identifier_in_newsletter": 1, + "newsletter_identifier": 101 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_info_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_info_example_call_tool.py new file mode 100644 index 000000000..c6f010809 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetNewsletterVariantInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'message_identifier_in_newsletter': 1, 'newsletter_identifier': 101 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_metrics_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_metrics_example_call_tool.js new file mode 100644 index 000000000..2bfddba95 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_metrics_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetNewsletterVariantMetrics"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "newsletter_identifier": 12345, + "newsletter_message_id": 67890, + "item_type_for_metrics": "email", + "number_of_period_steps": 3, + "reporting_period_unit": "days" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_metrics_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_metrics_example_call_tool.py new file mode 100644 index 000000000..e6e344346 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_metrics_example_call_tool.py @@ -0,0 +1,33 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetNewsletterVariantMetrics" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'newsletter_identifier': 12345, + 'newsletter_message_id': 67890, + 'item_type_for_metrics': 'email', + 'number_of_period_steps': 3, + 'reporting_period_unit': 'days' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_translation_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_translation_example_call_tool.js new file mode 100644 index 000000000..a51ee0e91 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_translation_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetNewsletterVariantTranslation"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "language_tag": "fr", + "newsletter_identifier": 123 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_translation_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_translation_example_call_tool.py new file mode 100644 index 000000000..77168cc19 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variant_translation_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetNewsletterVariantTranslation" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'language_tag': 'fr', 'newsletter_identifier': 123 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variants_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variants_example_call_tool.js new file mode 100644 index 000000000..2d767144e --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variants_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetNewsletterVariants"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "newsletter_identifier": 12345 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variants_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variants_example_call_tool.py new file mode 100644 index 000000000..5d9ebe4f5 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_newsletter_variants_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetNewsletterVariants" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'newsletter_identifier': 12345 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_newsletters_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_newsletters_example_call_tool.js new file mode 100644 index 000000000..77dbade8d --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_newsletters_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetNewsletters"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "max_results_per_page": 10, + "sort_order": "asc" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_newsletters_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_newsletters_example_call_tool.py new file mode 100644 index 000000000..16bfb07c1 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_newsletters_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetNewsletters" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'max_results_per_page': 10, 'sort_order': 'asc' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_object_attributes_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_object_attributes_example_call_tool.js new file mode 100644 index 000000000..c48149da5 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_object_attributes_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetObjectAttributes"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "object_identifier": "12345", + "object_type_identifier": 1, + "object_id_type": "object_id" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_object_attributes_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_object_attributes_example_call_tool.py new file mode 100644 index 000000000..2d65947d1 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_object_attributes_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetObjectAttributes" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'object_identifier': '12345', 'object_type_identifier': 1, 'object_id_type': 'object_id' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_object_types_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_object_types_example_call_tool.js new file mode 100644 index 000000000..7925e9a2a --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_object_types_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetObjectTypes"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = {}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_object_types_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_object_types_example_call_tool.py new file mode 100644 index 000000000..ac76602ff --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_object_types_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetObjectTypes" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_people_by_email_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_people_by_email_example_call_tool.js new file mode 100644 index 000000000..c91a22ec7 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_people_by_email_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetPeopleByEmail"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "search_email_address": "example@example.com" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_people_by_email_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_people_by_email_example_call_tool.py new file mode 100644 index 000000000..fc601b681 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_people_by_email_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetPeopleByEmail" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'search_email_address': 'example@example.com' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_person_relationships_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_person_relationships_example_call_tool.js new file mode 100644 index 000000000..655b9206c --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_person_relationships_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetPersonRelationships"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "customer_id": "12345", + "max_results_per_page": 10 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_person_relationships_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_person_relationships_example_call_tool.py new file mode 100644 index 000000000..24ca7e29c --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_person_relationships_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetPersonRelationships" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'customer_id': '12345', 'max_results_per_page': 10 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_related_people_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_related_people_example_call_tool.js new file mode 100644 index 000000000..b0997daee --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_related_people_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetRelatedPeople"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "object_identifier": "12345", + "object_type_identifier": 1, + "maximum_results_per_page": 10 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_related_people_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_related_people_example_call_tool.py new file mode 100644 index 000000000..537d8f02d --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_related_people_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetRelatedPeople" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'object_identifier': '12345', 'object_type_identifier': 1, 'maximum_results_per_page': 10 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_segment_customer_count_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_segment_customer_count_example_call_tool.js new file mode 100644 index 000000000..ef7264a14 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_segment_customer_count_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetSegmentCustomerCount"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "segment_id": 12345 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_segment_customer_count_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_segment_customer_count_example_call_tool.py new file mode 100644 index 000000000..a3699c546 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_segment_customer_count_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetSegmentCustomerCount" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'segment_id': 12345 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_segment_info_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_segment_info_example_call_tool.js new file mode 100644 index 000000000..4d28ab3e2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_segment_info_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetSegmentInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "segment_identifier": 12345 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_segment_info_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_segment_info_example_call_tool.py new file mode 100644 index 000000000..2488ab9de --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_segment_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetSegmentInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'segment_identifier': 12345 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_segment_members_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_segment_members_example_call_tool.js new file mode 100644 index 000000000..395fcdd69 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_segment_members_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetSegmentMembers"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "segment_identifier": 12345, + "maximum_results_per_page": 10 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_segment_members_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_segment_members_example_call_tool.py new file mode 100644 index 000000000..9aa46b55d --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_segment_members_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetSegmentMembers" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'segment_identifier': 12345, 'maximum_results_per_page': 10 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_sender_info_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_sender_info_example_call_tool.js new file mode 100644 index 000000000..1256ab12c --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_sender_info_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetSenderInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "sender_identifier": 12345 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_sender_info_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_sender_info_example_call_tool.py new file mode 100644 index 000000000..a6e428ffd --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_sender_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetSenderInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'sender_identifier': 12345 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_sender_list_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_sender_list_example_call_tool.js new file mode 100644 index 000000000..19b3a85d6 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_sender_list_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetSenderList"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "max_results_per_page": 10, + "results_sort_order": "asc" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_sender_list_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_sender_list_example_call_tool.py new file mode 100644 index 000000000..85f91aaf7 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_sender_list_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetSenderList" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'max_results_per_page': 10, 'results_sort_order': 'asc' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_sender_usage_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_sender_usage_example_call_tool.js new file mode 100644 index 000000000..a1464244f --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_sender_usage_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetSenderUsage"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "sender_identifier": 12345 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_sender_usage_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_sender_usage_example_call_tool.py new file mode 100644 index 000000000..92b692a00 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_sender_usage_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetSenderUsage" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'sender_identifier': 12345 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_subscription_preferences_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_subscription_preferences_example_call_tool.js new file mode 100644 index 000000000..bd870fbf2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_subscription_preferences_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetSubscriptionPreferences"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "customer_identifier": "12345", + "accept_language": "en", + "customer_id_type": "email" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_subscription_preferences_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_subscription_preferences_example_call_tool.py new file mode 100644 index 000000000..2ed4ef1eb --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_subscription_preferences_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetSubscriptionPreferences" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'customer_identifier': '12345', 'accept_language': 'en', 'customer_id_type': 'email' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_subscription_topics_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_subscription_topics_example_call_tool.js new file mode 100644 index 000000000..676d10fa1 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_subscription_topics_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetSubscriptionTopics"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = {}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_subscription_topics_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_subscription_topics_example_call_tool.py new file mode 100644 index 000000000..b9846c853 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_subscription_topics_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetSubscriptionTopics" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_transactional_link_metrics_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_transactional_link_metrics_example_call_tool.js new file mode 100644 index 000000000..7378e56cf --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_transactional_link_metrics_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetTransactionalLinkMetrics"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "transactional_message_id": 3, + "include_only_unique_customers": true, + "number_of_periods": 3, + "time_unit_for_report": "days" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_transactional_link_metrics_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_transactional_link_metrics_example_call_tool.py new file mode 100644 index 000000000..845675670 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_transactional_link_metrics_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetTransactionalLinkMetrics" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'transactional_message_id': 3, + 'include_only_unique_customers': True, + 'number_of_periods': 3, + 'time_unit_for_report': 'days' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_deliveries_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_deliveries_example_call_tool.js new file mode 100644 index 000000000..35572bfdb --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_deliveries_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetTransactionalMessageDeliveries"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "transactional_message_id": 3, + "beginning_timestamp": 1690000000, + "broadcast_state": "sent", + "max_results_per_page": 10 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_deliveries_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_deliveries_example_call_tool.py new file mode 100644 index 000000000..0d0139c6d --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_deliveries_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetTransactionalMessageDeliveries" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'transactional_message_id': 3, + 'beginning_timestamp': 1690000000, + 'broadcast_state': 'sent', + 'max_results_per_page': 10 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_example_call_tool.js new file mode 100644 index 000000000..b00977b57 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetTransactionalMessage"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "transactional_message_id": 3 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_example_call_tool.py new file mode 100644 index 000000000..825f56b3d --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetTransactionalMessage" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'transactional_message_id': 3 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_metrics_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_metrics_example_call_tool.js new file mode 100644 index 000000000..3091ddac3 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_metrics_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetTransactionalMessageMetrics"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "transactional_message_id": 3, + "number_of_periods": 12, + "time_unit_for_report": "days" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_metrics_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_metrics_example_call_tool.py new file mode 100644 index 000000000..92ee82822 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_metrics_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetTransactionalMessageMetrics" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'transactional_message_id': 3, 'number_of_periods': 12, 'time_unit_for_report': 'days' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_variants_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_variants_example_call_tool.js new file mode 100644 index 000000000..546a327ae --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_variants_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetTransactionalMessageVariants"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "transactional_message_id": 3 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_variants_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_variants_example_call_tool.py new file mode 100644 index 000000000..fcb8434da --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_transactional_message_variants_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetTransactionalMessageVariants" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'transactional_message_id': 3 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_transactional_variant_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_transactional_variant_example_call_tool.js new file mode 100644 index 000000000..9b16635af --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_transactional_variant_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetTransactionalVariant"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "language_tag": "en", + "transactional_message_id": 3 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_transactional_variant_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_transactional_variant_example_call_tool.py new file mode 100644 index 000000000..142488b9c --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_transactional_variant_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetTransactionalVariant" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'language_tag': 'en', 'transactional_message_id': 3 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_webhook_info_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/get_webhook_info_example_call_tool.js new file mode 100644 index 000000000..12c2964aa --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_webhook_info_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.GetWebhookInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "webhook_identifier": 12345 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/get_webhook_info_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/get_webhook_info_example_call_tool.py new file mode 100644 index 000000000..6b44cdafe --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/get_webhook_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.GetWebhookInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'webhook_identifier': 12345 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/list_broadcasts_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/list_broadcasts_example_call_tool.js new file mode 100644 index 000000000..5d50b6402 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/list_broadcasts_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.ListBroadcasts"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = {}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/list_broadcasts_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/list_broadcasts_example_call_tool.py new file mode 100644 index 000000000..632bfb216 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/list_broadcasts_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.ListBroadcasts" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/list_campaign_actions_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/list_campaign_actions_example_call_tool.js new file mode 100644 index 000000000..adc0d8610 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/list_campaign_actions_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.ListCampaignActions"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "campaign_id": 12345, + "page_token": "next" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/list_campaign_actions_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/list_campaign_actions_example_call_tool.py new file mode 100644 index 000000000..23c38ea6a --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/list_campaign_actions_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.ListCampaignActions" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'campaign_id': 12345, 'page_token': 'next' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/list_collections_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/list_collections_example_call_tool.js new file mode 100644 index 000000000..f27a8de02 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/list_collections_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.ListCollections"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = {}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/list_collections_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/list_collections_example_call_tool.py new file mode 100644 index 000000000..f61ce14cc --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/list_collections_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.ListCollections" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/list_exports_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/list_exports_example_call_tool.js new file mode 100644 index 000000000..5b3d323a7 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/list_exports_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.ListExports"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = {}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/list_exports_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/list_exports_example_call_tool.py new file mode 100644 index 000000000..88d94b370 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/list_exports_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.ListExports" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/list_recent_activities_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/list_recent_activities_example_call_tool.js new file mode 100644 index 000000000..b20e30ebd --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/list_recent_activities_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.ListRecentActivities"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "activity_type": "_o:123", + "customer_id_type": "email", + "event_or_attribute_name": "login", + "include_deleted_people": false, + "results_per_page_limit": 10 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/list_recent_activities_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/list_recent_activities_example_call_tool.py new file mode 100644 index 000000000..d12b596df --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/list_recent_activities_example_call_tool.py @@ -0,0 +1,33 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.ListRecentActivities" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'activity_type': '_o:123', + 'customer_id_type': 'email', + 'event_or_attribute_name': 'login', + 'include_deleted_people': False, + 'results_per_page_limit': 10 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/list_reporting_webhooks_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/list_reporting_webhooks_example_call_tool.js new file mode 100644 index 000000000..72acaad51 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/list_reporting_webhooks_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.ListReportingWebhooks"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = {}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/list_reporting_webhooks_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/list_reporting_webhooks_example_call_tool.py new file mode 100644 index 000000000..c47d8540a --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/list_reporting_webhooks_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.ListReportingWebhooks" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/list_snippets_workspace_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/list_snippets_workspace_example_call_tool.js new file mode 100644 index 000000000..f4a6fce47 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/list_snippets_workspace_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.ListSnippetsWorkspace"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = {}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/list_snippets_workspace_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/list_snippets_workspace_example_call_tool.py new file mode 100644 index 000000000..d72b95b22 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/list_snippets_workspace_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.ListSnippetsWorkspace" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/list_transactional_messages_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/list_transactional_messages_example_call_tool.js new file mode 100644 index 000000000..1ae4c03af --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/list_transactional_messages_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.ListTransactionalMessages"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = {}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/list_transactional_messages_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/list_transactional_messages_example_call_tool.py new file mode 100644 index 000000000..cb42a8f5f --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/list_transactional_messages_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.ListTransactionalMessages" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/list_workspaces_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/list_workspaces_example_call_tool.js new file mode 100644 index 000000000..21dbe80dc --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/list_workspaces_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.ListWorkspaces"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = {}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/list_workspaces_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/list_workspaces_example_call_tool.py new file mode 100644 index 000000000..84717498e --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/list_workspaces_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.ListWorkspaces" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/remove_email_suppression_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/remove_email_suppression_example_call_tool.js new file mode 100644 index 000000000..efac76ecd --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/remove_email_suppression_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.RemoveEmailSuppression"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "email_address_to_remove": "example@example.com", + "suppression_reason": "bounces" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/remove_email_suppression_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/remove_email_suppression_example_call_tool.py new file mode 100644 index 000000000..e3c8ee9f7 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/remove_email_suppression_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.RemoveEmailSuppression" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'email_address_to_remove': 'example@example.com', 'suppression_reason': 'bounces' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/remove_unused_snippet_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/remove_unused_snippet_example_call_tool.js new file mode 100644 index 000000000..cc15faa5f --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/remove_unused_snippet_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.RemoveUnusedSnippet"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "snippet_name": "exampleSnippet" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/remove_unused_snippet_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/remove_unused_snippet_example_call_tool.py new file mode 100644 index 000000000..3c3d4ccbf --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/remove_unused_snippet_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.RemoveUnusedSnippet" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'snippet_name': 'exampleSnippet' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/replace_collection_contents_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/replace_collection_contents_example_call_tool.js new file mode 100644 index 000000000..be7cda9fe --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/replace_collection_contents_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.ReplaceCollectionContents"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "collection_identifier": 123, + "request_body": "{\"key1\":\"value1\",\"key2\":\"value2\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/replace_collection_contents_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/replace_collection_contents_example_call_tool.py new file mode 100644 index 000000000..8bde4c167 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/replace_collection_contents_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.ReplaceCollectionContents" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'collection_identifier': 123, + 'request_body': '{"key1":"value1","key2":"value2"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/retrieve_collection_contents_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/retrieve_collection_contents_example_call_tool.js new file mode 100644 index 000000000..6fc736a6c --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/retrieve_collection_contents_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.RetrieveCollectionContents"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "collection_identifier": 12345 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/retrieve_collection_contents_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/retrieve_collection_contents_example_call_tool.py new file mode 100644 index 000000000..71de26e3c --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/retrieve_collection_contents_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.RetrieveCollectionContents" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'collection_identifier': 12345 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/retrieve_collection_details_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/retrieve_collection_details_example_call_tool.js new file mode 100644 index 000000000..2b00c494c --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/retrieve_collection_details_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.RetrieveCollectionDetails"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "collection_identifier": 123 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/retrieve_collection_details_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/retrieve_collection_details_example_call_tool.py new file mode 100644 index 000000000..316b8cebe --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/retrieve_collection_details_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.RetrieveCollectionDetails" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'collection_identifier': 123 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/retrieve_customer_messages_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/retrieve_customer_messages_example_call_tool.js new file mode 100644 index 000000000..688b31b3c --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/retrieve_customer_messages_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.RetrieveCustomerMessages"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "customer_identifier": "12345", + "customer_id_type": "email", + "max_results_per_page": 10 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/retrieve_customer_messages_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/retrieve_customer_messages_example_call_tool.py new file mode 100644 index 000000000..1be377492 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/retrieve_customer_messages_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.RetrieveCustomerMessages" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'customer_identifier': '12345', 'customer_id_type': 'email', 'max_results_per_page': 10 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/retrieve_newsletter_language_variant_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/retrieve_newsletter_language_variant_example_call_tool.js new file mode 100644 index 000000000..20ff69d39 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/retrieve_newsletter_language_variant_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.RetrieveNewsletterLanguageVariant"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "ab_test_group_id": "group_123", + "language_tag": "en", + "newsletter_identifier": 456 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/retrieve_newsletter_language_variant_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/retrieve_newsletter_language_variant_example_call_tool.py new file mode 100644 index 000000000..9fa6c313b --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/retrieve_newsletter_language_variant_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.RetrieveNewsletterLanguageVariant" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'ab_test_group_id': 'group_123', 'language_tag': 'en', 'newsletter_identifier': 456 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/retrieve_newsletter_metadata_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/retrieve_newsletter_metadata_example_call_tool.js new file mode 100644 index 000000000..1d5c420de --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/retrieve_newsletter_metadata_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.RetrieveNewsletterMetadata"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "newsletter_identifier": 12345 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/retrieve_newsletter_metadata_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/retrieve_newsletter_metadata_example_call_tool.py new file mode 100644 index 000000000..817e51741 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/retrieve_newsletter_metadata_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.RetrieveNewsletterMetadata" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'newsletter_identifier': 12345 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/send_transactional_email_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/send_transactional_email_example_call_tool.js new file mode 100644 index 000000000..9d72c2f24 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/send_transactional_email_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.SendTransactionalEmail"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"transactional_message_id\":\"12345\",\"to\":\"user@example.com\",\"subject\":\"Welcome!\",\"body\":\"Thank you for signing up!\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/send_transactional_email_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/send_transactional_email_example_call_tool.py new file mode 100644 index 000000000..c71ee9413 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/send_transactional_email_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.SendTransactionalEmail" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"transactional_message_id":"12345","to":"user@example.com","subject":"Welcome!","body":"Thank ' + 'you for signing up!"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/send_transactional_push_notification_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/send_transactional_push_notification_example_call_tool.js new file mode 100644 index 000000000..9bbb9dbb0 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/send_transactional_push_notification_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.SendTransactionalPushNotification"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"transactional_message_id\":\"12345\",\"user_id\":\"user_001\",\"custom_data\":{\"key\":\"value\"}}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/send_transactional_push_notification_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/send_transactional_push_notification_example_call_tool.py new file mode 100644 index 000000000..50cf284ec --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/send_transactional_push_notification_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.SendTransactionalPushNotification" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"transactional_message_id":"12345","user_id":"user_001","custom_data":{"key":"value"}}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/send_transactional_sms_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/send_transactional_sms_example_call_tool.js new file mode 100644 index 000000000..460161fa6 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/send_transactional_sms_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.SendTransactionalSms"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"transactional_message_id\":\"12345\",\"recipient\":\"+1234567890\",\"message\":\"Your order has been shipped!\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/send_transactional_sms_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/send_transactional_sms_example_call_tool.py new file mode 100644 index 000000000..05d6d5ff4 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/send_transactional_sms_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.SendTransactionalSms" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"transactional_message_id":"12345","recipient":"+1234567890","message":"Your ' + 'order has been shipped!"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/suppress_email_at_esp_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/suppress_email_at_esp_example_call_tool.js new file mode 100644 index 000000000..905f5c2b8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/suppress_email_at_esp_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.SuppressEmailAtEsp"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "email_address_to_suppress": "example@example.com", + "suppression_reason": "spam_reports" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/suppress_email_at_esp_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/suppress_email_at_esp_example_call_tool.py new file mode 100644 index 000000000..1e25f6bb5 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/suppress_email_at_esp_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.SuppressEmailAtEsp" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'email_address_to_suppress': 'example@example.com', 'suppression_reason': 'spam_reports' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/translate_campaign_message_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/translate_campaign_message_example_call_tool.js new file mode 100644 index 000000000..da1de0a0f --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/translate_campaign_message_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.TranslateCampaignMessage"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "campaign_action_id": 123, + "campaign_id": 456, + "target_language": "es" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/translate_campaign_message_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/translate_campaign_message_example_call_tool.py new file mode 100644 index 000000000..56b4f2390 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/translate_campaign_message_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.TranslateCampaignMessage" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'campaign_action_id': 123, 'campaign_id': 456, 'target_language': 'es' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/trigger_broadcast_message_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/trigger_broadcast_message_example_call_tool.js new file mode 100644 index 000000000..e7a1e8138 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/trigger_broadcast_message_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.TriggerBroadcastMessage"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "broadcast_id": 12345, + "request_body": "{\"audience\":\"segment\",\"message\":\"Hello, this is a test broadcast!\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/trigger_broadcast_message_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/trigger_broadcast_message_example_call_tool.py new file mode 100644 index 000000000..bf2d45641 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/trigger_broadcast_message_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.TriggerBroadcastMessage" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'broadcast_id': 12345, + 'request_body': '{"audience":"segment","message":"Hello, this is a test broadcast!"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_broadcast_action_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/update_broadcast_action_example_call_tool.js new file mode 100644 index 000000000..0fe873daa --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_broadcast_action_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.UpdateBroadcastAction"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "broadcast_id": 123, + "lookup_action_id": 456, + "request_body": "{\"message\":\"Updated content\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_broadcast_action_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/update_broadcast_action_example_call_tool.py new file mode 100644 index 000000000..ec710c605 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_broadcast_action_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.UpdateBroadcastAction" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'broadcast_id': 123, + 'lookup_action_id': 456, + 'request_body': '{"message":"Updated content"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_broadcast_action_language_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/update_broadcast_action_language_example_call_tool.js new file mode 100644 index 000000000..82ec746d7 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_broadcast_action_language_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.UpdateBroadcastActionLanguage"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "broadcast_identifier": 123, + "action_id": 456, + "broadcast_action_language": "en", + "request_body": "{\"message\":\"Hello, World!\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_broadcast_action_language_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/update_broadcast_action_language_example_call_tool.py new file mode 100644 index 000000000..8562e60b4 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_broadcast_action_language_example_call_tool.py @@ -0,0 +1,33 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.UpdateBroadcastActionLanguage" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'broadcast_identifier': 123, + 'action_id': 456, + 'broadcast_action_language': 'en', + 'request_body': '{"message":"Hello, World!"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_campaign_action_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/update_campaign_action_example_call_tool.js new file mode 100644 index 000000000..0d03e8914 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_campaign_action_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.UpdateCampaignAction"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "campaign_id": 123, + "action_id": 456, + "request_body": "{\"message\":\"Updated message content\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_campaign_action_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/update_campaign_action_example_call_tool.py new file mode 100644 index 000000000..7cdd3cb7f --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_campaign_action_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.UpdateCampaignAction" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'campaign_id': 123, + 'action_id': 456, + 'request_body': '{"message":"Updated message content"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_campaign_action_translation_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/update_campaign_action_translation_example_call_tool.js new file mode 100644 index 000000000..2afe6c147 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_campaign_action_translation_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.UpdateCampaignActionTranslation"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "campaign_id": 123, + "action_id": 456, + "language_tag": "en", + "request_body": "{\"message\":\"Updated message content\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_campaign_action_translation_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/update_campaign_action_translation_example_call_tool.py new file mode 100644 index 000000000..abc93970a --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_campaign_action_translation_example_call_tool.py @@ -0,0 +1,33 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.UpdateCampaignActionTranslation" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'campaign_id': 123, + 'action_id': 456, + 'language_tag': 'en', + 'request_body': '{"message":"Updated message content"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_collection_info_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/update_collection_info_example_call_tool.js new file mode 100644 index 000000000..d49a283cb --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_collection_info_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.UpdateCollectionInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "collection_identifier": 123, + "request_body": "{\"name\":\"New Collection Name\",\"data\":[{\"key\":\"value\"}]}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_collection_info_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/update_collection_info_example_call_tool.py new file mode 100644 index 000000000..8a39c2601 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_collection_info_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.UpdateCollectionInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'collection_identifier': 123, + 'request_body': '{"name":"New Collection Name","data":[{"key":"value"}]}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_customer_attributes_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/update_customer_attributes_example_call_tool.js new file mode 100644 index 000000000..992746a2b --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_customer_attributes_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.UpdateCustomerAttributes"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"customer_id\":\"12345\",\"attributes\":{\"name\":\"John Doe\",\"email\":\"john.doe@example.com\"}}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_customer_attributes_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/update_customer_attributes_example_call_tool.py new file mode 100644 index 000000000..b26ada020 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_customer_attributes_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.UpdateCustomerAttributes" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"customer_id":"12345","attributes":{"name":"John ' + 'Doe","email":"john.doe@example.com"}}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_event_metadata_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/update_event_metadata_example_call_tool.js new file mode 100644 index 000000000..9f129e535 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_event_metadata_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.UpdateEventMetadata"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"event_name\":\"user_signup\",\"customer_id\":\"12345\",\"timestamp\":\"2023-10-01T12:00:00Z\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_event_metadata_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/update_event_metadata_example_call_tool.py new file mode 100644 index 000000000..99a66467c --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_event_metadata_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.UpdateEventMetadata" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"event_name":"user_signup","customer_id":"12345","timestamp":"2023-10-01T12:00:00Z"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_newsletter_content_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/update_newsletter_content_example_call_tool.js new file mode 100644 index 000000000..86452ee45 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_newsletter_content_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.UpdateNewsletterContent"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "newsletter_identifier": 123, + "message_content_id": 456, + "request_body": "{\"title\":\"New Update\",\"body\":\"This is the updated content for the newsletter.\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_newsletter_content_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/update_newsletter_content_example_call_tool.py new file mode 100644 index 000000000..e95fc48eb --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_newsletter_content_example_call_tool.py @@ -0,0 +1,33 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.UpdateNewsletterContent" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'newsletter_identifier': 123, + 'message_content_id': 456, + 'request_body': '{"title":"New Update","body":"This is the updated content for the ' + 'newsletter."}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_newsletter_test_translation_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/update_newsletter_test_translation_example_call_tool.js new file mode 100644 index 000000000..caf522310 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_newsletter_test_translation_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.UpdateNewsletterTestTranslation"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "newsletter_identifier": 123, + "ab_test_group_id": "groupA", + "newsletter_language_tag": "en", + "request_body": "{\"content\":\"New translation for A/B test\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_newsletter_test_translation_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/update_newsletter_test_translation_example_call_tool.py new file mode 100644 index 000000000..5ea0ea085 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_newsletter_test_translation_example_call_tool.py @@ -0,0 +1,33 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.UpdateNewsletterTestTranslation" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'newsletter_identifier': 123, + 'ab_test_group_id': 'groupA', + 'newsletter_language_tag': 'en', + 'request_body': '{"content":"New translation for A/B test"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_newsletter_variant_translation_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/update_newsletter_variant_translation_example_call_tool.js new file mode 100644 index 000000000..94cace75b --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_newsletter_variant_translation_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.UpdateNewsletterVariantTranslation"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "newsletter_identifier": 123, + "language_tag": "en", + "request_body": "{\"title\":\"Weekly Update\",\"content\":\"This is the content of the newsletter.\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_newsletter_variant_translation_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/update_newsletter_variant_translation_example_call_tool.py new file mode 100644 index 000000000..485a62ce1 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_newsletter_variant_translation_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.UpdateNewsletterVariantTranslation" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'newsletter_identifier': 123, + 'language_tag': 'en', + 'request_body': '{"title":"Weekly Update","content":"This is the content of the newsletter."}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_or_create_snippet_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/update_or_create_snippet_example_call_tool.js new file mode 100644 index 000000000..c3f928342 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_or_create_snippet_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.UpdateOrCreateSnippet"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"name\":\"exampleSnippet\",\"value\":\"This is an example snippet.\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_or_create_snippet_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/update_or_create_snippet_example_call_tool.py new file mode 100644 index 000000000..127b655bb --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_or_create_snippet_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.UpdateOrCreateSnippet" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"name":"exampleSnippet","value":"This is an example snippet."}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_reporting_webhook_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/update_reporting_webhook_example_call_tool.js new file mode 100644 index 000000000..252f7f1b9 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_reporting_webhook_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.UpdateReportingWebhook"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "webhook_identifier": 123, + "request_body": "{\"url\":\"https://example.com/webhook\",\"enabled\":true}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_reporting_webhook_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/update_reporting_webhook_example_call_tool.py new file mode 100644 index 000000000..c7ee7675c --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_reporting_webhook_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.UpdateReportingWebhook" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'webhook_identifier': 123, + 'request_body': '{"url":"https://example.com/webhook","enabled":true}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_transactional_email_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/update_transactional_email_example_call_tool.js new file mode 100644 index 000000000..c77150607 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_transactional_email_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.UpdateTransactionalEmail"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "transactional_email_id": 12345, + "content_variant_id": 67890, + "request_body": "{\"subject\":\"New Subject\",\"body\":\"Updated email content.\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_transactional_email_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/update_transactional_email_example_call_tool.py new file mode 100644 index 000000000..8b803ccf0 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_transactional_email_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.UpdateTransactionalEmail" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'transactional_email_id': 12345, + 'content_variant_id': 67890, + 'request_body': '{"subject":"New Subject","body":"Updated email content."}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_transactional_message_variant_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/update_transactional_message_variant_example_call_tool.js new file mode 100644 index 000000000..0392f7315 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_transactional_message_variant_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.UpdateTransactionalMessageVariant"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "transactional_message_id": 3, + "language_tag": "en", + "request_body": "{\"subject\":\"Welcome!\",\"body\":\"Thank you for joining us!\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/update_transactional_message_variant_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/update_transactional_message_variant_example_call_tool.py new file mode 100644 index 000000000..973784be7 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/update_transactional_message_variant_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.UpdateTransactionalMessageVariant" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'transactional_message_id': 3, + 'language_tag': 'en', + 'request_body': '{"subject":"Welcome!","body":"Thank you for joining us!"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_api/upload_csv_to_customerio_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_api/upload_csv_to_customerio_example_call_tool.js new file mode 100644 index 000000000..022005252 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/upload_csv_to_customerio_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioApi.UploadCsvToCustomerio"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"file_url\":\"https://example.com/sample.csv\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_api/upload_csv_to_customerio_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_api/upload_csv_to_customerio_example_call_tool.py new file mode 100644 index 000000000..1c8551a00 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_api/upload_csv_to_customerio_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioApi.UploadCsvToCustomerio" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"file_url":"https://example.com/sample.csv"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_pipelines_api/add_to_group_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_pipelines_api/add_to_group_example_call_tool.js new file mode 100644 index 000000000..5664c21cb --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_pipelines_api/add_to_group_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioPipelinesApi.AddToGroup"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "enable_strict_validation": "1", + "request_body": "{\"user_id\":\"12345\",\"group_id\":\"67890\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_pipelines_api/add_to_group_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_pipelines_api/add_to_group_example_call_tool.py new file mode 100644 index 000000000..8e814c6ee --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_pipelines_api/add_to_group_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioPipelinesApi.AddToGroup" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'enable_strict_validation': '1', + 'request_body': '{"user_id":"12345","group_id":"67890"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_pipelines_api/alias_user_identity_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_pipelines_api/alias_user_identity_example_call_tool.js new file mode 100644 index 000000000..880105884 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_pipelines_api/alias_user_identity_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioPipelinesApi.AliasUserIdentity"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "enable_strict_validation": "True", + "request_body": "{\"anonymousId\":\"12345\",\"userId\":\"67890\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_pipelines_api/alias_user_identity_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_pipelines_api/alias_user_identity_example_call_tool.py new file mode 100644 index 000000000..295f0f205 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_pipelines_api/alias_user_identity_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioPipelinesApi.AliasUserIdentity" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'enable_strict_validation': 'True', + 'request_body': '{"anonymousId":"12345","userId":"67890"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_pipelines_api/identify_person_and_assign_traits_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_pipelines_api/identify_person_and_assign_traits_example_call_tool.js new file mode 100644 index 000000000..07b61d3ab --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_pipelines_api/identify_person_and_assign_traits_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioPipelinesApi.IdentifyPersonAndAssignTraits"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "enable_strict_validation": "True", + "request_body": "{\"user_id\":\"12345\",\"traits\":{\"age\":30,\"gender\":\"female\"}}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_pipelines_api/identify_person_and_assign_traits_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_pipelines_api/identify_person_and_assign_traits_example_call_tool.py new file mode 100644 index 000000000..52a948675 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_pipelines_api/identify_person_and_assign_traits_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioPipelinesApi.IdentifyPersonAndAssignTraits" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'enable_strict_validation': 'True', + 'request_body': '{"user_id":"12345","traits":{"age":30,"gender":"female"}}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_pipelines_api/send_batch_requests_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_pipelines_api/send_batch_requests_example_call_tool.js new file mode 100644 index 000000000..dd46a525a --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_pipelines_api/send_batch_requests_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioPipelinesApi.SendBatchRequests"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "enable_strict_mode": "True", + "request_body": "{\"requests\":[{\"type\":\"identify\",\"userId\":\"user123\"},{\"type\":\"track\",\"event\":\"purchase\",\"properties\":{\"value\":100}}]}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_pipelines_api/send_batch_requests_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_pipelines_api/send_batch_requests_example_call_tool.py new file mode 100644 index 000000000..8257b7038 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_pipelines_api/send_batch_requests_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioPipelinesApi.SendBatchRequests" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'enable_strict_mode': 'True', + 'request_body': '{"requests":[{"type":"identify","userId":"user123"},{"type":"track","event":"purchase","properties":{"value":100}}]}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_pipelines_api/send_page_view_event_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_pipelines_api/send_page_view_event_example_call_tool.js new file mode 100644 index 000000000..e9adc6854 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_pipelines_api/send_page_view_event_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioPipelinesApi.SendPageViewEvent"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "enable_strict_mode": "1", + "request_body": "{\"page\":\"home\",\"timestamp\":\"2023-10-01T12:00:00Z\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_pipelines_api/send_page_view_event_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_pipelines_api/send_page_view_event_example_call_tool.py new file mode 100644 index 000000000..b3fb1abfc --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_pipelines_api/send_page_view_event_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioPipelinesApi.SendPageViewEvent" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'enable_strict_mode': '1', + 'request_body': '{"page":"home","timestamp":"2023-10-01T12:00:00Z"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_pipelines_api/send_screen_view_event_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_pipelines_api/send_screen_view_event_example_call_tool.js new file mode 100644 index 000000000..f753e97da --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_pipelines_api/send_screen_view_event_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioPipelinesApi.SendScreenViewEvent"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "enable_strict_validation": "1", + "request_body": "{\"screen_name\":\"HomePage\",\"user_id\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_pipelines_api/send_screen_view_event_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_pipelines_api/send_screen_view_event_example_call_tool.py new file mode 100644 index 000000000..e1579a39e --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_pipelines_api/send_screen_view_event_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioPipelinesApi.SendScreenViewEvent" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'enable_strict_validation': '1', + 'request_body': '{"screen_name":"HomePage","user_id":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_pipelines_api/track_user_event_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_pipelines_api/track_user_event_example_call_tool.js new file mode 100644 index 000000000..bbcd15017 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_pipelines_api/track_user_event_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioPipelinesApi.TrackUserEvent"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "enable_strict_validation": "True", + "request_body": "{\"event_name\":\"add_to_cart\",\"properties\":{\"item_id\":\"12345\",\"item_name\":\"Widget\",\"quantity\":1}}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_pipelines_api/track_user_event_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_pipelines_api/track_user_event_example_call_tool.py new file mode 100644 index 000000000..e803b6130 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_pipelines_api/track_user_event_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioPipelinesApi.TrackUserEvent" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'enable_strict_validation': 'True', + 'request_body': '{"event_name":"add_to_cart","properties":{"item_id":"12345","item_name":"Widget","quantity":1}}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/add_device_to_customer_profile_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_track_api/add_device_to_customer_profile_example_call_tool.js new file mode 100644 index 000000000..30313c157 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/add_device_to_customer_profile_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioTrackApi.AddDeviceToCustomerProfile"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "unique_person_identifier": "cio_12345", + "request_body": "{\"device_type\":\"iOS\",\"device_id\":\"abc123\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/add_device_to_customer_profile_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_track_api/add_device_to_customer_profile_example_call_tool.py new file mode 100644 index 000000000..d1d492e43 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/add_device_to_customer_profile_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioTrackApi.AddDeviceToCustomerProfile" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'unique_person_identifier': 'cio_12345', + 'request_body': '{"device_type":"iOS","device_id":"abc123"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/add_people_to_segment_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_track_api/add_people_to_segment_example_call_tool.js new file mode 100644 index 000000000..276163c98 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/add_people_to_segment_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioTrackApi.AddPeopleToSegment"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "segment_identifier": 12345, + "identifier_type": "email", + "request_body": "{\"ids\":[\"user@example.com\",\"user2@example.com\"]}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/add_people_to_segment_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_track_api/add_people_to_segment_example_call_tool.py new file mode 100644 index 000000000..c2dc9dc50 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/add_people_to_segment_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioTrackApi.AddPeopleToSegment" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'segment_identifier': 12345, + 'identifier_type': 'email', + 'request_body': '{"ids":["user@example.com","user2@example.com"]}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/batch_process_requests_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_track_api/batch_process_requests_example_call_tool.js new file mode 100644 index 000000000..f06b9bbc5 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/batch_process_requests_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioTrackApi.BatchProcessRequests"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"requests\":[{\"type\":\"person\",\"id\":\"123\",\"action\":\"update\",\"data\":{\"name\":\"John Doe\"}},{\"type\":\"object\",\"id\":\"456\",\"action\":\"associate\",\"data\":{\"personId\":\"123\"}}]}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/batch_process_requests_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_track_api/batch_process_requests_example_call_tool.py new file mode 100644 index 000000000..5964d8257 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/batch_process_requests_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioTrackApi.BatchProcessRequests" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"requests":[{"type":"person","id":"123","action":"update","data":{"name":"John ' + 'Doe"}},{"type":"object","id":"456","action":"associate","data":{"personId":"123"}}]}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/delete_customer_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_track_api/delete_customer_example_call_tool.js new file mode 100644 index 000000000..794ee7a5d --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/delete_customer_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioTrackApi.DeleteCustomer"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "customer_identifier": "john.doe@example.com" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/delete_customer_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_track_api/delete_customer_example_call_tool.py new file mode 100644 index 000000000..a5866832b --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/delete_customer_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioTrackApi.DeleteCustomer" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'customer_identifier': 'john.doe@example.com' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/get_track_api_region_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_track_api/get_track_api_region_example_call_tool.js new file mode 100644 index 000000000..59733f524 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/get_track_api_region_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioTrackApi.GetTrackApiRegion"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = {}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/get_track_api_region_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_track_api/get_track_api_region_example_call_tool.py new file mode 100644 index 000000000..de423b4c2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/get_track_api_region_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioTrackApi.GetTrackApiRegion" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/global_unsubscribe_user_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_track_api/global_unsubscribe_user_example_call_tool.js new file mode 100644 index 000000000..99d866a9e --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/global_unsubscribe_user_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioTrackApi.GlobalUnsubscribeUser"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "delivery_id_for_unsubscription": "12345", + "set_unsubscribed_attribute": true +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/global_unsubscribe_user_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_track_api/global_unsubscribe_user_example_call_tool.py new file mode 100644 index 000000000..81c71daac --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/global_unsubscribe_user_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioTrackApi.GlobalUnsubscribeUser" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'delivery_id_for_unsubscription': '12345', 'set_unsubscribed_attribute': True +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/manage_entity_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_track_api/manage_entity_example_call_tool.js new file mode 100644 index 000000000..9e7a8e70a --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/manage_entity_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioTrackApi.ManageEntity"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"action\":\"create\",\"entity_type\":\"person\",\"data\":{\"name\":\"John Doe\",\"age\":30}}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/manage_entity_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_track_api/manage_entity_example_call_tool.py new file mode 100644 index 000000000..83e7ae286 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/manage_entity_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioTrackApi.ManageEntity" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"action":"create","entity_type":"person","data":{"name":"John ' + 'Doe","age":30}}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/merge_customer_profiles_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_track_api/merge_customer_profiles_example_call_tool.js new file mode 100644 index 000000000..9e7ab1d99 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/merge_customer_profiles_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioTrackApi.MergeCustomerProfiles"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"primary_profile_id\":\"12345\",\"secondary_profile_id\":\"67890\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/merge_customer_profiles_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_track_api/merge_customer_profiles_example_call_tool.py new file mode 100644 index 000000000..566f5480d --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/merge_customer_profiles_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioTrackApi.MergeCustomerProfiles" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"primary_profile_id":"12345","secondary_profile_id":"67890"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/remove_customer_device_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_track_api/remove_customer_device_example_call_tool.js new file mode 100644 index 000000000..ff178d7a0 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/remove_customer_device_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioTrackApi.RemoveCustomerDevice"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "customer_identifier": "john.doe@example.com", + "device_unique_id": "device_12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/remove_customer_device_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_track_api/remove_customer_device_example_call_tool.py new file mode 100644 index 000000000..fe285ecd4 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/remove_customer_device_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioTrackApi.RemoveCustomerDevice" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'customer_identifier': 'john.doe@example.com', 'device_unique_id': 'device_12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/remove_user_from_segment_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_track_api/remove_user_from_segment_example_call_tool.js new file mode 100644 index 000000000..f5c482fd9 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/remove_user_from_segment_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioTrackApi.RemoveUserFromSegment"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "segment_identifier": 123, + "identification_type": "email", + "request_body": "{\"user_ids\":[\"user1@example.com\",\"user2@example.com\"]}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/remove_user_from_segment_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_track_api/remove_user_from_segment_example_call_tool.py new file mode 100644 index 000000000..70bb2c34a --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/remove_user_from_segment_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioTrackApi.RemoveUserFromSegment" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'segment_identifier': 123, + 'identification_type': 'email', + 'request_body': '{"user_ids":["user1@example.com","user2@example.com"]}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/report_custom_metrics_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_track_api/report_custom_metrics_example_call_tool.js new file mode 100644 index 000000000..4d918a133 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/report_custom_metrics_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioTrackApi.ReportCustomMetrics"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"metric\":\"user_clicks\",\"value\":100,\"timestamp\":\"2023-10-01T12:00:00Z\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/report_custom_metrics_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_track_api/report_custom_metrics_example_call_tool.py new file mode 100644 index 000000000..10252cd9f --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/report_custom_metrics_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioTrackApi.ReportCustomMetrics" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"metric":"user_clicks","value":100,"timestamp":"2023-10-01T12:00:00Z"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/send_customer_event_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_track_api/send_customer_event_example_call_tool.js new file mode 100644 index 000000000..a738aeba1 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/send_customer_event_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioTrackApi.SendCustomerEvent"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "customer_identifier": "customer123", + "request_body": "{\"event\":\"page_view\",\"timestamp\":\"2023-10-01T12:00:00Z\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/send_customer_event_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_track_api/send_customer_event_example_call_tool.py new file mode 100644 index 000000000..669a507ac --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/send_customer_event_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioTrackApi.SendCustomerEvent" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'customer_identifier': 'customer123', + 'request_body': '{"event":"page_view","timestamp":"2023-10-01T12:00:00Z"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/submit_form_response_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_track_api/submit_form_response_example_call_tool.js new file mode 100644 index 000000000..4d93eef8d --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/submit_form_response_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioTrackApi.SubmitFormResponse"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "form_identifier": "contact_form_123", + "request_body": "{\"id\":\"user_456\",\"email\":\"user@example.com\",\"response\":\"This is a sample response.\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/submit_form_response_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_track_api/submit_form_response_example_call_tool.py new file mode 100644 index 000000000..fdcc5e18d --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/submit_form_response_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioTrackApi.SubmitFormResponse" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'form_identifier': 'contact_form_123', + 'request_body': '{"id":"user_456","email":"user@example.com","response":"This is a sample ' + 'response."}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/suppress_customer_profile_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_track_api/suppress_customer_profile_example_call_tool.js new file mode 100644 index 000000000..68b646c2f --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/suppress_customer_profile_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioTrackApi.SuppressCustomerProfile"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "unique_person_identifier": "cio_12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/suppress_customer_profile_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_track_api/suppress_customer_profile_example_call_tool.py new file mode 100644 index 000000000..74b345ccf --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/suppress_customer_profile_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioTrackApi.SuppressCustomerProfile" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'unique_person_identifier': 'cio_12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/track_anonymous_event_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_track_api/track_anonymous_event_example_call_tool.js new file mode 100644 index 000000000..086bcb276 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/track_anonymous_event_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioTrackApi.TrackAnonymousEvent"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"event_type\":\"page\",\"event_name\":\"homepage_visit\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/track_anonymous_event_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_track_api/track_anonymous_event_example_call_tool.py new file mode 100644 index 000000000..0400fc9b4 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/track_anonymous_event_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioTrackApi.TrackAnonymousEvent" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"event_type":"page","event_name":"homepage_visit"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/unsuppress_customer_profile_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_track_api/unsuppress_customer_profile_example_call_tool.js new file mode 100644 index 000000000..76ade2d32 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/unsuppress_customer_profile_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioTrackApi.UnsuppressCustomerProfile"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "customer_identifier": "john.doe@example.com" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/unsuppress_customer_profile_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_track_api/unsuppress_customer_profile_example_call_tool.py new file mode 100644 index 000000000..77bffb237 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/unsuppress_customer_profile_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioTrackApi.UnsuppressCustomerProfile" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'customer_identifier': 'john.doe@example.com' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/update_or_add_person_example_call_tool.js b/public/examples/integrations/mcp-servers/customerio_track_api/update_or_add_person_example_call_tool.js new file mode 100644 index 000000000..63dd14069 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/update_or_add_person_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "CustomerioTrackApi.UpdateOrAddPerson"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "person_identifier": "cio_12345", + "request_body": "{\"name\":\"John Doe\",\"email\":\"john.doe@example.com\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/customerio_track_api/update_or_add_person_example_call_tool.py b/public/examples/integrations/mcp-servers/customerio_track_api/update_or_add_person_example_call_tool.py new file mode 100644 index 000000000..055409636 --- /dev/null +++ b/public/examples/integrations/mcp-servers/customerio_track_api/update_or_add_person_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "CustomerioTrackApi.UpdateOrAddPerson" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'person_identifier': 'cio_12345', + 'request_body': '{"name":"John Doe","email":"john.doe@example.com"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) From d8502e40b40b98cfc42b7d371fafad9f867f7f66 Mon Sep 17 00:00:00 2001 From: Renato Byrro Date: Mon, 10 Nov 2025 16:54:37 -0300 Subject: [PATCH 2/3] fix description --- .../customerio-pipelines-api/page.mdx | 118 +++++--- .../customerio-track-api/page.mdx | 257 +++++++++++++----- 2 files changed, 266 insertions(+), 109 deletions(-) diff --git a/app/en/mcp-servers/customer-support/customerio-pipelines-api/page.mdx b/app/en/mcp-servers/customer-support/customerio-pipelines-api/page.mdx index aefed3107..68160d30a 100644 --- a/app/en/mcp-servers/customer-support/customerio-pipelines-api/page.mdx +++ b/app/en/mcp-servers/customer-support/customerio-pipelines-api/page.mdx @@ -1,4 +1,5 @@ # CustomerioPipelinesApi + import StarterToolInfo from "@/app/_components/starter-tool-info"; import ToolInfo from "@/app/_components/tool-info"; import Badges from "@/app/_components/badges"; @@ -18,29 +19,45 @@ import { Callout } from "nextra/components"; -The CustomerioPipelinesApi MCP Server offers a comprehensive set of tools for managing user data and tracking interactions within Customer.io. With this server, users can: +The CustomerioPipelinesApi MCP Server offers a comprehensive set of tools for managing user data and tracking interactions within Customer.io. ## Available Tools If you need to perform an action that's not listed here, you can [get in touch - with us](mailto:contact@arcade.dev) to request a new tool, or [create your - own tools](/home/build-tools/create-a-mcp-server). + with us](mailto:contact@arcade.dev) to request a new tool, or [create your own + tools](/home/build-tools/create-a-mcp-server). ## CustomerioPipelinesApi.IdentifyPersonAndAssignTraits @@ -51,8 +68,12 @@ The CustomerioPipelinesApi MCP Server offers a comprehensive set of tools for ma { label: "Call the Tool Directly", content: { - Python: ["/examples/integrations/mcp-servers/customerio_pipelines_api/identify_person_and_assign_traits_example_call_tool.py"], - JavaScript: ["/examples/integrations/mcp-servers/customerio_pipelines_api/identify_person_and_assign_traits_example_call_tool.js"], + Python: [ + "/examples/integrations/mcp-servers/customerio_pipelines_api/identify_person_and_assign_traits_example_call_tool.py", + ], + JavaScript: [ + "/examples/integrations/mcp-servers/customerio_pipelines_api/identify_person_and_assign_traits_example_call_tool.js", + ], }, }, ]} @@ -63,7 +84,7 @@ Identify a person and assign traits using Customerio. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation -- **enable_strict_validation** (`string`, optional) Set to `True` to enable strict HTTP error validation (400/401) for validation failures. Defaults to permissive mode when `False`. Only used when mode is 'execute'. +- **enable_strict_validation** (`string`, optional) Set to `True` to enable strict HTTP error validation (400/401) for validation failures. Defaults to permissive mode when `False`. Only used when mode is 'execute'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' **Secrets** @@ -78,8 +99,12 @@ This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [co { label: "Call the Tool Directly", content: { - Python: ["/examples/integrations/mcp-servers/customerio_pipelines_api/track_user_event_example_call_tool.py"], - JavaScript: ["/examples/integrations/mcp-servers/customerio_pipelines_api/track_user_event_example_call_tool.js"], + Python: [ + "/examples/integrations/mcp-servers/customerio_pipelines_api/track_user_event_example_call_tool.py", + ], + JavaScript: [ + "/examples/integrations/mcp-servers/customerio_pipelines_api/track_user_event_example_call_tool.js", + ], }, }, ]} @@ -90,7 +115,7 @@ Record user events with properties for analysis. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation -- **enable_strict_validation** (`string`, optional) Set to `True` to enable strict validation and return error codes (400/401) for validation failures. `False` for permissive mode. Only used when mode is 'execute'. +- **enable_strict_validation** (`string`, optional) Set to `True` to enable strict validation and return error codes (400/401) for validation failures. `False` for permissive mode. Only used when mode is 'execute'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' **Secrets** @@ -105,8 +130,12 @@ This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [co { label: "Call the Tool Directly", content: { - Python: ["/examples/integrations/mcp-servers/customerio_pipelines_api/send_page_view_event_example_call_tool.py"], - JavaScript: ["/examples/integrations/mcp-servers/customerio_pipelines_api/send_page_view_event_example_call_tool.js"], + Python: [ + "/examples/integrations/mcp-servers/customerio_pipelines_api/send_page_view_event_example_call_tool.py", + ], + JavaScript: [ + "/examples/integrations/mcp-servers/customerio_pipelines_api/send_page_view_event_example_call_tool.js", + ], }, }, ]} @@ -117,7 +146,7 @@ Sends a page view event for tracking user interactions. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation -- **enable_strict_mode** (`string`, optional) Set to '1' to enable strict validation, returning 400/401 for errors. Any other value uses permissive mode logging. Only used when mode is 'execute'. +- **enable_strict_mode** (`string`, optional) Set to '1' to enable strict validation, returning 400/401 for errors. Any other value uses permissive mode logging. Only used when mode is 'execute'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' **Secrets** @@ -132,8 +161,12 @@ This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [co { label: "Call the Tool Directly", content: { - Python: ["/examples/integrations/mcp-servers/customerio_pipelines_api/send_screen_view_event_example_call_tool.py"], - JavaScript: ["/examples/integrations/mcp-servers/customerio_pipelines_api/send_screen_view_event_example_call_tool.js"], + Python: [ + "/examples/integrations/mcp-servers/customerio_pipelines_api/send_screen_view_event_example_call_tool.py", + ], + JavaScript: [ + "/examples/integrations/mcp-servers/customerio_pipelines_api/send_screen_view_event_example_call_tool.js", + ], }, }, ]} @@ -144,7 +177,7 @@ Send a screen view event for app usage analytics. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation -- **enable_strict_validation** (`string`, optional) Enable strict validation for returning proper HTTP error codes (400/401) for failures. Set to `1` to enable. Only used when mode is 'execute'. +- **enable_strict_validation** (`string`, optional) Enable strict validation for returning proper HTTP error codes (400/401) for failures. Set to `1` to enable. Only used when mode is 'execute'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' **Secrets** @@ -159,8 +192,12 @@ This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [co { label: "Call the Tool Directly", content: { - Python: ["/examples/integrations/mcp-servers/customerio_pipelines_api/add_to_group_example_call_tool.py"], - JavaScript: ["/examples/integrations/mcp-servers/customerio_pipelines_api/add_to_group_example_call_tool.js"], + Python: [ + "/examples/integrations/mcp-servers/customerio_pipelines_api/add_to_group_example_call_tool.py", + ], + JavaScript: [ + "/examples/integrations/mcp-servers/customerio_pipelines_api/add_to_group_example_call_tool.js", + ], }, }, ]} @@ -171,7 +208,7 @@ Add a person to a specified group. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation -- **enable_strict_validation** (`string`, optional) Set to '1' to enable strict validation, returning HTTP error codes for validation failures. Otherwise, the API operates in permissive mode. Only used when mode is 'execute'. +- **enable_strict_validation** (`string`, optional) Set to '1' to enable strict validation, returning HTTP error codes for validation failures. Otherwise, the API operates in permissive mode. Only used when mode is 'execute'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' **Secrets** @@ -186,8 +223,12 @@ This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [co { label: "Call the Tool Directly", content: { - Python: ["/examples/integrations/mcp-servers/customerio_pipelines_api/alias_user_identity_example_call_tool.py"], - JavaScript: ["/examples/integrations/mcp-servers/customerio_pipelines_api/alias_user_identity_example_call_tool.js"], + Python: [ + "/examples/integrations/mcp-servers/customerio_pipelines_api/alias_user_identity_example_call_tool.py", + ], + JavaScript: [ + "/examples/integrations/mcp-servers/customerio_pipelines_api/alias_user_identity_example_call_tool.js", + ], }, }, ]} @@ -198,7 +239,7 @@ Reconcile anonymous and identified user IDs for select destinations. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation -- **enable_strict_validation** (`string`, optional) Set to 'True' to enable strict validation, returning HTTP error codes (400/401) for validation failures. Defaults to permissive mode if not set. Only used when mode is 'execute'. +- **enable_strict_validation** (`string`, optional) Set to 'True' to enable strict validation, returning HTTP error codes (400/401) for validation failures. Defaults to permissive mode if not set. Only used when mode is 'execute'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' **Secrets** @@ -213,8 +254,12 @@ This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [co { label: "Call the Tool Directly", content: { - Python: ["/examples/integrations/mcp-servers/customerio_pipelines_api/send_batch_requests_example_call_tool.py"], - JavaScript: ["/examples/integrations/mcp-servers/customerio_pipelines_api/send_batch_requests_example_call_tool.js"], + Python: [ + "/examples/integrations/mcp-servers/customerio_pipelines_api/send_batch_requests_example_call_tool.py", + ], + JavaScript: [ + "/examples/integrations/mcp-servers/customerio_pipelines_api/send_batch_requests_example_call_tool.js", + ], }, }, ]} @@ -225,14 +270,13 @@ Send multiple requests in a single batch call. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation -- **enable_strict_mode** (`string`, optional) Set to `True` to enable strict validation, returning HTTP error codes (400/401) for validation failures instead of HTTP 200. Only used when mode is 'execute'. +- **enable_strict_mode** (`string`, optional) Set to `True` to enable strict validation, returning HTTP error codes (400/401) for validation failures instead of HTTP 200. Only used when mode is 'execute'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' **Secrets** This tool requires the following secrets: `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) - ## Reference Below is a reference of enumerations used by some of the tools in the CustomerioPipelinesApi MCP Server: @@ -242,6 +286,4 @@ Below is a reference of enumerations used by some of the tools in the Customerio - **GET_REQUEST_SCHEMA**: `get_request_schema` - **EXECUTE**: `execute` - - - \ No newline at end of file + diff --git a/app/en/mcp-servers/customer-support/customerio-track-api/page.mdx b/app/en/mcp-servers/customer-support/customerio-track-api/page.mdx index d40cf5a23..c6de71b58 100644 --- a/app/en/mcp-servers/customer-support/customerio-track-api/page.mdx +++ b/app/en/mcp-servers/customer-support/customerio-track-api/page.mdx @@ -1,4 +1,5 @@ # CustomerioTrackApi + import StarterToolInfo from "@/app/_components/starter-tool-info"; import ToolInfo from "@/app/_components/tool-info"; import Badges from "@/app/_components/badges"; @@ -18,39 +19,88 @@ import { Callout } from "nextra/components"; -The CustomerioTrackApi MCP Server offers a comprehensive suite of tools for managing customer data and interactions within Customer.io. Users can perform a variety of actions, including: +The CustomerioTrackApi MCP Server offers a comprehensive suite of tools for managing customer data and interactions within Customer.io. ## Available Tools If you need to perform an action that's not listed here, you can [get in touch - with us](mailto:contact@arcade.dev) to request a new tool, or [create your - own tools](/home/build-tools/create-a-mcp-server). + with us](mailto:contact@arcade.dev) to request a new tool, or [create your own + tools](/home/build-tools/create-a-mcp-server). ## CustomerioTrackApi.GetTrackApiRegion @@ -61,8 +111,12 @@ The CustomerioTrackApi MCP Server offers a comprehensive suite of tools for mana { label: "Call the Tool Directly", content: { - Python: ["/examples/integrations/mcp-servers/customerio_track_api/get_track_api_region_example_call_tool.py"], - JavaScript: ["/examples/integrations/mcp-servers/customerio_track_api/get_track_api_region_example_call_tool.js"], + Python: [ + "/examples/integrations/mcp-servers/customerio_track_api/get_track_api_region_example_call_tool.py", + ], + JavaScript: [ + "/examples/integrations/mcp-servers/customerio_track_api/get_track_api_region_example_call_tool.js", + ], }, }, ]} @@ -85,8 +139,12 @@ This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_ { label: "Call the Tool Directly", content: { - Python: ["/examples/integrations/mcp-servers/customerio_track_api/update_or_add_person_example_call_tool.py"], - JavaScript: ["/examples/integrations/mcp-servers/customerio_track_api/update_or_add_person_example_call_tool.js"], + Python: [ + "/examples/integrations/mcp-servers/customerio_track_api/update_or_add_person_example_call_tool.py", + ], + JavaScript: [ + "/examples/integrations/mcp-servers/customerio_track_api/update_or_add_person_example_call_tool.js", + ], }, }, ]} @@ -97,7 +155,7 @@ Add or update a person's information in the database. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation -- **person_identifier** (`string`, optional) The unique value used to identify a person, such as an ID, email, or `cio_id` (with `cio_` prefix for updates). Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **person_identifier** (`string`, optional) The unique value used to identify a person, such as an ID, email, or `cio_id` (with `cio_` prefix for updates). Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' **Secrets** @@ -112,8 +170,12 @@ This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_ { label: "Call the Tool Directly", content: { - Python: ["/examples/integrations/mcp-servers/customerio_track_api/delete_customer_example_call_tool.py"], - JavaScript: ["/examples/integrations/mcp-servers/customerio_track_api/delete_customer_example_call_tool.js"], + Python: [ + "/examples/integrations/mcp-servers/customerio_track_api/delete_customer_example_call_tool.py", + ], + JavaScript: [ + "/examples/integrations/mcp-servers/customerio_track_api/delete_customer_example_call_tool.js", + ], }, }, ]} @@ -123,7 +185,7 @@ Delete a customer and all associated information. **Parameters** -- **customer_identifier** (`string`, required) The unique identifier for a person, which can be an ID, email, or 'cio_id'. Use 'cio_' prefix for 'cio_id'. +- **customer_identifier** (`string`, required) The unique identifier for a person, which can be an ID, email, or 'cio*id'. Use 'cio*' prefix for 'cio_id'. **Secrets** @@ -137,8 +199,12 @@ This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_ { label: "Call the Tool Directly", content: { - Python: ["/examples/integrations/mcp-servers/customerio_track_api/add_device_to_customer_profile_example_call_tool.py"], - JavaScript: ["/examples/integrations/mcp-servers/customerio_track_api/add_device_to_customer_profile_example_call_tool.js"], + Python: [ + "/examples/integrations/mcp-servers/customerio_track_api/add_device_to_customer_profile_example_call_tool.py", + ], + JavaScript: [ + "/examples/integrations/mcp-servers/customerio_track_api/add_device_to_customer_profile_example_call_tool.js", + ], }, }, ]} @@ -149,7 +215,7 @@ Add or update a device for a customer profile. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation -- **unique_person_identifier** (`string`, optional) A unique identifier for a person, such as `id`, `email`, or `cio_id` prefixed with `cio_`. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **unique_person_identifier** (`string`, optional) A unique identifier for a person, such as `id`, `email`, or `cio_id` prefixed with `cio_`. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' **Secrets** @@ -164,8 +230,12 @@ This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_ { label: "Call the Tool Directly", content: { - Python: ["/examples/integrations/mcp-servers/customerio_track_api/remove_customer_device_example_call_tool.py"], - JavaScript: ["/examples/integrations/mcp-servers/customerio_track_api/remove_customer_device_example_call_tool.js"], + Python: [ + "/examples/integrations/mcp-servers/customerio_track_api/remove_customer_device_example_call_tool.py", + ], + JavaScript: [ + "/examples/integrations/mcp-servers/customerio_track_api/remove_customer_device_example_call_tool.js", + ], }, }, ]} @@ -190,8 +260,12 @@ This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_ { label: "Call the Tool Directly", content: { - Python: ["/examples/integrations/mcp-servers/customerio_track_api/suppress_customer_profile_example_call_tool.py"], - JavaScript: ["/examples/integrations/mcp-servers/customerio_track_api/suppress_customer_profile_example_call_tool.js"], + Python: [ + "/examples/integrations/mcp-servers/customerio_track_api/suppress_customer_profile_example_call_tool.py", + ], + JavaScript: [ + "/examples/integrations/mcp-servers/customerio_track_api/suppress_customer_profile_example_call_tool.js", + ], }, }, ]} @@ -201,7 +275,7 @@ Permanently delete and suppress a customer profile. **Parameters** -- **unique_person_identifier** (`string`, required) The unique identifier for a customer, which can be an ID, email, or 'cio_id' (prefixed with 'cio_'). +- **unique_person_identifier** (`string`, required) The unique identifier for a customer, which can be an ID, email, or 'cio*id' (prefixed with 'cio*'). **Secrets** @@ -215,8 +289,12 @@ This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_ { label: "Call the Tool Directly", content: { - Python: ["/examples/integrations/mcp-servers/customerio_track_api/unsuppress_customer_profile_example_call_tool.py"], - JavaScript: ["/examples/integrations/mcp-servers/customerio_track_api/unsuppress_customer_profile_example_call_tool.js"], + Python: [ + "/examples/integrations/mcp-servers/customerio_track_api/unsuppress_customer_profile_example_call_tool.py", + ], + JavaScript: [ + "/examples/integrations/mcp-servers/customerio_track_api/unsuppress_customer_profile_example_call_tool.js", + ], }, }, ]} @@ -240,8 +318,12 @@ This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_ { label: "Call the Tool Directly", content: { - Python: ["/examples/integrations/mcp-servers/customerio_track_api/global_unsubscribe_user_example_call_tool.py"], - JavaScript: ["/examples/integrations/mcp-servers/customerio_track_api/global_unsubscribe_user_example_call_tool.js"], + Python: [ + "/examples/integrations/mcp-servers/customerio_track_api/global_unsubscribe_user_example_call_tool.py", + ], + JavaScript: [ + "/examples/integrations/mcp-servers/customerio_track_api/global_unsubscribe_user_example_call_tool.js", + ], }, }, ]} @@ -266,8 +348,12 @@ This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_ { label: "Call the Tool Directly", content: { - Python: ["/examples/integrations/mcp-servers/customerio_track_api/send_customer_event_example_call_tool.py"], - JavaScript: ["/examples/integrations/mcp-servers/customerio_track_api/send_customer_event_example_call_tool.js"], + Python: [ + "/examples/integrations/mcp-servers/customerio_track_api/send_customer_event_example_call_tool.py", + ], + JavaScript: [ + "/examples/integrations/mcp-servers/customerio_track_api/send_customer_event_example_call_tool.js", + ], }, }, ]} @@ -278,7 +364,7 @@ Send an event associated with a customer by identifier. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation -- **customer_identifier** (`string`, optional) A unique identifier for a person, such as `id`, `email`, or `cio_id`, depending on workspace settings. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **customer_identifier** (`string`, optional) A unique identifier for a person, such as `id`, `email`, or `cio_id`, depending on workspace settings. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' **Secrets** @@ -293,8 +379,12 @@ This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_ { label: "Call the Tool Directly", content: { - Python: ["/examples/integrations/mcp-servers/customerio_track_api/track_anonymous_event_example_call_tool.py"], - JavaScript: ["/examples/integrations/mcp-servers/customerio_track_api/track_anonymous_event_example_call_tool.js"], + Python: [ + "/examples/integrations/mcp-servers/customerio_track_api/track_anonymous_event_example_call_tool.py", + ], + JavaScript: [ + "/examples/integrations/mcp-servers/customerio_track_api/track_anonymous_event_example_call_tool.js", + ], }, }, ]} @@ -319,8 +409,12 @@ This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_ { label: "Call the Tool Directly", content: { - Python: ["/examples/integrations/mcp-servers/customerio_track_api/submit_form_response_example_call_tool.py"], - JavaScript: ["/examples/integrations/mcp-servers/customerio_track_api/submit_form_response_example_call_tool.js"], + Python: [ + "/examples/integrations/mcp-servers/customerio_track_api/submit_form_response_example_call_tool.py", + ], + JavaScript: [ + "/examples/integrations/mcp-servers/customerio_track_api/submit_form_response_example_call_tool.js", + ], }, }, ]} @@ -331,7 +425,7 @@ Submit and record form responses with Customer.io. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation -- **form_identifier** (`string`, optional) The unique identifier for the form. If unrecognized, a new form connection is created. Choose a meaningful or traceable value. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **form_identifier** (`string`, optional) The unique identifier for the form. If unrecognized, a new form connection is created. Choose a meaningful or traceable value. Required when mode is 'execute', ignored when mode is 'get_request_schema'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' **Secrets** @@ -346,8 +440,12 @@ This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_ { label: "Call the Tool Directly", content: { - Python: ["/examples/integrations/mcp-servers/customerio_track_api/merge_customer_profiles_example_call_tool.py"], - JavaScript: ["/examples/integrations/mcp-servers/customerio_track_api/merge_customer_profiles_example_call_tool.js"], + Python: [ + "/examples/integrations/mcp-servers/customerio_track_api/merge_customer_profiles_example_call_tool.py", + ], + JavaScript: [ + "/examples/integrations/mcp-servers/customerio_track_api/merge_customer_profiles_example_call_tool.js", + ], }, }, ]} @@ -372,8 +470,12 @@ This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_ { label: "Call the Tool Directly", content: { - Python: ["/examples/integrations/mcp-servers/customerio_track_api/report_custom_metrics_example_call_tool.py"], - JavaScript: ["/examples/integrations/mcp-servers/customerio_track_api/report_custom_metrics_example_call_tool.js"], + Python: [ + "/examples/integrations/mcp-servers/customerio_track_api/report_custom_metrics_example_call_tool.py", + ], + JavaScript: [ + "/examples/integrations/mcp-servers/customerio_track_api/report_custom_metrics_example_call_tool.js", + ], }, }, ]} @@ -398,8 +500,12 @@ This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_ { label: "Call the Tool Directly", content: { - Python: ["/examples/integrations/mcp-servers/customerio_track_api/add_people_to_segment_example_call_tool.py"], - JavaScript: ["/examples/integrations/mcp-servers/customerio_track_api/add_people_to_segment_example_call_tool.js"], + Python: [ + "/examples/integrations/mcp-servers/customerio_track_api/add_people_to_segment_example_call_tool.py", + ], + JavaScript: [ + "/examples/integrations/mcp-servers/customerio_track_api/add_people_to_segment_example_call_tool.js", + ], }, }, ]} @@ -410,8 +516,8 @@ Add people to a manual segment by ID. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation -- **segment_identifier** (`integer`, optional) The unique identifier for a manual segment. This can be found on its page in the dashboard or via the App API. Required when mode is 'execute', ignored when mode is 'get_request_schema'. -- **identifier_type** (`string`, optional) Specifies the type of identifiers in the `ids` array, such as `id`, `email`, or `cio_id`. Defaults to `id`. Only used when mode is 'execute'. +- **segment_identifier** (`integer`, optional) The unique identifier for a manual segment. This can be found on its page in the dashboard or via the App API. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **identifier_type** (`string`, optional) Specifies the type of identifiers in the `ids` array, such as `id`, `email`, or `cio_id`. Defaults to `id`. Only used when mode is 'execute'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' **Secrets** @@ -426,8 +532,12 @@ This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_ { label: "Call the Tool Directly", content: { - Python: ["/examples/integrations/mcp-servers/customerio_track_api/remove_user_from_segment_example_call_tool.py"], - JavaScript: ["/examples/integrations/mcp-servers/customerio_track_api/remove_user_from_segment_example_call_tool.js"], + Python: [ + "/examples/integrations/mcp-servers/customerio_track_api/remove_user_from_segment_example_call_tool.py", + ], + JavaScript: [ + "/examples/integrations/mcp-servers/customerio_track_api/remove_user_from_segment_example_call_tool.js", + ], }, }, ]} @@ -438,8 +548,8 @@ Remove users from a manual segment by ID. **Parameters** - **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation -- **segment_identifier** (`integer`, optional) The unique identifier for the segment. Found on the segment's page in the dashboard under 'Usage'. Required when mode is 'execute', ignored when mode is 'get_request_schema'. -- **identification_type** (`string`, optional) The type of identifiers used for the users to be removed. Options are 'id', 'email', or 'cio_id'. Defaults to 'id' if not specified. Only used when mode is 'execute'. +- **segment_identifier** (`integer`, optional) The unique identifier for the segment. Found on the segment's page in the dashboard under 'Usage'. Required when mode is 'execute', ignored when mode is 'get_request_schema'. +- **identification_type** (`string`, optional) The type of identifiers used for the users to be removed. Options are 'id', 'email', or 'cio_id'. Defaults to 'id' if not specified. Only used when mode is 'execute'. - **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' **Secrets** @@ -454,8 +564,12 @@ This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_ { label: "Call the Tool Directly", content: { - Python: ["/examples/integrations/mcp-servers/customerio_track_api/manage_entity_example_call_tool.py"], - JavaScript: ["/examples/integrations/mcp-servers/customerio_track_api/manage_entity_example_call_tool.js"], + Python: [ + "/examples/integrations/mcp-servers/customerio_track_api/manage_entity_example_call_tool.py", + ], + JavaScript: [ + "/examples/integrations/mcp-servers/customerio_track_api/manage_entity_example_call_tool.js", + ], }, }, ]} @@ -480,8 +594,12 @@ This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_ { label: "Call the Tool Directly", content: { - Python: ["/examples/integrations/mcp-servers/customerio_track_api/batch_process_requests_example_call_tool.py"], - JavaScript: ["/examples/integrations/mcp-servers/customerio_track_api/batch_process_requests_example_call_tool.js"], + Python: [ + "/examples/integrations/mcp-servers/customerio_track_api/batch_process_requests_example_call_tool.py", + ], + JavaScript: [ + "/examples/integrations/mcp-servers/customerio_track_api/batch_process_requests_example_call_tool.js", + ], }, }, ]} @@ -498,7 +616,6 @@ Batch process requests for people and object entities. This tool requires the following secrets: `CUSTOMERIO_SITE_ID`, `CUSTOMERIO_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) - ## Reference Below is a reference of enumerations used by some of the tools in the CustomerioTrackApi MCP Server: @@ -508,6 +625,4 @@ Below is a reference of enumerations used by some of the tools in the Customerio - **GET_REQUEST_SCHEMA**: `get_request_schema` - **EXECUTE**: `execute` - - - \ No newline at end of file + From 6768f7f9120e677d1d5ad73f31c086815db7b61d Mon Sep 17 00:00:00 2001 From: Renato Byrro Date: Mon, 10 Nov 2025 17:39:23 -0300 Subject: [PATCH 3/3] upgrade design-system --- package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 6858cfcd9..e70c59395 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ }, "homepage": "https://arcade.dev/", "dependencies": { - "@arcadeai/design-system": "^3.18.0", + "@arcadeai/design-system": "^3.20.0", "@next/third-parties": "16.0.1", "@ory/client": "1.22.7", "@theguild/remark-mermaid": "0.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5879e503c..06cfe5a32 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,8 +9,8 @@ importers: .: dependencies: '@arcadeai/design-system': - specifier: ^3.18.0 - version: 3.18.0(@hookform/resolvers@5.2.2(react-hook-form@7.65.0(react@19.2.0)))(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(lucide-react@0.548.0(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react-hook-form@7.65.0(react@19.2.0))(react@19.2.0)(recharts@3.3.0(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react-is@16.13.1)(react@19.2.0)(redux@5.0.1))(tailwindcss@4.1.16)(vite@7.1.12(@types/node@24.9.2)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.1)) + specifier: ^3.20.0 + version: 3.20.0(@hookform/resolvers@5.2.2(react-hook-form@7.65.0(react@19.2.0)))(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(lucide-react@0.548.0(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react-hook-form@7.65.0(react@19.2.0))(react@19.2.0)(recharts@3.3.0(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react-is@16.13.1)(react@19.2.0)(redux@5.0.1))(tailwindcss@4.1.16)(vite@7.1.12(@types/node@24.9.2)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.1)) '@next/third-parties': specifier: 16.0.1 version: 16.0.1(next@16.0.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0) @@ -172,8 +172,8 @@ packages: '@arcadeai/arcadejs@1.11.1': resolution: {integrity: sha512-6AKMTO/cT/bj3GGMF4F76R2oC/FXIfkkXr6k/5/55NmUdpyzdqb5HhPN1M1txLoKIUc0/BGP8anM9lPFxwRW5g==} - '@arcadeai/design-system@3.18.0': - resolution: {integrity: sha512-9wZa/g07T98NqeU08L2fm3Njs497ItjqqG+wsxu2P9p8HbTkyfR+JEgPgVUx7vQi9lxqlttB97IKAQ0+2SzIig==} + '@arcadeai/design-system@3.20.0': + resolution: {integrity: sha512-XKoOUN88mUB7C8N/7CjbJytPkjB2BCkx7MjKXsaO7A0vIIBW1FZGgP7q7+hS2VEp8KyxlN+/ZbaV3Z7MxShiqA==} engines: {node: '>=20.17.0'} peerDependencies: '@hookform/resolvers': ^5.2.1 @@ -4756,7 +4756,7 @@ snapshots: transitivePeerDependencies: - encoding - '@arcadeai/design-system@3.18.0(@hookform/resolvers@5.2.2(react-hook-form@7.65.0(react@19.2.0)))(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(lucide-react@0.548.0(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react-hook-form@7.65.0(react@19.2.0))(react@19.2.0)(recharts@3.3.0(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react-is@16.13.1)(react@19.2.0)(redux@5.0.1))(tailwindcss@4.1.16)(vite@7.1.12(@types/node@24.9.2)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.1))': + '@arcadeai/design-system@3.20.0(@hookform/resolvers@5.2.2(react-hook-form@7.65.0(react@19.2.0)))(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(lucide-react@0.548.0(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react-hook-form@7.65.0(react@19.2.0))(react@19.2.0)(recharts@3.3.0(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react-is@16.13.1)(react@19.2.0)(redux@5.0.1))(tailwindcss@4.1.16)(vite@7.1.12(@types/node@24.9.2)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.1))': dependencies: '@arcadeai/arcadejs': 1.11.1 '@hookform/resolvers': 5.2.2(react-hook-form@7.65.0(react@19.2.0))